NSIS脚本学习:NSIS编译程序中默认的变量与常量

阅读: 评论:0

NSIS脚本学习:NSIS编译程序中默认的变量常量
⼀、变量
NSIS脚本使⽤var关键字定义变量,使⽤StrCpy命令为变量赋值,下⾯是⼀个使⽤变量的例⼦
var myVariable
Function .onInit
StrCpy $myVariable "MyVariable"
MessageBox MB_OK $myVariable
FunctionEnd
NSIS脚本中所有的变量都是全局变量,也可以⽤“/GLOBAL”显式指定变量为全局变量(在callback、Section内声明时则必须⽤GLOBAL显式指定)
var /GLOBAL myVariable
NSIS脚本中的变量名可以由数字(0-9)、字母(a-z、A-Z)和下划线(_)构成,变量名的长度最多为1024个字符
在NSIS脚本中,有20个预置的变量:
$0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$R0,$R1,$R2,$R3,$R4,$R5,$R6,$R7,$R8,$R9
这些变量和你⾃⼰写的变量⽤法是⼀样的,但通常⽤于共享的⽅法和宏中。这些变量不需要专门去声明,建议使⽤栈(stack)来存放这些变量的值。这些变量也可被⽤于插件(plug-in)间的通信,因为它们可被插件DLL⽂件读写。
另外还有四个变量:
1、$INSTDIR:安装⽬录
可以⽤StrCpy、ReadRegStr、ReadINIStr等函数赋值,也可⽤下⾯的⽅法赋值结构主义
InstallDir "E:\NSIS_Test\Output"
2、$OUTDIR:当前的输出⽬录
可以⽤StrCpy、ReadRegStr、ReadINIStr等函数赋值,也可⽤下⾯的⽅法赋值
SetOutPath "E:\NSIS_Test\Output"
3、$CMDLINE:进⼊安装包的命令⾏
如NSIS脚本执⾏完毕后⽣成的安装包名为,在命令⾏中输⼊“ -1 -2 -3”打开安装包,则变量$CMDLINE的值就会被赋为“ -1 -2 -3”
生化仪
4、$LANGUAGE:当前使⽤的语⾔
可以在.onInit回调中指定语⾔,如英语(美国)是1033,简体中⽂是2052
Windows的语⾔代码可以查阅MSDN上相关⽂档:
Regional and language settings (Windows SharePoint Services 2.0)
⼆、常量
NSIS脚本中有⼤量系统预定义好的常量可以使⽤。不过需要注意的是,常量有它的使⽤范围,⼀些新加⼊的常量并不是每个操作系统都能适⽤。如$CDBURN_AREA只能作⽤于WinXP及以上版本的Wind
ows操作系统。
1、$PROGRAMFILES、$PROGRAMFILES3
2、$PROGRAMFILES64 - ProgramFiles⽬录地址
在安装包运⾏时动态确定,在Windows(x64)系统中,$PROGRAMFILES会指向“C:\Program Files
(x86)”,$PROGRAMFILES64会指向“C:\Program Files”。
我的电脑是32位的Win7操作系统,因此在我的电脑上程序运⾏时这三个常量的值都为:C:\Program Files
2、$COMMONFILES、$COMMONFILES32、$COMMONFILES64 - CommonFiles⽬录地址莲子去皮机
该⽬录⼀般都在ProgramFiles⽬录下,这个地址的路径会在安装包运⾏时动态确定,因为前半部分有ProgramFiles⽬录,所以根据x86、x64系统的不同也被分为了三个常量。
我的电脑上程序运⾏时这三个常量的值都为:C:\Program Files\Common Files
3、$DESKTOP - Windows桌⾯地址
这个常量的上下⽂依赖于SetShellVarContext命令的设置,默认值为当前⽤户(即程序安装到当前⽤户的桌⾯上)。
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Desktop
4、$EXEDIR、$EXEFILE、$EXEPATH - 安装包的路径、⽂件名
$EXEDIR是安装包所在的⽬录,如E:\NSIS_Test;$EXEFILE是安装程序⽂件名,如;$EXEPATH是前两和拼合到⼀起的安装⽂件全路径,如E:\NSIS_
5、${NSISDIR} - NSIS程序的安装⽬录地址
如需使⽤NSIS⽬录下的图标等资源时会⽤到,我的电脑上此值为:D:\NSIS
6、$WINDIR - Windows⽬录地址
该地址在安装程序运⾏时确定,我电脑上此值为:C:\Windows
7、$SYSDIR - Windows下system⽬录地址
该地址在安装程序运⾏时确定,我电脑上此值为:C:\Windows\system32
8、$TEMP - 系统临时⽬录地址
该地址在安装程序运⾏时确定,我电脑上此值为:C:\Users\Tsybius\AppData\Local\Temp
9、$STARTMENU - 开始菜单地址
该地址在安装程序运⾏时确定,默认使⽤当前⽤户的开始菜单地址。
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Start Menu
10、$SMPROGRAMS - 开始菜单下Programs地址
该地址在安装程序运⾏时确定,默认使⽤当前⽤户的开始菜单地址。
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs
11、$QUICKLAUNCH - 快速启动栏
适⽤于IE4和以上版本的IE浏览器,如果QuickLaunch功能被禁⽤了,则返回$TEMP的值。
我电脑上此值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
12、$DOCUMENTS - “我的⽂档”⽬录地址
这个常量对未安装IE4的Windows95系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Documents
13、$SENDTO - “发送到”⽬录地址
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\SendTo 这是我电脑⾥的SendTo⽬录截图:
右键单击⼀个程序时,会有“发送到”菜单,⾥⾯的快捷⽅式就放在这⾥,如下图:
14、$RECENT - “最近使⽤的项⽬”⽬录地址毒牙
这个⽬录记录了最近使⽤的⽂档的快捷⽅式
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Recent 15、$FAVORITES - IE浏览器“收藏夹”⽬录地址
这个常量对未安装IE4的Windows95系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Favorites
16、$MUSIC - “我的⾳乐”⽬录地址
这个常量对Windows XP、ME及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Music
17、$PICTURES - “我的图⽚”⽬录地址
这个常量对Windows 2000、XP、ME及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Pictures
18、$VIDEOS - “我的视频”⽬录地址
这个常量对Windows XP、ME及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\Videos
19、$NETHOOD - “⽹络位置”⽬录地址
这个常量对未安装IE4的Windows95系统或未安装活动桌⾯的Windows系统⽆效
这个⽬录下的⽂件可在“我的电脑”中的“⽹络位置”栏⽬下看到。
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Network Shortcuts
20、$FONTS - “字体”⽬录地址
存放了电脑上安装的所有字体
我的电脑上此常量的值为:C:\Windows\Fonts
21、$TEMPLATES - “模板”⽬录地址
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Templates
22、$APPDATA - AppData下的Roaming⽬录地址
AppData⽬录⼀般⽤于存放软件的配置和临时⽂件
这个常量对未安装IE4的Windows95系统或未安装活动桌⾯的Windows系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming
23、$LOCALAPPDATA - AppData下的Local⽬录地址
这个常量对Windows 2000及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Local
24、$PRINTHOOD - 打印相关⽬录地址
这个常量对Windows 95、98⽆效电视台
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
25、$INTERNET_CACHE - “互联⽹缓存”⽬录地址
这个常量对Windows 95、未安装活动桌⾯和IE4的Windows NT系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Local\Microsoft\Windows\Temporary Internet Files
26、$COOKIES - Cookies⽬录地址
这个常量对Windows 95、未安装活动桌⾯和IE4的Windows NT系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Cookies
27、$HISTORY - “⽹页浏览历史”⽬录地址
这个常量对Windows 95、未安装活动桌⾯和IE4的Windows NT系统⽆效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Local\Microsoft\Windows\History
28、$PROFILE - “⽤户”⽬录地址
这个常量对Windows 2000及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius
29、$ADMINTOOLS - “开始菜单→程序→管理⼯具”⽬录地址
颠沛的国宝
这个常量对Windows 2000、ME及以上版本有效
我的电脑上⽤Tsybius⽤户登录时,这个常量的值为:C:\Users\Tsybius\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs\Administrative Tools
30、$RESOURCES - Windows下resources⽬录地址
这个常量对Windows XP及以上版本有效

本文发布于:2023-07-11 07:02:00,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/200119.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:常量   变量   地址   安装   安装包   值为   脚本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图