原文 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

最新文章

  1. .vue文件里引用单独样式和js文件
  2. C语言与java 20155317 王新玮第二次
  3. 面试题目: PHP 有哪些优缺点?
  4. [GitHub] GitHub Repositories
  5. 校赛E题递归形式
  6. nginx lua获取客户端ip
  7. iOS 版本更新检查
  8. PowerMock简介
  9. 【html】【11】函数名称约束规范
  10. EF中的EntityState几个状态的说明
  11. mac下Android apk 破解流程
  12. Linux学习 -- 权限管理
  13. TCP的连接和建立 图解
  14. 《Web Scraping With Python》Chapter 1的学习笔记
  15. c# 创建Excel com加载项图片对象批量操作
  16. qt deleterLater
  17. 万能五笔输入法"@相反
  18. FCC JS基础算法题(6):Truncate a string(截断字符串)
  19. 基于python的机器学习实现日元币对人民币汇率预测
  20. bg-script 错误信息显示,以及global

热门文章

  1. Effective C++规定45 附加代码
  2. USACO sprime
  3. Android在ExpandableListView控制的基本使用
  4. Bash ShellShock 解决办法
  5. 【Android 应用程序开发】 Fragment 详细说明
  6. SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
  7. poj 3414 Pots (bfs+线索)
  8. 移动web:翻页场景动画
  9. Sails.js中文文档
  10. Vbox创建COM对象失败