NSIS 创建快捷方式

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即可。或者其它路径道理都相同,指明你要创建的位置即可。




原文地址:https://www.cnblogs.com/njabsky/p/14054895.html