NSIS 创建快捷方式使用CreateShortCut 命令
语法:
CreateShortCut link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
参数说明(前两个参数为必须的参数,后面的参数为可选参数):
- 第一个参数link.lnk为要创建的快捷方式文件;
- 第二个参数target.file为链接到的目标文件;
- 第三个参数parameters为运行目标文件的命令行参数,一般没有就是写空,有参数则写参数;
- 第四个参数icon.file为快捷方式的图标;
- 第五个参数icon_index_number为图标的索引;
- 第六个参数start_options为启动选项,包括:SW_SHOWNORMAL、SW_SHOWMAXIMIZED、SW_SHOWMINIMIZED或空字符串;
- 第七个参数keyboard_shortcut为快捷键,可以是多个键的组合,但不允许有空格;
- 第八个参数description为描述信息;
示例:
CreateDirectory "$SMPROGRAMSTestShortCut" SetOutPath "$SMPROGRAMSTestShortCut" CreateShortCut "$SMPROGRAMSTestShortCutTestShortCut.lnk" "D:Program Files (x86)NSISNSIS.exe" "some command line parameters" "D:Program Files (x86)NSISNSIS.exe" 0 SW_SHOWNORMAL ALT|CONTROL|F5 "a description"
创建的快捷方式如下:
这里说几个需要注意的点:
1:快捷方式的图标,如果是写的目标exe程序,即使用exe程序的图标,则第五个参数icon_index_number要写成 0,其它会显示不出来图标。
2:上面的截图中有一项是起始位置,这里如果单纯使用创建快捷方式的命令是不会出来的,需要在前执行CreateShortCut指令前先执行SetOutPath指令。
3:上面是在开始菜单中先创建了一个文件夹,然后在文件夹中创建了快捷方式文件,开始菜单的路径使用的系统内置变量$SMPROGRAMS
其对应的地址为:C:Users用户名AppDataRoamingMicrosoftWindowsStart MenuProgramsTestShortCut,不同计算机可能会有所不同。4:如果要在桌面创建快捷方式,则把$SMPORGRAMS换成$DESKTOP即可。或者其它路径道理都相同,指明你要创建的位置即可。