【问题标题】:Windows (.lnk) shortcuts API?Windows (.lnk) 快捷方式 API?
【发布时间】:2012-05-07 18:10:38
【问题描述】:

是否有任何功能可以让您在 Windows 中创建快捷方式,就像在 Linux 中创建符号链接一样?我希望能够编辑诸如目标和名称之类的内容,而不是每次由于更新而想更改某些内容时都必须重新创建一个全新的快捷方式。

我尝试在文本编辑器中打开一个.lnk 文件,它是一大堆gobbelty gook。我想知道为什么它是半二进制的,因为 Linux 上的快捷方式就像一个 .ini 文件,简单易用。我担心如果我浏览数据,我可能会打乱某种校验和,并且快捷方式将不起作用,这就是为什么我想知道是否应该调用特定的 API 来修补这些对象。

更新:我找到了一个查询快捷方式数据的功能 MsiGetShortcutTarget() http://msdn.microsoft.com/en-us/library/windows/desktop/aa370299(v=vs.85).aspx ,但还没有创建或修改快捷方式。

【问题讨论】:

  • MsiGetShortcutTarget() 用于 Windows Installer 链接文件,而不是一般链接文件。您链接到的文档甚至说对MsiGetShortcutTarget() 无法加载的文件使用IShellLink
  • 在 Windows 中,Shell 链接(或快捷方式)和符号链接是两个不同的东西。要创建符号链接,请使用 CreateSymbolicLink()。

标签: c++ windows shortcuts


【解决方案1】:

有关外壳链接的 MSDN 文档,请参阅 here

【讨论】:

  • 创建快捷方式似乎很烦人......不过我想一切都是这样的。
  • Windows Shell 中的大部分内容都是通过 COM 对象访问的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 2013-08-04
  • 2010-09-25
相关资源
最近更新 更多