Более чем вероятно, по очень очевидной причине, когда я пытаюсь собрать или запустить мою программу, она ломается по этой функции ниже:
Public Function GetLnkTarget(lnkPath As String) As String
Dim shl = New Shell32.Shell()
lnkPath = System.IO.Path.GetFullPath(lnkPath)
Dim dir = shl.[NameSpace](System.IO.Path.GetDirectoryName(lnkPath))
Dim itm = dir.Items().Item(System.IO.Path.GetFileName(lnkPath))
Dim lnk = DirectCast(itm.GetLink, Shell32.ShellLinkObject)
Try
Return lnk.Target.Path
Catch ex As Exception
Return Nothing
End Try
End Function
Я получаю ошибку:
System.InvalidCastException
HResult = 0x80004002
Сообщение = Невозможно привести объект COM типа 'System .__ ComObject' к типу интерфейса 'Shell32.Shell'.Эта операция завершилась неудачно, поскольку вызов QueryInterface для компонента COM для интерфейса с IID '{286E6F1B-7113-4355-9562-96B7E9D64C54}' завершился ошибкой из-за следующей ошибки: такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE)).
Источник = Инструменты администратора
Любые отзывы / идеи о том, как я могу это сделать, были бы великолепны!