zoukankan      html  css  js  c++  java
  • 用 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将上面虚线框中的内容写入此文件即可.

  • 相关阅读:
    shell读取或者修改ini文件
    Linux--查询文件的第几行到第几行命令
    python读写修改配置文件(ini)
    Django REST framework 的TokenAuth认证及外键Serializer基本实现
    vue2.0+webpack+vuerouter+vuex+axios构建项目基础
    Zabbix 监控Windows磁盘IO
    磁盘 I/O 性能监控指标和调优方法
    linux查看与修改交换内存配置(解决zabbix-agent启动报错)
    js中的Map对象的简单示例
    Idea 怎么远程debug
  • 原文地址:https://www.cnblogs.com/feng801/p/1818886.html
Copyright © 2011-2022 走看看