NSIS笔记
1、IfFileExists
IfFileExists D:\SA\test\testdirectory\*.* 0 +1
判断testdirectory是否是一个目录,若是,则执行接下来的第一行代码,若不是,则执行下面的+2行代码。
IfFileExists $WINDIR\SysWOW64\msvcr100.dll 0 +2
判断$WINDIR\SysWOW64\msvcr100.dll文件是否存在,若存在,则执行接下来的第一行代码,若不存在,则执行下面的+3行代码。
重点:实测没有+1行存在
IfFileExists "$WINDIR\SysWOW64\msvcr100.dll" 0 +2
MessageBox MB_OK "msvcr100.dll存在!" #0
MessageBox MB_OK "msvcr100.dll阿萨斯大大!" #+2
MessageBox MB_OK "msvcr100.dll不存在!" #+3
2、执行进程
Exec "$INSTDIR\${VS2010_x86}"
3、检测某个盘的剩余空间
StrCpy $R1 $sSetupPath 2 #前2个字符为盘符
${DriveSpace} $R1 "/D=F /S=M" $R2
${If} $R2 < 540
StrCpy $R3 $R1 1
MessageBox MB_OK "{f 2}提示{/f}" "{f 2}$R3盘剩余空间不足,无法安装。{/f}"
goto InstallAbort
${Else}
#StrCpy $R3 $R1 1
#MessageBox MB_OK "$R3盘可用空间为 $R2 M。"
${EndIf}
4、判断操作系统版本
!include "WinVer.nsh"
${If} ${AtLeastWin7}
MessageBox MB_OK "系统为win7或以上系统!"
${EndIf}
!include "x64.nsh"
${If} ${RunningX64}
MessageBox MB_OK "这是64位系统,在这写x64安装的东西"
${Else}
MessageBox MB_OK "这是32位系统,在这写x86安装的东西"
${EndIf}
6、设置duilib中的控件文本
nsNiuniuSkin::SetControlAttribute "install_time" "text" "{f 9}xxxx{/f}"
7、获取当前系统时间
System::Alloc 16
System::Call "kernel32::GetLocalTime(isR0)"
System::Call "*$R0(&i2.R1,&i2.R2,&i2,&i2.R4)"
System::Free $R0
MessageBox MB_OK "$R1年$R2月$R4日"
更详细:
System::Alloc 16
System::Call kernel32::GetLocalTime(isR0)
System::Call *$R0(&i2.R1,&i2.R2,&i2.R3,&i2.R4,&i2.R5,&i2.R6,&i2.R7,&i2.R8)
System::Free $R0
MessageBox MB_OK "$R1年$R2月$R4日,星期$R3,$R5:$R6:$R7.$R8"
8、数学运算
#实现: ($R1-$R9)*365+($R2-$R8)*30+($R4-$R7)
System::Int64Op $R1 - $R9 #注意空格
Pop $R6
System::Int64Op $R6 * 365
Pop $R6
System::Int64Op $R2 - $R8
Pop $R5
System::Int64Op $R5 * 30
Pop $R5
System::Int64Op $R6 + $R5
Pop $R5
System::Int64Op $R4 - $R7
Pop $R6
System::Int64Op $R6 + $R5
Pop $R5
${If} $R5 == 0
StrCpy $R5 "1" #最小为0
${EndIf}
NSIS笔记的更多相关文章
- NSIS学习笔记(转)
转自:http://blog.csdn.net/lee353086/article/details/45919901 NSIS学习笔记Date:2015-05-20Author:kagulaEnv:V ...
- NSIS制作安装包笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
前言 做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包. 应用程序的发布方式 应用程序发布的时候,具备以下 ...
- NSIS 无边框移动问题总结笔记
无边框移动 插件 WinProc WinCore.nsh [一定要有这个] 代码 ;事件 ;处理无边框移动 Function onGUICallback ${If} $MSG = ${WM_LBUTT ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- Ubuntu 编译安装 Xdebug
安装xdebug 1.下载 https://xdebug.org/download.php 找到PHP5.6对应的版本 https://xdebug.org/files/xdebug-2.5.5.tg ...
- Qt532.【转】Qt创建鼠标右键菜单
ZC:可以通过 设置 (QWebView*)->setContextMenuPolicy(NoContextMenu); 来关闭 QWebView的默认右键菜单 Qt创建鼠标右键菜单_疯华正茂 ...
- Linux 各种软件的安装-Apache + php 篇
mysql装好了,三剑客还差两个 apache就简单多了. yum -y install httpd # 删除默认欢迎页面 rm -f /etc/httpd/conf.d/welcome.conf s ...
- fMRI在认知心理学上的研究
参考:Principles of fMRI 1 问题: 1. fMRI能做什么不能做什么? 第一周:fMRI简介,data acquisition and reconstruction 大致分为两类: ...
- 20171113xlVba指定文件夹多簿多表分表合并150
'2017年11月13日 'Next_Seven '功能:文件夹对话框指定文件夹下,合并(复制粘贴)每个Excel文件内的指定子表内容, '在名为"设置"的工作表A列 输入汇总子表 ...
- piggy.lnk 简析
piggy.lnk 简析 SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; * ...
- Stanford: Creating a Hadoop-2.x project in Eclipse
Creating a Hadoop-2.x project in Eclipse http://snap.stanford.edu/class/cs246-data-2014/hw0.pdf Hado ...
- 电影《Green book》观后感_已补全:携带着种族歧视的“光环”,艰难地获得朋友的相互依赖,依然得享受生活的酸甜苦咸。
目录 1.电影基本情况介绍 2.故事整个发展经历 3.观影感受 4.网友评论 <Green book>--绿皮书 作者总共看这部影片三次,第一次英文版慢看,第二次中文版快看,第三次中文版总 ...
- XXE漏洞
原理:XML外部实体注入,简称XXE漏洞,XML数据在传输中数据被修改,服务器执行被恶意插入的代码.当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取.系统命令执行.内网端口探测.攻击内网 ...
- 【MySQL】【3】String和Date相互转换
正文: 1,Date转String --结果:<2019-04-10> SELECT DATE_FORMAT(SYSDATE(), "%Y-%m-%d") FROM D ...