无忧启动论坛

标题: Windows 下创建 .lnk 快捷方式的命令行程序 [打印本页]

作者: 2013_top398    时间: 2014-3-30 23:47
标题: Windows 下创建 .lnk 快捷方式的命令行程序
本帖最后由 2013_top398 于 2014-3-30 23:58 编辑

近日研究了一下 COM,又结合一个关于快捷方式的贴子中的探讨,编写了一个创建快捷方式的程序。这主要是为了实践,不是说非得要重造个轮子。

一、命令行参数:
  1. lnk.exe l=<lnk文件名> t=<目标文件名> [w=<工作目录名>] [a=<参数列表>] [n=<备注>] [i=<图标文件名>] [x=<图标索引>] [k=<快捷键>] [s=<显示方式>]
复制代码

参数不区分大小写,顺序任意,如有重复指定,以后指定的为准。

二、快捷键和显示方式:
(一)快捷键
1、定义为:[辅键]+<主键>。
2、辅键为 C|A|S (Ctrl|Alt|Shift)的任意组合,可省略。
3、+ 号不能省略。
4、主键为 A-Z|0-9|F1-F12 之一,不能省略。
(二)显示方式
1、X = 最大化,I = 最小化, N = 正常

三、示例:
  1. lnk.exe t=lnk.exe l=r:\xyz.lnk
复制代码

创建 lnk.exe 的快捷方式,没有给出全路径时,自动补全,但并不检查目标是否存在。

  1. lnk t=“c:\Program Files (x86)\Internet Explorer\iexplore.exe” l=r:\ie10.lnk k=SAC+F12
复制代码

创建一个 IE 的快捷方式,因为目标路径有空格,要加上双引号。在没有给出工作目录时,自动用目标所在目录作为工作目录。

要创建那个贴子中楼主要求的快捷方式,命令行如下:
  1. lnk l=%userprofile%\desktop\chrome.lnk t="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" s=X k=+F3 i="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" n="Chrome" w="C:\Program Files (x86)\Google\Chrome\Application" a="--user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; zh-tw) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5""
复制代码

注意,控制台下的命令行参数传递中,用 \" 来表示一个双引号。
其中 图标文件是目标本身,可省略;图标序号为0,已省略;工作目录也是目标所在目录,也可省略。

32 位可执行文件大小 63,488 字节,可用工具压缩。
lnk.rar (24.28 KB, 下载次数: 58)
作者: 2011npwjm    时间: 2014-3-31 08:35
下载看看,谢谢分享
作者: octans2009    时间: 2014-3-31 12:48
不错,




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3