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
Навигация
Перейти к полной версии