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