2012-04-27 128 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

相關問題