【问题标题】:How to get Full Target String from Shortcut lnk如何从快捷方式 lnk 获取完整的目标字符串
【发布时间】:2016-09-03 17:51:48
【问题描述】:

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

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:\快捷方式.lnk

GetLnkTarget("D:\Shortcut.lnk")

我得到以下输出

C:\WINDOWS\system32\wscript.exe

因此它不会返回目标的完整字符串,因为输出中缺少“/e:VBScript.Encode Folder/skype.exe”。

【问题讨论】:

  • vbscript 与 VB.NET 不同,当然也与 c# 无关。那是目标,其余的都是Arguments到目标

标签: c# .net vb.net vbscript


【解决方案1】:

您需要访问Shortcut.Arguments 属性。快捷方式对象的参考请看这里。

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

所以你的代码将是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2011-03-26
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    相关资源
    最近更新 更多