原文 NSIS脚本:在卸载页面收集信息
此功能用于在软件卸载时收集相关信息,以便进行后续改进。实现功能如图:
以下为实现代码:
01 |
!include nsDialogs.nsh |
07 |
BrandingText "轻狂志www.flighty.cn"
|
09 |
Page custom ReportPageShow ReportPageLeave |
11 |
!insertmacro MUI_LANGUAGE "SimpChinese"
|
25 |
Function ReportPageShow |
26 |
nsDialogs::Create /NOUNLOAD 1018 |
29 |
${NSD_Createlabel} 0u 0u -1u 20u "很遗憾您选择卸载傲游,请告诉我们您卸载的原因。这将帮助我们以后进行改进:"
|
31 |
SetCtlColors $Label1 0x0080FF transparent |
33 |
${NSD_Createcheckbox} 0u 25u -1u 10u "它经常崩溃"
|
36 |
${NSD_Createcheckbox} 0u 40u -1u 10u "它经常假死"
|
38 |
${NSD_Createcheckbox} 0u 55u -1u 10u "它显示一些网页不正确"
|
40 |
${NSD_Createcheckbox} 0u 70u -1u 10u "它缺少我需要的功能"
|
42 |
${NSD_Createcheckbox} 0u 85u -1u 10u "我喜欢上其它浏览器了,请在下边注明"
|
44 |
${NSD_Createcheckbox} 0u 100u -1u 10u "升级傲游[Maxthon]"
|
46 |
${NSD_Createlabel} 0u 115u -1u 10u "其它原因, 请在下边写入:"
|
48 |
${NSD_Createtext} 0u 125u -1u -126u ""
|
54 |
Function ReportPageLeave |
55 |
${NSD_GetText} $Text $R0
|
57 |
${NSD_GetState} $Checkbox1 $R2
|
59 |
${NSD_GetState} $Checkbox2 $R2
|
61 |
${NSD_GetState} $Checkbox3 $R2
|
63 |
${NSD_GetState} $Checkbox4 $R2
|
65 |
${NSD_GetState} $Checkbox5 $R2
|
67 |
${NSD_GetState} $Checkbox6 $R2
|
69 |
MessageBox MB_OK '结果:勾选题:$R1;文本题:"$R0"'
|
71 |
;通过PHP获取$R1_$R0参数分析结果。 |
|