【问题标题】:Creating Shortcut using .Net使用 .Net 创建快捷方式
【发布时间】:2009-04-08 12:50:30
【问题描述】:

我想使用 VBScript 代码在桌面上创建一个快捷方式。我的计算机中有一个虚拟驱动器。 (虚拟驱动器就像 G 驱动器)我希望这个快捷方式可以直接探索该驱动器。为此,我发现使用以下字符串作为 TargetPath 的快捷方式对我有用:

C:\WINDOWS\explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}::{89214D20-CAC1-4A33-8DF4-BD9D18A996B9}

使用 vb 脚本创建快捷方式时,我需要将上面的字符串括在“”中,这对我不起作用。我需要从创建的快捷方式的目标中删除“”,然后它才能工作。有什么方法可以让我以编程方式创建快捷方式,可以探索虚拟驱动器(在我的系统中可用)。我需要在 Vista 操作系统中获取它。

问候 Sumeet Nandan Garg

【问题讨论】:

    标签: .net shortcut


    【解决方案1】:

    Google 给出了很多有趣的结果。例如,this - 带有 P/Invoke 调用,似乎是一个答案。 (这是给你的帖子标签.NET

    Here VBScript 示例:

    Set shell = WScript.CreateObject("WScript.Shell")
    Set link= shell.CreateShortcut("Explorer.lnk")
    link.TargetPath = "c:\windows\explorer.exe"
    link.Save
    

    【讨论】:

    • 似乎我无法说出我所面临的确切情况。我需要以编程方式设置不带引号 (") 的 TargetPath。
    • “无引号”是什么意思?它有什么问题?你有一些字符串变量吗?
    • 我需要把它放在快捷方式的目标中:C:\WINDOWS\explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{89214D20-CAC1 -4A33-8DF4-BD9D18A996B9} 也没有包含在 ".
    • 第一个和最后一个引号仅表示字符串变量,不会放在目标快捷方式目标中
    • 当我手动检查快捷方式文件的属性时。我发现上面的字符串用“括起来。因此,我必须明确删除它们才能使其正常工作。
    【解决方案2】:

    我现在正在使用 Win32 方法,即 (IWshShortcut)shell.CreateShortcut() 以编程方式生成 .lnk 文件来创建快捷方式文件。它就像魅力一样。谢谢。!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 2012-08-05
      • 1970-01-01
      • 2013-03-14
      相关资源
      最近更新 更多