2012-04-27 104 views
5

是否有任何函数允许您在Windows中创建快捷方式,就像您可以在Linux中创建符号链接一样?我希望能够编辑目标和名称等内容,而不必在每次由于更新而需要更改内容时重新创建一个新的快捷方式。Windows(.lnk)快捷方式API?

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

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

+1

'MsiGetShortcutTarget()'用于Windows Installer链接文件,而不是通用链接文件。您链接的文档甚至认为对'MsiGetShortcutTarget()'未能加载的文件使用'IShellLink'。 – 2012-04-27 05:23:27

+0

在Windows中,Shell链接(或快捷方式)和符号链接是两个不同的东西。要创建符号链接,请使用CreateSymbolicLink()。 – 2014-02-16 22:54:57

回答

8

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

+1

这似乎令人讨厌创建快捷方式......我想所有事情都是这样。 – chris 2012-04-27 01:24:19

+0

Windows Shell中的大部分内容都是通过COM对象访问的。 – 2012-04-27 05:24:47

相关问题