原文 NSIS脚本:在卸载页面收集信息

此功能用于在软件卸载时收集相关信息,以便进行后续改进。实现功能如图:

以下为实现代码:

01 !include nsDialogs.nsh
02 !include LogicLib.nsh
03  
04 OutFile "Test.EXE"
05 Name "Test"
06 !include "MUI2.nsh"
07 BrandingText "轻狂志www.flighty.cn"
08  
09 Page custom ReportPageShow ReportPageLeave
10  
11 !insertmacro MUI_LANGUAGE "SimpChinese"
12  
13 Var Dialog
14 Var Label1
15 Var Label2
16 Var Checkbox1
17 Var Checkbox2
18 Var Checkbox3
19 Var Checkbox4
20 Var Checkbox5
21 Var Checkbox6
22 Var Text
23 Section
24 SectionEnd
25 Function ReportPageShow
26 nsDialogs::Create /NOUNLOAD 1018
27 Pop $Dialog
28  
29 ${NSD_Createlabel} 0u 0u -1u 20u "很遗憾您选择卸载傲游,请告诉我们您卸载的原因。这将帮助我们以后进行改进:"
30 Pop $Label1
31 SetCtlColors $Label1 0x0080FF transparent
32  
33 ${NSD_Createcheckbox} 0u 25u -1u 10u "它经常崩溃"
34 Pop $Checkbox1
35  
36 ${NSD_Createcheckbox} 0u 40u -1u 10u "它经常假死"
37 Pop $Checkbox2
38 ${NSD_Createcheckbox} 0u 55u -1u 10u "它显示一些网页不正确"
39 Pop $Checkbox3
40 ${NSD_Createcheckbox} 0u 70u -1u 10u "它缺少我需要的功能"
41 Pop $Checkbox4
42 ${NSD_Createcheckbox} 0u 85u -1u 10u "我喜欢上其它浏览器了,请在下边注明"
43 Pop $Checkbox5
44 ${NSD_Createcheckbox} 0u 100u -1u 10u "升级傲游[Maxthon]"
45 Pop $Checkbox6
46 ${NSD_Createlabel} 0u 115u -1u 10u "其它原因, 请在下边写入:"
47 Pop $Label2
48 ${NSD_Createtext} 0u 125u -1u -126u ""
49 Pop $Text
50 nsDialogs::Show
51  
52 FunctionEnd
53  
54 Function ReportPageLeave
55     ${NSD_GetText} $Text $R0
56     StrCpy $R1 ""
57     ${NSD_GetState} $Checkbox1 $R2
58     StrCpy $R1 "$R1$R2"
59     ${NSD_GetState} $Checkbox2 $R2
60     StrCpy $R1 "$R1$R2"
61     ${NSD_GetState} $Checkbox3 $R2
62     StrCpy $R1 "$R1$R2"
63     ${NSD_GetState} $Checkbox4 $R2
64     StrCpy $R1 "$R1$R2"
65     ${NSD_GetState} $Checkbox5 $R2
66     StrCpy $R1 "$R1$R2"
67     ${NSD_GetState} $Checkbox6 $R2
68     StrCpy $R1 "$R1$R2"
69     MessageBox MB_OK '结果:勾选题:$R1;文本题:"$R0"'
70  
71 ;通过PHP获取$R1_$R0参数分析结果。
72 FunctionEnd

