杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2065|回复: 0

NSIS 自定义消息

[复制链接]
发表于 2017-2-25 21:30:12 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. ;NSI编译脚本
  2. !include "MUI.nsh"
  3. !include "WinMessages.nsh"
  4. !include "LogicLib.nsh"

  5. name "Sendmessage简单例子"
  6. outfile "test.exe"

  7. page custom  show leave

  8. !insertmacro MUI_PAGE_INSTFILES
  9. reservefile "pagecustom.ini"
  10. !insertmacro MUI_LANGUAGE "SimpChinese"

  11. section
  12. sectionend

  13. var HWND

  14. function .oninit
  15. initpluginsdir
  16. setoutpath $pluginsdir
  17. file "pagecustom.ini"
  18. functionend

  19. function show
  20. installoptions::initdialog /nounload $pluginsdir\pagecustom.ini
  21. Pop $HWND
  22. !insertmacro MUI_HEADER_TEXT "附加任务" "执行安装程序的一些附加任务" ;通过宏 MUI_HEADER_TEXT 设置页面页眉的文本
  23. GetDlgItem $R0 $HWNDPARENT 1
  24. EnableWindow $R0 0
  25. installoptions::show
  26. GetDlgItem $0 $HWNDPARENT 1
  27. EnableWindow $0 0
  28. functionend

  29. function leave
  30. ReadINIStr $0 "$pluginsdir\pagecustom.ini" Settings State
  31. ReadINIStr $3 "$pluginsdir\pagecustom.ini" "Field 3" "HWND"
  32. ReadINIStr $4 "$pluginsdir\pagecustom.ini" "Field 4" "HWND"
  33. ReadINIStr $5 "$pluginsdir\pagecustom.ini" "Field 5" "HWND"
  34. ReadINIStr $9 "$pluginsdir\pagecustom.ini" "Field 9" "state"
  35. ReadINIStr $R9 "$pluginsdir\pagecustom.ini" "Settings" "State" ;$7 控件序号
  36.   ${Switch} $0
  37. ${Default}
  38. Abort
  39.   ${Case} 2 ;全选(001,002,003)
  40.      SendMessage $3 ${BM_SETCHECK} 1 0
  41.      SendMessage $4 ${BM_SETCHECK} 1 0
  42.      SendMessage $5 ${BM_SETCHECK} 1 0
  43.      Abort
  44.   ${Case} 6 ;使001不可用
  45.      EnableWindow $3 0
  46.      Abort
  47.   ${Case} 8  ;全否(001,002,003)
  48.      SendMessage $3 ${BM_SETCHECK} 0 0
  49.      SendMessage $4 ${BM_SETCHECK} 0 0
  50.      SendMessage $5 ${BM_SETCHECK} 0 0
  51.      Abort
  52.   ${Case} 7  ;使001可用
  53.      EnableWindow $3 1
  54.      Abort
  55.   ${Case} 9  ;使下一步可用
  56.     ${If} $9 = 1
  57.      GetDlgItem $0 $HWNDPARENT 1
  58.      EnableWindow $0 1
  59.     ${Else}
  60.      GetDlgItem $0 $HWNDPARENT 1
  61.      EnableWindow $0 0
  62.     ${EndIf}
  63.     Abort
  64.   ${Case} 0
  65. ${EndSwitch}
  66. functionend

  67. Section "安装过程"
  68.    ReadINIStr $R2 "$pluginsdir\pagecustom.ini" "Field 11" State   
  69.     ${If} $R2 == 1
  70.     MessageBox MB_OK "你勾选了我的桌面"
  71.     ${EndIf}
  72.     ReadINIStr $R2 "$pluginsdir\pagecustom.ini" "Field 12" State
  73.     ${If} $R2 == 1
  74.     MessageBox MB_OK "你勾选了开始菜单"
  75.     ${EndIf}
  76.     ReadINIStr $R2 "$pluginsdir\pagecustom.ini" "Field 13" State
  77.     ${If} $R2 == 1
  78.     MessageBox MB_OK "你勾选了快速启动"
  79.     ${EndIf}
  80.      ReadINIStr $R2 "$pluginsdir\pagecustom.ini" "Field 15" State
  81.     ${If} $R2 == 1
  82.     MessageBox MB_OK "你勾选了创建卸载程序"
  83.     ${EndIf}
  84. SectionEnd
  85. ;INI 配置文件
  86. [Settings]
  87. NumFields=15

  88. [Field 1]
  89. Type=Groupbox
  90. Text=消息学习Sendmessage
  91. Left=10
  92. Right=208
  93. Top=4
  94. Bottom=94

  95. [Field 2]
  96. Type=RadioButton
  97. Flags=NOTIFY
  98. Text=全选(001,002,003)
  99. State=0
  100. Left=26
  101. Right=110
  102. Top=22
  103. Bottom=33

  104. [Field 3]
  105. Type=Checkbox
  106. Flags=NOTIFY
  107. Text=001
  108. State=0
  109. Left=26
  110. Right=66
  111. Top=43
  112. Bottom=54

  113. [Field 4]
  114. Type=Checkbox
  115. Text=002
  116. Left=78
  117. Right=122
  118. Top=43
  119. Bottom=52
  120. Flags=NOTIFY
  121. State=0

  122. [Field 5]
  123. Type=Checkbox
  124. Text=003
  125. Left=138
  126. Right=186
  127. Top=44
  128. Bottom=52
  129. Flags=NOTIFY
  130. State=0

  131. [Field 6]
  132. Type=Button
  133. Text=使001不可用
  134. Flags=NOTIFY
  135. Left=24
  136. Right=108
  137. Top=65
  138. Bottom=81

  139. [Field 7]
  140. Type=Button
  141. Text=使001可用
  142. Flags=NOTIFY
  143. Left=116
  144. Right=200
  145. Top=65
  146. Bottom=81

  147. [Field 8]
  148. Type=RadioButton
  149. Text=全否(001,002,003)
  150. Flags=NOTIFY
  151. State=0
  152. Left=120
  153. Right=206
  154. Top=22
  155. Bottom=33

  156. [Field 9]
  157. Type=Checkbox
  158. Text=同意安装
  159. Flags=NOTIFY
  160. Left=221
  161. Right=283
  162. Top=81
  163. Bottom=91

  164. [Field 10]
  165. Type=Groupbox
  166. Text=创建快捷方式
  167. Left=217
  168. Right=290
  169. Top=7
  170. Bottom=72

  171. [Field 11]
  172. Type=Checkbox
  173. Text=我的桌面
  174. State=1
  175. Left=221
  176. Right=286
  177. Top=20
  178. Bottom=31

  179. [Field 12]
  180. Type=Checkbox
  181. Text=开始菜单
  182. State=1
  183. Left=221
  184. Right=286
  185. Top=36
  186. Bottom=47

  187. [Field 13]
  188. Type=Checkbox
  189. Text=快速启动
  190. State=1
  191. Left=221
  192. Right=286
  193. Top=52
  194. Bottom=63

  195. [Field 14]
  196. Type=Groupbox
  197. Text=卸载程序
  198. Left=10
  199. Right=292
  200. Top=109
  201. Bottom=139

  202. [Field 15]
  203. Type=Checkbox
  204. Text=在Windows控制面板的"添加或删除程序"里创建本软件的卸载程序
  205. State=1
  206. Left=13
  207. Right=280
  208. Top=121
  209. Bottom=132
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-18 03:29 , Processed in 0.105438 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表