如何从快捷方式lnk获取完整目标字符串

时间:2016-09-03 17:51:49

标签: c# .net vb.net vbscript

请我尝试从快捷方式文件中获取完整目标。我正在使用以下功能

Public Function GetLnkTarget(lnkPath As String) As String
        Dim Obj As Object
        Obj = CreateObject("WScript.Shell")
        Dim Shortcut As Object
        Shortcut = Obj.CreateShortcut(lnkPath)
        Return Shortcut.TargetPath.ToString
End Function

例如,我有一个带有以下目标的快捷方式.lnk文件:

C:\WINDOWS\system32\wscript.exe /e:VBScript.Encode Folder/skype.exe

当我使用该函数从以下.lnk获取目标时 d:\ Shortcut.lnk

GetLnkTarget("D:\Shortcut.lnk")

我得到以下输出

C:\WINDOWS\system32\wscript.exe

因此它不会返回Target的完整字符串作为" / e:VBScript.Encode Folder / skype.exe"输出中缺少。

1 个答案:

答案 0 :(得分:1)

您需要访问Shortcut.Arguments属性。请参阅此处以获取快捷方式对象的参考。

https://msdn.microsoft.com/en-us/library/f5y78918(v=vs.84).aspx

所以你的代码将是:

Return Shortcut.TargetPath.ToString & " " & Shortcut.Arguments