Visual Basic shell32.shell - PullRequest
       34

Visual Basic shell32.shell

0 голосов
/ 13 декабря 2018

Более чем вероятно, по очень очевидной причине, когда я пытаюсь собрать или запустить мою программу, она ломается по этой функции ниже:

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)).
Источник = Инструменты администратора

Любые отзывы / идеи о том, как я могу это сделать, были бы великолепны!

...