原文 NSIS常用代码整理
这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用。不定期更新哦~~~
2 |
ReadEnvStr $R0 SYSTEMDRIVE |
4 |
CreateDirectory "$R0\log" |
|
2 |
FindWindow $0 "shell_traywnd" |
3 |
SendMessage $0 273 506 0 |
|
2 |
FindWindow $0 "shell_traywnd" |
3 |
SendMessage $0 273 503 0 |
|
2 |
System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' |
|
3 |
;-1 主题 0 壁纸 1 屏保 2 外观 3 设置 |
4 |
Exec 'Rundll32.exe shell32.dll,Control_RunDLL Desk.cpl,0,3' ;打开"设置" |
|
2 |
System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)' |
3 |
MessageBox MB_OK '安装程序所在目录:$R1' |
5 |
MessageBox MB_OK '文件名$EXEFILE,所在文件夹$EXEDIR,完整路径$EXEPATH。' |
|
2 |
System::Call 'kernel32::GetCurrentProcessId()i .R0' |
3 |
MessageBox MB_OK '安装程序进程PID:$R0' |
|
3 |
System::Call 'kernel32::GetVolumeInformationA(t R0,t .R1,i 100,i .R3,i .R4,i .R5,t .R6,i 100)' |
4 |
MessageBox MB_OK '盘符:$R0$\n卷标:$R1$\n文件格式:$R6' |
|
4 |
System::Call 'kernel32::SetVolumeLabelA(t R0,t R1)' |
|
02 |
StrCpy $R0 "C:\1.EXE" ;文件 |
04 |
System::Call 'kernel32::SetFileAttributesA(t R0,i 0x100)' |
06 |
;0x20 FILE_ATTRIBUTE_ARCHIVE,存档 |
07 |
;0x2 FILE_ATTRIBUTE_HIDDEN,隐藏 |
08 |
;0x80 FILE_ATTRIBUTE_NORMAL,正常 |
09 |
;0x2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,不索引 |
10 |
;0x1000 FILE_ATTRIBUTE_OFFLINE,离线 |
11 |
;0x1 FILE_ATTRIBUTE_READONLY,只读 |
12 |
;0x4 FILE_ATTRIBUTE_SYSTEM,系统 |
13 |
;0x100 FILE_ATTRIBUTE_TEMPORARY,;临时属性(一般无效) |
|
3 |
CreateShortcut "$DESKTOP\记事本.lnk" "$WINDIR\notepad.exe" |
4 |
ExecShell taskbarpin "$DESKTOP\记事本.lnk" |
|
1 |
;指定在 WIN7 下安装程序需要的执行级别。 |
2 |
RequestExecutionLevel admin |
|
1 |
;安装结束后调用HTTP下载插件下载文件并运行 |
5 |
StrCmp $R0 "success" +3 |
6 |
MessageBox MB_OK "下载失败,原因: $R0" |
|
1 |
;隐藏/显示文件扩展名实时生效,写入 0 (0x00000000) 显示或 1 (0x00000001) 来隐藏 |
2 |
WriteRegDWORD HKCU"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced""HideFileExt" 0x00000001 |
3 |
SendMessage ${HWND_BROADCAST} ${WM_SETTINGCHANGE} 0 "STR:ShellState" |
4 |
System::Call "shell32::SHChangeNotify(i0x08000000,i0,i0,i0)" |
|
01 |
OutFile "ScreenRes.exe" |
07 |
System::Call 'user32::GetSystemMetrics(i 0) i .r0' |
08 |
System::Call 'user32::GetSystemMetrics(i 1) i .r1' |
09 |
MessageBox MB_OK|MB_ICONINFORMATION "当前屏幕分辨率为: $\r$\n$0 X $1" |
|
1 |
;调用 Windows API 来获取运行时间 |
3 |
System::Call kernel32::GetLocalTime(isR0) |
4 |
System::Call *$R0(&i2.R1,&i2.R2,&i2.R3,&i2.R4,&i2.R5,&i2.R6,&i2.R7,&i2.R8) |
6 |
MessageBox MB_OK "$R1年$R2月$R4日,星期$R3,$R5:$R6:$R7.$R8" |
|
1 |
;使用MiscButtonText修改按钮文本 |
2 |
;分别对应[上一步]、[下一步]、[取消]、[关闭],如果留空参数,则使用默认值 |
3 |
MiscButtonText "" "" "" "完成(&G)" |
5 |
!insertmacro MUI_PAGE_INSTFILES |
|
2 |
AccessControl::DisableFileInheritance "$INSTDIR" ;禁止继承 |
3 |
AccessControl::ClearOnFile "$INSTDIR" "(S-1-1-0)" "FullAccess" ;设置Everyone权限 |
|
08 |
ReadRegStr $0 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0""VendorIdentifier" |
09 |
ReadRegStr $1 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0""ProcessorNameString" |
10 |
ReadRegStr $2 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0""Identifier" |
11 |
ReadRegStr $3 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0""~MHz" |
13 |
ReadRegStr $4 HKLM "HARDWARE\DESCRIPTION\System\BIOS""BaseBoardManufacturer" |
14 |
ReadRegStr $5 HKLM "HARDWARE\DESCRIPTION\System\BIOS" "BIOSVersion" |
15 |
ReadRegStr $6 HKLM "HARDWARE\DESCRIPTION\System\BIOS" "BIOSReleaseDate" |
16 |
MessageBox MB_OK|MB_ICONEXCLAMATION "CPU制造商$0 $\r$\nCPU型号$1 $\r$\nCPU标识$2 $\r$\nCPU主频$3 $\r$\n$\r$\n主板品牌$4 $\r$\n主板BIOS版本$5 $\r$\n主板BIOS日期$6" |
|
02 |
OutFile "判断操作系统位宽.exe" |
|
03 |
SetFileAttributes "$SYSDIR\drivers\etc\hosts" NORMAL ;去只读属性 |
04 |
FileOpen $9 $SYSDIR\drivers\etc\hosts a ;追加数据 |
05 |
;FileSeek $9 0 END ;指针定位到相对于文件结尾 |
06 |
FileWrite $9 "127.0.0.1 adcount.sandai.net $\r$\n" |
07 |
FileWrite $9 "127.0.0.1 biz4.sandai.net $\r$\n" |
09 |
SetFileAttributes "$SYSDIR\drivers\etc\hosts" READONLY ;加只读属性 |
|
1 |
;对比两个文件的时间,如两个时间相等,就返回0;如R0小于R1,返回-1;如R1小于R0,返回1 |
2 |
StrCpy $R0 "C:\boot.ini" |
3 |
StrCpy $R1 "C:\AUTOEXEC.BAT" |
4 |
System::Call 'kernel32::CompareFileTime(t R0,t R1) i.R2' |
5 |
MessageBox MB_OK '文件$R0与$R1时间比较结果$R2' |
|
- [转]NSIS常用代码整理
转自 http://www.flighty.cn/html/bushu/20120827_156.html 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ ; ...
- IOS常用代码整理
常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...
- Ios17个常用代码整理
.判断邮箱格式是否正确的代码 //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @" ...
- js常用代码整理
引用js <script type="text/javascript" src="js/jquery-1.11.2.min.js"></scr ...
- js 操作select和option常用代码整理
1.获取选中select的value和text,html代码如下: <select id="mySelect"> <option value="1&qu ...
- iOS 17个常用代码整理
.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @" ...
- css3常用代码整理
1.圆角 .rd10{-moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;-khtml-border-ra ...
- iOS开发之17个常用代码整理
http://www.cnblogs.com/ios8/p/ios-17-code.html
- Qt.常用代码整理
窗口全屏化(此方法只对顶级窗口有效,对子窗口无效) window.showFullScreen() 字符串处理 Qt还提供了一种方便的字符串组合方式,使用QString::arg()函数,此函数的重载 ...
随机推荐
- Socket编程实践(13) --UNIX域名协议
UNIX域名协议 UNIX域套接字与TCP相比, 在同一台主机上, UNIX域套接字更有效率, 差点儿是TCP的两倍(因为UNIX域套接字不须要经过网络协议栈,不须要打包/拆包,计算校验和,维护序号和 ...
- 新型I/O架构引领存储之变(四)
新型I/O架构引领存储之变(四) 作者:廖恒 应对挑战--商务及技术考量 本文前面的部分分析了砖块模式与生俱来的总拥有成本(TCO)过高的问题.为了战胜这一挑战,超大规模数据中心的运营者须要从两个不同 ...
- erlang集群IP及port管理
erlang集群是依靠epmd维护的,epmd是erlang集群节点间port映射的守护进程.负责维护集群内的节点连接.提供节点名称到IP地址及port的解析服务. epmd 自己定义port号 ep ...
- android studio下gradle与Git错误解决方法
Error: Gradle: Execution failed for task ':mytask' > A problem occurred starting process 'command ...
- Netty In Action中国版 - 第二章:第一Netty程序
本章介绍 获得Netty4最新的版本号 设置执行环境,以构建和执行netty程序 创建一个基于Netty的server和client 拦截和处理异常 编制和执行Nettyserver和client 本 ...
- hadoop 提高hdfs删文件效率----hadoop删除文件流程解析
前言 这段时间在用hdfs,由于要处理的文件比较多,要及时产出旧文件,但是发现hdfs的blocks数一直在上涨,经分析是hdfs写入的速度较快,而block回收较慢,所以分心了一下hadoop删文件 ...
- IOS设计模式学习(11)中介者
1 前言 面向对象的设计鼓励把行为分散到不同对象中.这种分散可能导致对象之间的相互关联.在最糟糕的情况下,所有对象都彼此了解并相互操作.但是增加的相互关联又减少了获得的益处.增加的关联似的对象很难或不 ...
- VMware装ubuntu 进不去图形界面, 卡在Installing VMware Tools
1.按Ctrl +C结束,进入命令行 2.ubuntu login:_ 依次输入: 1)你的用户名:输入自己的! 2)你的密码:输入自己的! 3)获取root权限:sudo su 输密码 4)/etc ...
- MSSQL只能访问特定的数据库
让用户只能访问特定的数据库(MSSQL) 背景 客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护, 为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂 ...
- vs2012 网站无法使用自定义服务器的解决方法
我已经习惯新建一个Asp.net网站时把它挂载在IIS下调试运行,在使用Visual Studio 2012后,新建网站配置启动选项时,自定义服务器居然不可用 原来是Visual Studio 201 ...