NSIS脚本:在卸载页面收集信息的更多相关文章

  1. 轻狂写的桌面日历秀NSIS脚本供大家参考学习

    原文 轻狂写的桌面日历秀NSIS脚本供大家参考学习 现在共享桌面日历秀的NSIS脚本,以便交流学习.此脚本实现的功能如下: 7-Zip打开看不到内容.自动读取原安装路径,如果有则不允许更改.取得编译日 ...

  2. 全方位掌握nsis脚本

    NSIS 确实是一个不错的安装程序制作软件.新版本 2.0a7 真正实现了中文支持和支持 WinXP 的安装对话框. 不过要用它实现漂亮的安装界面和完美的安装功能就必须好好的写脚本. 而 NSIS 的 ...

  3. 使用NSIS脚本制作一个安装包

    大部分人第一次看到NSIS脚本都是一脸懵逼的.因为它这个脚本的结构乍一看上去就非常奇怪,不作说明的话是看不懂的. 编写脚本命令的时候要非常注意,命令要按照规定写在脚本中不同的段落里,也就是说,命令的先 ...

  4. 关于NSIS脚本的Demo

    这个NSIS脚本是打包公司的整个Release项目工程. 用NSIS编译器编译下就可以了. ; Script generated by the HM NIS Edit Script Wizard. ! ...

  5. NSIS脚本入门和进阶方法

    NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能.对于新手来说,它有 ...

  6. 编写无Java脚本的JSP页面

    在上一章中总结了Web开发中应用MVC架构模式,将Servlet 用做控制器,JSP作为视图,JavaBean作为模型,实现业务流程控制,页面逻辑和业务逻辑的分离.然而,使用前面的技术实现MVC,并不 ...

  7. 超详细的php用户注册页面填写信息完整实例(附源码)

    这篇文章主要介绍了一个超详细的php用户注册页面填写信息完整实例,内容包括邮箱自动匹配.密码强度验证以及防止表单重复等,小编特别喜欢这篇文章,推荐给大家. 注册页面是大多数网站必备的页面,所以很有必要 ...

  8. 利用PHP获取访客IP、地区位置、浏览器及来源页面等信息

    这篇文章主要介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 前言 本文中 ...

  9. [课程设计]Scrum 3.4 多鱼点餐系统开发进度(下单详细信息页面&会员信息页面)

    Scrum 3.4 多鱼点餐系统开发进度(下单详细信息页面&会员信息页面) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队 ...

随机推荐

  1. MVC模块化架构

    全面解析ASP.NET MVC模块化架构方案 什么叫架构?揭开架构神秘的面纱,无非就是:分层+模块化.任意复杂的架构,你也会发现架构师也就做了这两件事. 本文将会全面的介绍我们团队在模块化设计方面取得 ...

  2. Windows Phone开发(26):启动器与选择器之MediaPlayerLauncher和SearchTask

    原文:Windows Phone开发(26):启动器与选择器之MediaPlayerLauncher和SearchTask 启动器与选择器简单的地方在于,它们的使用方法几乎一模一样,从前面几节中,我相 ...

  3. 广域网佰腾玩O2O笑话——它看起来很漂亮,注定不低于

    据说 2014.8.29:中国最大的商业运营商万达在一起的互联网服务供应商百度.腾讯在深圳(属性)战略合作签约仪式举行. 从功能表面上.万达代表实体,百度代表数据.腾讯代表社区:按三个合伙人理解,是要 ...

  4. Android源代码下载之《Android新闻client源代码》

    介绍 Android新闻client源代码,功能上分为:新闻.关注.读报.微博.里面比較有特色的就是读报功能.真正安装报纸的排版进行读报.给人得感觉就像是在读真实的报纸.事实上即使首页的动态云标签很有 ...

  5. 经典排序算法 - 高速排序Quick sort

    经典排序算法 - 高速排序Quick sort 原理,通过一趟扫描将要排序的数据切割成独立的两部分,当中一部分的全部数据都比另外一部分的全部数据都要小,然后再按此方法对这两部分数据分别进行高速排序,整 ...

  6. 【原创】leetCodeOj --- Sliding Window Maximum 解题报告

    天,这题我已经没有底气高呼“水”了... 题目的地址: https://leetcode.com/problems/sliding-window-maximum/ 题目内容: Given an arr ...

  7. Ubuntu下hadoop2.4搭建集群(单机模式)

    一  .新建用户和用户组 注明:(这个步骤事实上能够不用的.只是单独使用一个不同的用户好一些) 1.新建用户组 sudo addgroup hadoop 2.新建用户 sudo adduser -in ...

  8. AndroidService 深度分析(2)

    AndroidService 深度分析(2) 上一篇文章我们Service的生命周期进行了測试及总结. 这篇文章我们介绍下绑定执行的Service的实现. 绑定执行的Service可能是仅为本应用提供 ...

  9. 单选框和下拉框的jquery操作

    单选框 <input type="radio" name="rdSendType" value="email" checked=&qu ...

  10. Entity Framework的事务提交

    一组业务整体处理的行为叫一个事务.这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果.事物的Commit是执行了你的方法进行了数据库的提交,之前的sava都是放在缓存中并没有执行 ...