用 Win32 API 建立桌面快捷方式的一种方法
初次接觸這個(gè)問題,經(jīng)過查詢得知:API提供了一個(gè)COM接口調(diào)用, IShellLink 將允許你建立一個(gè)快捷方式,要在桌面建立一個(gè)快捷方式,只要把這個(gè)快捷方式保存到桌面目錄就可以了。可是這需要了解這個(gè)COM接口的調(diào)用方法,以及一些API的使用問題,如CreateShortCut,很繁瑣,一個(gè)小時(shí)下來也沒有結(jié)果。
我放棄了上面的想法,開始研究桌面快捷方式,通過對(duì)批處理建立的快捷方式的研究,發(fā)現(xiàn)當(dāng)你在桌面建立一個(gè)對(duì)應(yīng)的 .url 的文件即可,windows會(huì)將其解析為快捷方式。
假設(shè)你的目標(biāo)程序?yàn)?D:\IDEasm.exe,下面為其創(chuàng)建桌面快捷方式。
第一個(gè)問題就是:.url 文件的格式
對(duì)應(yīng)的 IDEasm.url 文件內(nèi)容及格式如下,(符號(hào) // 后為注釋部分,不在文件中)
---------------------------------------------
[InternetShortcut]//標(biāo)志
URL=D:\IDEasm.exe//目標(biāo)程序全路徑文件名
IconFile=D:\IDEasm.exe //以下設(shè)置IDEasm.url文件的圖標(biāo)
IconIndex=0
---------------------------------------------
寫完后保存,此文件會(huì)自動(dòng)被系統(tǒng)解析成快捷方式的樣子。將上面的文件保存在桌面后,就相當(dāng)于在桌面建立了快捷方式。
這樣我們只要在程序中用 CreateFile 創(chuàng)建這個(gè) .url 文件就行了,唯一需要改動(dòng)的只是目標(biāo)程序的全路徑文件名(這可以由程序本身獲得)。
第二個(gè)問題出現(xiàn)了:獲得桌面的路徑名。
1、判斷系統(tǒng)盤,可以通過 GetWindowsDirectory 來提取。比如 C:\
2、由上面的結(jié)果拼接出桌面的全路徑名 'C:\' + 'Documents and Settings\All Users\桌面'
綜上,在得到桌面的全路徑名后,再拼接出我們要建立的 .url文件的全路徑文件名即可。最后用 CreateFile 來創(chuàng)建這個(gè)文件 (即:C:\Documents and Settings\All Users\桌面\IDEasm.url ),再用WriteFile將上面虛線框中的內(nèi)容寫入此文件即可.
總結(jié)
以上是生活随笔為你收集整理的用 Win32 API 建立桌面快捷方式的一种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RS485中继器电路(转)
- 下一篇: 风讯dotNETCMS源码分析—数据存取