编程建立桌面快捷方式的一种方法

2021年9月30日 65点热度 0条评论 来源: 冰里才是冷

初次接触这个问题,经过查询得知: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将上面虚线框中的内容写入此文件即可.

    原文作者:冰里才是冷
    原文地址: https://blog.csdn.net/zhp5200/article/details/2254191
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。