#七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉!

!system '>blank set/p=MSCF<nul'

!packhdr temp.dat 'cmd /c Copy /b temp.dat /b +blank&&del blank'

SetCompressor bzip2

#编写:水晶石

#限制程序运行次数和使用日期

!include "nsdialogs.nsh"

XPStyle on

BrandingText "水晶石 ${__DATE__}"

OutFile "NSIStest.exe"

Name "test"

Page Custom page.custom

Function page.custom

  nsDialogs::Create 1018

  Pop $0

  nsDialogs::CreateControl EDIT \

    "${__NSD_Text_STYLE}|${WS_VSCROLL}|${ES_MULTILINE}|${ES_WANTRETURN}" \

    "${__NSD_Text_EXSTYLE}" \

      0 10% 100% 80% \

    "有效运行次数:3 $\r$\n$\r$\n首次运行后第二天报错禁止使用。$\r$\n$\r$\n第$1次运行"

    Pop $0

  nsDialogs::Show

FunctionEnd

Section "test"



SectionEnd



Function .onInit

  System::Alloc 16

  System::Call "kernel32::GetLocalTime(isR0)"

  System::Call "*$R0(&i2.R1,&i2.R2,&i2.R3,&i2.R4)"

  System::Free $R0

  StrCpy $3 $R1 $R2 $R4

  ReadRegStr $2 SHCTX "Software\Microsoft\test" "time"

${if} $2 = ''

  StrCpy $2 $3

  WriteRegStr SHCTX "Software\Microsoft\test" "time" "$2"

${endif}

  IntOp $4 $2 + 1

${if} $4 <= $3

System::Call "user32::MessageBox(i $HWNDPARENT, t 'Installer integrity check has failed.\

  Common causes include $\r\

  incomplete download and damaged media.Contactthe $\r\

  installer is author to obtain a new copy.$\r$\r\

  More information at: $\r\

  https://blog.csdn.net/shuijing_0'\

  ,t 'NSIS Error', i0x10)"

  Quit

${endif}

  ReadRegStr $1 SHCTX "Software\Microsoft\test" 'Number'

  IntOp $1 $1 + 1

  WriteRegStr  SHCTX  "Software\Microsoft\test" "Number" "$1"

${if} $1 > 3

System::Call "user32::MessageBox(i $HWNDPARENT, t 'Installer integrity check has failed.\

  Common causes include $\r\

  incomplete download and damaged media.Contactthe $\r\

  installer is author to obtain a new copy.$\r$\r\

  More information at: $\r\

  https://blog.csdn.net/shuijing_0'\

  ,t 'NSIS Error', i0x10)"

  Quit

${endif}

FunctionEnd

NSIS限制程序运行次数和使用日期的更多相关文章

  1. Java之Property-统获取一个应用程序运行的次数

    package FileDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  2. 【WinForm】使用NSIS发布程序

    简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能 使用 以下是 ...

  3. 第二章--Win32程序运行原理 (部分概念及代码讲解)

    学习<Windows程序设计>记录 概念贴士: 1. 每个进程都有赋予它自己的私有地址空间.当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不 ...

  4. VC获取当前程序运行路径

    /***************************************************/ /* 函数: 获取当前程序运行的路径 /* 返回: 当前程序运行路径 C:\AAA\BBB\ ...

  5. 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究

    原文:查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 -理解性能疑点 1      引言 内容来自http://www.so ...

  6. Android从启动到程序运行整个过程的整理

    1Android是基于Linux的一个操作系统,它可以分为五层,下面是它的层次架构图,可以记一下,因为后面应该会总结到SystemServer这些Application Framework层的东西 A ...

  7. (转)在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗?

    转自:http://www.cnblogs.com/xiaoyao2011/archive/2011/09/09/2172427.html 在.NET程序运行过程中,什么是堆,什么是栈? 堆也就是托管 ...

  8. 21ic编辑推荐:从单片机开始的程序运行

    一直不清楚单片机中程序的执行过程,就是知道一个程序总是从一个main函数开始执行,然后把程序段存放在ROM里面,动态数据存放在RAM里面,而单片机的RAM资源又是及其的稀少,所以要省着用,但是到底怎么 ...

  9. EBS 并发程序运行信息

    --并发程序运行信息SELECT REQUEST_ID,       PROGRAM,       actual_start_date 开始日期,       ACTUAL_COMPLETION_DA ...

随机推荐

  1. 06 app分享功能

    通过某一个点击事件触发confirm弹窗 确定后正式进行分享功能处理 这是一个封装好的分享功能插件 https://ext.dcloud.net.cn/plugin?id=4860 如果自己写的话会很 ...

  2. 跟我读论文丨Multi-Model Text Recognition Network

    摘要:语言模型往往被用于文字识别的后处理阶段,本文将语言模型的先验信息和文字的视觉特征进行交互和增强,从而进一步提升文字识别的性能. 本文分享自华为云社区<Multi-Model Text Re ...

  3. 利用Kaptcha.jar生成图片验证码(以下源码可以直接复制并自定义修改)

    说明:Kaptcha是一个很实用的验证码生成工具,它可以生成各种样式的验证码,因为它是可以配置的 目录: 一 实现步骤 二 实例 A 编写jsp页面 B 配置web.xml C 验证输入正确与否. 一 ...

  4. Sentry的安装、配置、使用

    前言 上一篇文章介绍了ExceptionLess这个日志收集系统:ExceptionLess的安装.配置.使用 由于ExceptionLess官方提供的客户端只有.Net/.NetCore平台和js的 ...

  5. gotoscan:CMS指纹识别工具

    gotoscan 前言 项目地址 https://github.com/newbe3three/gotoscan 结合自己学习到的Go相关知识,通过实现这个简易的CMS指纹识别工具来锻炼一下自己写代码 ...

  6. ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

    Python 的使用总是比 C++ 简单许多,Move Group 的 Python 接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和 C++ 接口实现相同的功能: 设置机械臂的 ...

  7. Apache DolphinScheduler&ShenYu(Incubating) 联合 Meetup,暖春 3 月与你相约!

    云霞出海曙,梅柳渡江春. 2022 年的早春在疫情中显得格外生机勃勃,虽然接下来寒流仍有可能造访国内部分地区,但开源的世界,早已热闹非凡! 2022 年 3 月 26 日(星期六), Apache D ...

  8. 微信小程序/校园社区论坛/微信云开发/云函数

    一.框架来源 1.非常非常感谢B站up主"梦千的曾哥哥"的开源框架. 没有他就没有这个小程序.如果有想做的同学,可以直接移步他的视频那里开始学习.我水平不够,就不教具体怎么配置环境 ...

  9. luogu P1488 肥猫的游戏

    肥猫的游戏 P1488 肥猫的游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 野猫与胖子,合起来简称肥猫,是一个班的同学,他们也都是数学高手,所以经常在一起讨论数学问 ...

  10. 在Apache Cassandra数据库软件中报告高严重性RCE安全漏洞

    研究人员披露了ApacheCassandra一个现已修补的高严重性安全漏洞的细节,如果这个漏洞得不到解决,可能会被滥用来获取受影响安装的远程代码执行(RCE). DevOps公司JFrog的安全研究员 ...