代码之家  ›  专栏  ›  技术社区  ›  Sasha Chedygov

如何使用C#(WPF)读取安装程序快捷方式

  •  0
  • Sasha Chedygov  · 技术社区  · 15 年前

    我决定通过WPF自学C#,我正在编写一个小应用程序,需要获得开始菜单快捷方式列表及其目标并存储它们。基本上,我尝试使用所有的快捷方式,并将其目标应用程序的路径放入内存中。然而,我在尝试阅读Windows Installer快捷方式时遇到了一个问题(这些快捷方式指向 C:\Windows\Installer\{90120000-0030-0000-0000-0000000FF1CE}\wordicon.exe --Microsoft Office就是一个很好的例子)。我做了一些研究,似乎Windows使用了一些涉及注册表的幕后魔术来找到文件的实际位置。


    IShellLink 接口,但我不知道如何将其与C#一起使用。我更喜欢使用Windows API调用(或者更好的是,使用.NET库),而不是手动查看注册表,但我会接受有关此问题的任何指导。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Sasha Chedygov    15 年前

    在做了更多的研究之后,我找到了一个简单的答案 here MsiGetShortcutTarget MsiGetComponentPath 功能 msi.dll .

        2
  •  0
  •   Daniel Earwicker    15 年前

    但好消息是COM互操作在.NET中运行得非常好。该网站通常是一个非常好的资源:

    http://www.pinvoke.net/default.aspx/Interfaces/IShellLinkA.html