ADN Club > Inventor API

Что Inventor отправляет в буфер обмена?

(1/1)

filat18:
С среде сборки пользователь выделяет элемент и нажимает CTRL+C.
Какой тип данных оказывается в буфере обмена?
Основной вопрос: как из буфера получить FullFileName этого элемента?

mikazakov:
По всей видимости, в Инвенторе какой то свой буфер обмена, потому что в виндоуз 10 инвенторовский буфер не виден.

filat:
Буржуи дали недоответ на поставленный вопрос - кому интересно, можете поискать исходник на форуме Доски...
Я, как в том анекдоте: "...после сборки, Обработать! напильником...", допилил в меру своего понимания, авось кому поможет:

--- Код - vb.net [Выбрать] ---                'Get clipboard data format                Dim cbData = Clipboard.GetDataObject()                Dim getFormats As String() = cbData.GetFormats()                'Expected content                'mstgCF_ComponentSelection = selected occurrence                'Get data in readable format                Dim getData As Object = cbData.GetData("mstgCF_ComponentSelection")                Dim memStream As MemoryStream = getData                Dim memStreamArray As Byte() = memStream.ToArray()                Dim decoded = Encoding.Unicode.GetString(memStreamArray) ' в исходнике ASCII, но в нем кириллица идет лесом...                Dim decodedWithoutNullChars = decoded.Replace(vbNullChar, "")                oText = decodedWithoutNullChars.ToString                oText = Microsoft.VisualBasic.Left(oText, InStr(oText, "|") - 1)                oText = Mid(oText, InStr(oText, ":\") - 1, Len(oText))                If Not IO.File.Exists(oText) Then                    oText = My.Computer.Clipboard.GetText                End If

Навигация

[0] Главная страница сообщений

Перейти к полной версии