WinMessages.nsh 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890
  1. /*
  2. _____________________________________________________________________________
  3. List of common Windows Messages
  4. _____________________________________________________________________________
  5. 2005 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
  6. Usage example:
  7. ---------------------------------------------------
  8. Name "Output"
  9. OutFile "Output.exe"
  10. !include "WinMessages.nsh"
  11. Section
  12. FindWindow $0 '#32770' '' $HWNDPARENT
  13. GetDlgItem $1 $0 1027
  14. SendMessage $1 ${WM_SETTEXT} 0 'STR:MyText'
  15. SectionEnd
  16. ---------------------------------------------------
  17. Prefix Message category
  18. -------------------------
  19. SW ShowWindow Commands
  20. CCM Generic Common Control
  21. BM Button control
  22. CB Combo box control
  23. EM Edit control
  24. LB List box control
  25. WM General window
  26. ABM Application desktop toolbar
  27. DBT Device
  28. DM Default push button control
  29. HDM Header control
  30. LVM List view control
  31. SB Status bar window
  32. SBM Scroll bar control
  33. STM Static control
  34. TCM Tab control
  35. PBM Progress bar
  36. ACM Animation control
  37. TBM Track bar
  38. UDM Up-down control
  39. HKM Hot key control
  40. IPM IP address control
  41. NCM Network address control
  42. -----------------------------------
  43. NOT included messages (WM_USER + X)
  44. -----------------------------------
  45. CBEM Extended combo box control
  46. CDM Common dialog box
  47. DL Drag list box
  48. PGM Pager control
  49. PSM Property sheet
  50. RB Rebar control
  51. TB Toolbar
  52. TTM Tooltip control
  53. TVM Tree-view control
  54. -----------------------------------
  55. */
  56. !ifndef WINMESSAGES_INCLUDED
  57. !define WINMESSAGES_INCLUDED
  58. !verbose push
  59. !verbose 3
  60. !define _NSIS_DEFAW '!insertmacro _NSIS_DEFAW '
  61. !macro _NSIS_DEFAW d
  62. !ifdef NSIS_UNICODE
  63. !define ${d} "${${d}W}"
  64. !else
  65. !define ${d} "${${d}A}"
  66. !endif
  67. !macroend
  68. !define HWND_BROADCAST 0xFFFF
  69. #ShowWindow Commands#
  70. !define SW_HIDE 0
  71. !define SW_SHOWNORMAL 1
  72. !define SW_NORMAL 1
  73. !define SW_SHOWMINIMIZED 2
  74. !define SW_SHOWMAXIMIZED 3
  75. !define SW_MAXIMIZE 3
  76. !define SW_SHOWNOACTIVATE 4
  77. !define SW_SHOW 5
  78. !define SW_MINIMIZE 6
  79. !define SW_SHOWMINNOACTIVE 7
  80. !define SW_SHOWNA 8
  81. !define SW_RESTORE 9
  82. !define SW_SHOWDEFAULT 10
  83. !define SW_FORCEMINIMIZE 11
  84. !define SW_MAX 11
  85. #Generic Common Control Messages#
  86. !define CCM_FIRST 0x2000
  87. !define /math CCM_SETBKCOLOR ${CCM_FIRST} + 0x1 ; IE4
  88. !define /math CCM_SETUNICODEFORMAT ${CCM_FIRST} + 0x5
  89. !define /math CCM_GETUNICODEFORMAT ${CCM_FIRST} + 0x6
  90. !define /math CCM_SETVERSION ${CCM_FIRST} + 0x7 ; IE5
  91. !define /math CCM_GETVERSION ${CCM_FIRST} + 0x8
  92. !define /math CCM_SETWINDOWTHEME ${CCM_FIRST} + 0xB ; WinXP
  93. !define /math CCM_DPISCALE ${CCM_FIRST} + 0xC
  94. !define WM_USER 0x400
  95. !define CCS_TOP 1
  96. !define CCS_BOTTOM 3
  97. !define CCS_NODIVIDER 64
  98. !define CCS_LEFT 129
  99. !define CCS_RIGHT 131
  100. !define I_IMAGENONE -2
  101. #Button Control Messages#
  102. !define BM_CLICK 0x00F5
  103. !define BM_GETCHECK 0x00F0
  104. !define BM_GETIMAGE 0x00F6
  105. !define BM_GETSTATE 0x00F2
  106. !define BM_SETCHECK 0x00F1
  107. !define BM_SETIMAGE 0x00F7
  108. !define BM_SETSTATE 0x00F3
  109. !define BM_SETSTYLE 0x00F4
  110. !define BCM_SETSHIELD 0x160C ; WinVista + ComCtl32 v6
  111. !define BST_UNCHECKED 0
  112. !define BST_CHECKED 1
  113. !define BST_INDETERMINATE 2
  114. !define BST_PUSHED 4
  115. !define BST_FOCUS 8
  116. #Combo Box Messages#
  117. !define CB_ADDSTRING 0x0143
  118. !define CB_DELETESTRING 0x0144
  119. !define CB_DIR 0x0145
  120. !define CB_FINDSTRING 0x014C
  121. !define CB_FINDSTRINGEXACT 0x0158
  122. !define CB_GETCOUNT 0x0146
  123. !define CB_GETCURSEL 0x0147
  124. !define CB_GETDROPPEDCONTROLRECT 0x0152
  125. !define CB_GETDROPPEDSTATE 0x0157
  126. !define CB_GETDROPPEDWIDTH 0x015f
  127. !define CB_GETEDITSEL 0x0140
  128. !define CB_GETEXTENDEDUI 0x0156
  129. !define CB_GETHORIZONTALEXTENT 0x015d
  130. !define CB_GETITEMDATA 0x0150
  131. !define CB_GETITEMHEIGHT 0x0154
  132. !define CB_GETLBTEXT 0x0148
  133. !define CB_GETLBTEXTLEN 0x0149
  134. !define CB_GETLOCALE 0x015A
  135. !define CB_GETTOPINDEX 0x015b
  136. !define CB_INITSTORAGE 0x0161
  137. !define CB_INSERTSTRING 0x014A
  138. !define CB_LIMITTEXT 0x0141
  139. !define CB_MSGMAX 0x015B # 0x0162 0x0163
  140. !define CB_MULTIPLEADDSTRING 0x0163
  141. !define CB_RESETCONTENT 0x014B
  142. !define CB_SELECTSTRING 0x014D
  143. !define CB_SETCURSEL 0x014E
  144. !define CB_SETDROPPEDWIDTH 0x0160
  145. !define CB_SETEDITSEL 0x0142
  146. !define CB_SETEXTENDEDUI 0x0155
  147. !define CB_SETHORIZONTALEXTENT 0x015e
  148. !define CB_SETITEMDATA 0x0151
  149. !define CB_SETITEMHEIGHT 0x0153
  150. !define CB_SETLOCALE 0x0159
  151. !define CB_SETTOPINDEX 0x015c
  152. !define CB_SHOWDROPDOWN 0x014F
  153. !define CBM_FIRST 0x1700 ; Vista+
  154. !define /math CB_SETMINVISIBLE ${CBM_FIRST} + 1
  155. !define /math CB_GETMINVISIBLE ${CBM_FIRST} + 2
  156. !define /math CB_SETCUEBANNER ${CBM_FIRST} + 3
  157. !define /math CB_GETCUEBANNER ${CBM_FIRST} + 4
  158. !define CB_ERR -1
  159. #Edit Control Messages#
  160. !define EM_CANUNDO 0x00C6
  161. !define EM_CHARFROMPOS 0x00D7
  162. !define EM_EMPTYUNDOBUFFER 0x00CD
  163. !define EM_FMTLINES 0x00C8
  164. !define EM_GETFIRSTVISIBLELINE 0x00CE
  165. !define EM_GETHANDLE 0x00BD
  166. !define EM_GETIMESTATUS 0x00D9
  167. !define EM_GETLIMITTEXT 0x00D5
  168. !define EM_GETLINE 0x00C4
  169. !define EM_GETLINECOUNT 0x00BA
  170. !define EM_GETMARGINS 0x00D4
  171. !define EM_GETMODIFY 0x00B8
  172. !define EM_GETPASSWORDCHAR 0x00D2
  173. !define EM_GETRECT 0x00B2
  174. !define EM_GETSEL 0x00B0
  175. !define EM_GETTHUMB 0x00BE
  176. !define EM_GETWORDBREAKPROC 0x00D1
  177. !define EM_LIMITTEXT 0x00C5
  178. !define EM_LINEFROMCHAR 0x00C9
  179. !define EM_LINEINDEX 0x00BB
  180. !define EM_LINELENGTH 0x00C1
  181. !define EM_LINESCROLL 0x00B6
  182. !define EM_POSFROMCHAR 0x00D6
  183. !define EM_REPLACESEL 0x00C2
  184. !define EM_SCROLL 0x00B5
  185. !define EM_SCROLLCARET 0x00B7
  186. !define EM_SETHANDLE 0x00BC
  187. !define EM_SETIMESTATUS 0x00D8
  188. !define EM_SETLIMITTEXT 0x00C5 # Same as EM_LIMITTEXT
  189. !define EM_SETMARGINS 0x00D3
  190. !define EM_SETMODIFY 0x00B9
  191. !define EM_SETPASSWORDCHAR 0x00CC
  192. !define EM_SETREADONLY 0x00CF
  193. !define EM_SETRECT 0x00B3
  194. !define EM_SETRECTNP 0x00B4
  195. !define EM_SETSEL 0x00B1
  196. !define EM_SETTABSTOPS 0x00CB
  197. !define EM_SETWORDBREAKPROC 0x00D0
  198. !define EM_UNDO 0x00C7
  199. !define ECM_FIRST 0x1500 ; CC6+
  200. !define /math EM_SETCUEBANNER ${ECM_FIRST} + 1
  201. #RichEdit Messages#
  202. !define /math EM_EXGETSEL ${WM_USER} + 52
  203. !define /math EM_EXLIMITTEXT ${WM_USER} + 53
  204. !define /math EM_EXLINEFROMCHAR ${WM_USER} + 54
  205. !define /math EM_GETEVENTMASK ${WM_USER} + 59
  206. !define /math EM_GETOLEINTERFACE ${WM_USER} + 60
  207. !define /math EM_HIDESELECTION ${WM_USER} + 63
  208. !define /math EM_SETBKGNDCOLOR ${WM_USER} + 67
  209. !define /math EM_SETEVENTMASK ${WM_USER} + 69
  210. !define /math EM_STREAMIN ${WM_USER} + 73
  211. !define /math EM_STREAMOUT ${WM_USER} + 74
  212. !define /math EM_GETTEXTRANGE ${WM_USER} + 75
  213. !define /math EM_SETOPTIONS ${WM_USER} + 77
  214. !define /math EM_GETOPTIONS ${WM_USER} + 78
  215. !define /math EM_SETUNDOLIMIT ${WM_USER} + 82 ; v2+
  216. !define /math EM_AUTOURLDETECT ${WM_USER} + 91
  217. !define /Math EM_SETTEXTEX ${WM_USER} + 97 ; v3+
  218. !define /math EM_SETEDITSTYLE ${WM_USER} + 204
  219. !define /math EM_SETFONTSIZE ${WM_USER} + 223
  220. !define EN_MSGFILTER 0x0700
  221. !define EN_SELCHANGE 0x0702
  222. !define EN_LINK 0x070b
  223. !define ENM_NONE 0x00000000
  224. !define ENM_CHANGE 0x00000001
  225. !define ENM_UPDATE 0x00000002
  226. !define ENM_SCROLL 0x00000004
  227. !define ENM_SCROLLEVENTS 0x00000008
  228. !define ENM_KEYEVENTS 0x00010000
  229. !define ENM_MOUSEEVENTS 0x00020000
  230. !define ENM_SELCHANGE 0x00080000
  231. !define ENM_LINK 0x04000000 ; v2+
  232. #Listbox Messages#
  233. !define LB_ADDFILE 0x0196
  234. !define LB_ADDSTRING 0x0180
  235. !define LB_DELETESTRING 0x0182
  236. !define LB_DIR 0x018D
  237. !define LB_FINDSTRING 0x018F
  238. !define LB_FINDSTRINGEXACT 0x01A2
  239. !define LB_GETANCHORINDEX 0x019D
  240. !define LB_GETCARETINDEX 0x019F
  241. !define LB_GETCOUNT 0x018B
  242. !define LB_GETCURSEL 0x0188
  243. !define LB_GETHORIZONTALEXTENT 0x0193
  244. !define LB_GETITEMDATA 0x0199
  245. !define LB_GETITEMHEIGHT 0x01A1
  246. !define LB_GETITEMRECT 0x0198
  247. !define LB_GETLOCALE 0x01A6
  248. !define LB_GETSEL 0x0187
  249. !define LB_GETSELCOUNT 0x0190
  250. !define LB_GETSELITEMS 0x0191
  251. !define LB_GETTEXT 0x0189
  252. !define LB_GETTEXTLEN 0x018A
  253. !define LB_GETTOPINDEX 0x018E
  254. !define LB_INITSTORAGE 0x01A8
  255. !define LB_INSERTSTRING 0x0181
  256. !define LB_ITEMFROMPOINT 0x01A9
  257. !define LB_MSGMAX 0x01A8 # 0x01B0 0x01B1
  258. !define LB_MULTIPLEADDSTRING 0x01B1
  259. !define LB_RESETCONTENT 0x0184
  260. !define LB_SELECTSTRING 0x018C
  261. !define LB_SELITEMRANGE 0x019B
  262. !define LB_SELITEMRANGEEX 0x0183
  263. !define LB_SETANCHORINDEX 0x019C
  264. !define LB_SETCARETINDEX 0x019E
  265. !define LB_SETCOLUMNWIDTH 0x0195
  266. !define LB_SETCOUNT 0x01A7
  267. !define LB_SETCURSEL 0x0186
  268. !define LB_SETHORIZONTALEXTENT 0x0194
  269. !define LB_SETITEMDATA 0x019A
  270. !define LB_SETITEMHEIGHT 0x01A0
  271. !define LB_SETLOCALE 0x01A5
  272. !define LB_SETSEL 0x0185
  273. !define LB_SETTABSTOPS 0x0192
  274. !define LB_SETTOPINDEX 0x0197
  275. !define LB_ERR -1
  276. #Window Messages#
  277. !define WM_ACTIVATE 0x0006
  278. !define WM_ACTIVATEAPP 0x001C
  279. !define WM_AFXFIRST 0x0360
  280. !define WM_AFXLAST 0x037F
  281. !define WM_APP 0x8000
  282. !define WM_APPCOMMAND 0x0319
  283. !define WM_ASKCBFORMATNAME 0x030C
  284. !define WM_CANCELJOURNAL 0x004B
  285. !define WM_CANCELMODE 0x001F
  286. !define WM_CAPTURECHANGED 0x0215
  287. !define WM_CHANGECBCHAIN 0x030D
  288. !define WM_CHANGEUISTATE 0x0127
  289. !define WM_CHAR 0x0102
  290. !define WM_CHARTOITEM 0x002F
  291. !define WM_CHILDACTIVATE 0x0022
  292. !define WM_CLEAR 0x0303
  293. !define WM_CLOSE 0x0010
  294. !define WM_COMMAND 0x0111
  295. !define WM_COMMNOTIFY 0x0044 # no longer supported
  296. !define WM_COMPACTING 0x0041
  297. !define WM_COMPAREITEM 0x0039
  298. !define WM_CONTEXTMENU 0x007B
  299. !define WM_CONVERTREQUESTEX 0x108
  300. !define WM_COPY 0x0301
  301. !define WM_COPYDATA 0x004A
  302. !define WM_CREATE 0x0001
  303. !define WM_CTLCOLOR 0x0019
  304. !define WM_CTLCOLORBTN 0x0135
  305. !define WM_CTLCOLORDLG 0x0136
  306. !define WM_CTLCOLOREDIT 0x0133
  307. !define WM_CTLCOLORLISTBOX 0x0134
  308. !define WM_CTLCOLORMSGBOX 0x0132
  309. !define WM_CTLCOLORSCROLLBAR 0x0137
  310. !define WM_CTLCOLORSTATIC 0x0138
  311. !define WM_CUT 0x0300
  312. !define WM_DDE_FIRST 0x3E0
  313. !define WM_DEADCHAR 0x0103
  314. !define WM_DELETEITEM 0x002D
  315. !define WM_DESTROY 0x0002
  316. !define WM_DESTROYCLIPBOARD 0x0307
  317. !define WM_DEVICECHANGE 0x0219
  318. !define WM_DEVMODECHANGE 0x001B
  319. !define WM_DISPLAYCHANGE 0x007E
  320. !define WM_DRAWCLIPBOARD 0x0308
  321. !define WM_DRAWITEM 0x002B
  322. !define WM_DROPFILES 0x0233
  323. !define WM_ENABLE 0x000A
  324. !define WM_ENDSESSION 0x0016
  325. !define WM_ENTERIDLE 0x0121
  326. !define WM_ENTERMENULOOP 0x0211
  327. !define WM_ENTERSIZEMOVE 0x0231
  328. !define WM_ERASEBKGND 0x0014
  329. !define WM_EXITMENULOOP 0x0212
  330. !define WM_EXITSIZEMOVE 0x0232
  331. !define WM_FONTCHANGE 0x001D
  332. !define WM_GETDLGCODE 0x0087
  333. !define WM_GETFONT 0x0031
  334. !define WM_GETHOTKEY 0x0033
  335. !define WM_GETICON 0x007F
  336. !define WM_GETMINMAXINFO 0x0024
  337. !define WM_GETOBJECT 0x003D
  338. !define WM_GETTEXT 0x000D
  339. !define WM_GETTEXTLENGTH 0x000E
  340. !define WM_HANDHELDFIRST 0x0358
  341. !define WM_HANDHELDLAST 0x035F
  342. !define WM_HELP 0x0053
  343. !define WM_HOTKEY 0x0312
  344. !define WM_HSCROLL 0x0114
  345. !define WM_HSCROLLCLIPBOARD 0x030E
  346. !define WM_ICONERASEBKGND 0x0027
  347. !define WM_IME_CHAR 0x0286
  348. !define WM_IME_COMPOSITION 0x010F
  349. !define WM_IME_COMPOSITIONFULL 0x0284
  350. !define WM_IME_CONTROL 0x0283
  351. !define WM_IME_ENDCOMPOSITION 0x010E
  352. !define WM_IME_KEYDOWN 0x0290
  353. !define WM_IME_KEYLAST 0x010F
  354. !define WM_IME_KEYUP 0x0291
  355. !define WM_IME_NOTIFY 0x0282
  356. !define WM_IME_REQUEST 0x0288
  357. !define WM_IME_SELECT 0x0285
  358. !define WM_IME_SETCONTEXT 0x0281
  359. !define WM_IME_STARTCOMPOSITION 0x010D
  360. !define WM_INITDIALOG 0x0110
  361. !define WM_INITMENU 0x0116
  362. !define WM_INITMENUPOPUP 0x0117
  363. !define WM_INPUT 0x00FF
  364. !define WM_INPUTLANGCHANGE 0x0051
  365. !define WM_INPUTLANGCHANGEREQUEST 0x0050
  366. !define WM_KEYDOWN 0x0100
  367. !define WM_KEYFIRST 0x0100
  368. !define WM_KEYLAST 0x0108
  369. !define WM_KEYUP 0x0101
  370. !define WM_KILLFOCUS 0x0008
  371. !define WM_LBUTTONDBLCLK 0x0203
  372. !define WM_LBUTTONDOWN 0x0201
  373. !define WM_LBUTTONUP 0x0202
  374. !define WM_MBUTTONDBLCLK 0x0209
  375. !define WM_MBUTTONDOWN 0x0207
  376. !define WM_MBUTTONUP 0x0208
  377. !define WM_MDIACTIVATE 0x0222
  378. !define WM_MDICASCADE 0x0227
  379. !define WM_MDICREATE 0x0220
  380. !define WM_MDIDESTROY 0x0221
  381. !define WM_MDIGETACTIVE 0x0229
  382. !define WM_MDIICONARRANGE 0x0228
  383. !define WM_MDIMAXIMIZE 0x0225
  384. !define WM_MDINEXT 0x0224
  385. !define WM_MDIREFRESHMENU 0x0234
  386. !define WM_MDIRESTORE 0x0223
  387. !define WM_MDISETMENU 0x0230
  388. !define WM_MDITILE 0x0226
  389. !define WM_MEASUREITEM 0x002C
  390. !define WM_MENUCHAR 0x0120
  391. !define WM_MENUCOMMAND 0x0126
  392. !define WM_MENUDRAG 0x0123
  393. !define WM_MENUGETOBJECT 0x0124
  394. !define WM_MENURBUTTONUP 0x0122
  395. !define WM_MENUSELECT 0x011F
  396. !define WM_MOUSEACTIVATE 0x0021
  397. !define WM_MOUSEFIRST 0x0200
  398. !define WM_MOUSEHOVER 0x02A1
  399. !define WM_MOUSELAST 0x0209 # 0x020A 0x020D
  400. !define WM_MOUSELEAVE 0x02A3
  401. !define WM_MOUSEMOVE 0x0200
  402. !define WM_MOUSEWHEEL 0x020A
  403. !define WM_MOVE 0x0003
  404. !define WM_MOVING 0x0216
  405. !define WM_NCACTIVATE 0x0086
  406. !define WM_NCCALCSIZE 0x0083
  407. !define WM_NCCREATE 0x0081
  408. !define WM_NCDESTROY 0x0082
  409. !define WM_NCHITTEST 0x0084
  410. !define WM_NCLBUTTONDBLCLK 0x00A3
  411. !define WM_NCLBUTTONDOWN 0x00A1
  412. !define WM_NCLBUTTONUP 0x00A2
  413. !define WM_NCMBUTTONDBLCLK 0x00A9
  414. !define WM_NCMBUTTONDOWN 0x00A7
  415. !define WM_NCMBUTTONUP 0x00A8
  416. !define WM_NCMOUSEHOVER 0x02A0
  417. !define WM_NCMOUSELEAVE 0x02A2
  418. !define WM_NCMOUSEMOVE 0x00A0
  419. !define WM_NCPAINT 0x0085
  420. !define WM_NCRBUTTONDBLCLK 0x00A6
  421. !define WM_NCRBUTTONDOWN 0x00A4
  422. !define WM_NCRBUTTONUP 0x00A5
  423. !define WM_NCXBUTTONDBLCLK 0x00AD
  424. !define WM_NCXBUTTONDOWN 0x00AB
  425. !define WM_NCXBUTTONUP 0x00AC
  426. !define WM_NEXTDLGCTL 0x0028
  427. !define WM_NEXTMENU 0x0213
  428. !define WM_NOTIFY 0x004E
  429. !define WM_NOTIFYFORMAT 0x0055
  430. !define WM_NULL 0x0000
  431. !define WM_PAINT 0x000F
  432. !define WM_PAINTCLIPBOARD 0x0309
  433. !define WM_PAINTICON 0x0026
  434. !define WM_PALETTECHANGED 0x0311
  435. !define WM_PALETTEISCHANGING 0x0310
  436. !define WM_PARENTNOTIFY 0x0210
  437. !define WM_PASTE 0x0302
  438. !define WM_PENWINFIRST 0x0380
  439. !define WM_PENWINLAST 0x038F
  440. !define WM_POWER 0x0048
  441. !define WM_POWERBROADCAST 0x0218
  442. !define WM_PRINT 0x0317
  443. !define WM_PRINTCLIENT 0x0318
  444. !define WM_QUERYDRAGICON 0x0037
  445. !define WM_QUERYENDSESSION 0x0011
  446. !define WM_QUERYNEWPALETTE 0x030F
  447. !define WM_QUERYOPEN 0x0013
  448. !define WM_QUERYUISTATE 0x0129
  449. !define WM_QUEUESYNC 0x0023
  450. !define WM_QUIT 0x0012
  451. !define WM_RBUTTONDBLCLK 0x0206
  452. !define WM_RBUTTONDOWN 0x0204
  453. !define WM_RBUTTONUP 0x0205
  454. !define WM_RASDIALEVENT 0xCCCD
  455. !define WM_RENDERALLFORMATS 0x0306
  456. !define WM_RENDERFORMAT 0x0305
  457. !define WM_SETCURSOR 0x0020
  458. !define WM_SETFOCUS 0x0007
  459. !define WM_SETFONT 0x0030
  460. !define WM_SETHOTKEY 0x0032
  461. !define WM_SETICON 0x0080
  462. !define WM_SETREDRAW 0x000B
  463. !define WM_SETTEXT 0x000C
  464. !define WM_SETTINGCHANGE 0x001A # Same as WM_WININICHANGE
  465. !define WM_SHOWWINDOW 0x0018
  466. !define WM_SIZE 0x0005
  467. !define WM_SIZECLIPBOARD 0x030B
  468. !define WM_SIZING 0x0214
  469. !define WM_SPOOLERSTATUS 0x002A
  470. !define WM_STYLECHANGED 0x007D
  471. !define WM_STYLECHANGING 0x007C
  472. !define WM_SYNCPAINT 0x0088
  473. !define WM_SYSCHAR 0x0106
  474. !define WM_SYSCOLORCHANGE 0x0015
  475. !define WM_SYSCOMMAND 0x0112
  476. !define WM_SYSDEADCHAR 0x0107
  477. !define WM_SYSKEYDOWN 0x0104
  478. !define WM_SYSKEYUP 0x0105
  479. !define WM_TABLET_FIRST 0x02C0
  480. !define WM_TABLET_LAST 0x02DF
  481. !define WM_THEMECHANGED 0x031A
  482. !define WM_TCARD 0x0052
  483. !define WM_TIMECHANGE 0x001E
  484. !define WM_TIMER 0x0113
  485. !define WM_UNDO 0x0304
  486. !define WM_UNICHAR 0x0109
  487. !define WM_UNINITMENUPOPUP 0x0125
  488. !define WM_UPDATEUISTATE 0x0128
  489. !define WM_USERCHANGED 0x0054
  490. !define WM_VKEYTOITEM 0x002E
  491. !define WM_VSCROLL 0x0115
  492. !define WM_VSCROLLCLIPBOARD 0x030A
  493. !define WM_WINDOWPOSCHANGED 0x0047
  494. !define WM_WINDOWPOSCHANGING 0x0046
  495. !define WM_WININICHANGE 0x001A
  496. !define WM_WTSSESSION_CHANGE 0x02B1
  497. !define WM_XBUTTONDBLCLK 0x020D
  498. !define WM_XBUTTONDOWN 0x020B
  499. !define WM_XBUTTONUP 0x020C
  500. #Application desktop toolbar#
  501. !define ABM_ACTIVATE 0x00000006 # lParam == TRUE/FALSE means activate/deactivate
  502. !define ABM_GETAUTOHIDEBAR 0x00000007
  503. !define ABM_GETSTATE 0x00000004
  504. !define ABM_GETTASKBARPOS 0x00000005
  505. !define ABM_NEW 0x00000000
  506. !define ABM_QUERYPOS 0x00000002
  507. !define ABM_REMOVE 0x00000001
  508. !define ABM_SETAUTOHIDEBAR 0x00000008 # This can fail, you MUST check the result
  509. !define ABM_SETPOS 0x00000003
  510. !define ABM_WINDOWPOSCHANGED 0x0000009
  511. #Device#
  512. !define DBT_APPYBEGIN 0x0000
  513. !define DBT_APPYEND 0x0001
  514. !define DBT_CONFIGCHANGECANCELED 0x0019
  515. !define DBT_CONFIGCHANGED 0x0018
  516. !define DBT_CONFIGMGAPI32 0x0022
  517. !define DBT_CONFIGMGPRIVATE 0x7FFF
  518. !define DBT_CUSTOMEVENT 0x8006 # User-defined event
  519. !define DBT_DEVICEARRIVAL 0x8000 # System detected a new device
  520. !define DBT_DEVICEQUERYREMOVE 0x8001 # Wants to remove, may fail
  521. !define DBT_DEVICEQUERYREMOVEFAILED 0x8002 # Removal aborted
  522. !define DBT_DEVICEREMOVECOMPLETE 0x8004 # Device is gone
  523. !define DBT_DEVICEREMOVEPENDING 0x8003 # About to remove, still avail.
  524. !define DBT_DEVICETYPESPECIFIC 0x8005 # Type specific event
  525. !define DBT_DEVNODES_CHANGED 0x0007
  526. !define DBT_DEVTYP_DEVICEINTERFACE 0x00000005 # Device interface class
  527. !define DBT_DEVTYP_DEVNODE 0x00000001 # Devnode number
  528. !define DBT_DEVTYP_HANDLE 0x00000006 # File system handle
  529. !define DBT_DEVTYP_NET 0x00000004 # Network resource
  530. !define DBT_DEVTYP_OEM 0x00000000 # Oem-defined device type
  531. !define DBT_DEVTYP_PORT 0x00000003 # Serial, parallel
  532. !define DBT_DEVTYP_VOLUME 0x00000002 # Logical volume
  533. !define DBT_LOW_DISK_SPACE 0x0048
  534. !define DBT_MONITORCHANGE 0x001B
  535. !define DBT_NO_DISK_SPACE 0x0047
  536. !define DBT_QUERYCHANGECONFIG 0x0017
  537. !define DBT_SHELLLOGGEDON 0x0020
  538. !define DBT_USERDEFINED 0xFFFF
  539. !define DBT_VOLLOCKLOCKFAILED 0x8043
  540. !define DBT_VOLLOCKLOCKRELEASED 0x8045
  541. !define DBT_VOLLOCKLOCKTAKEN 0x8042
  542. !define DBT_VOLLOCKQUERYLOCK 0x8041
  543. !define DBT_VOLLOCKQUERYUNLOCK 0x8044
  544. !define DBT_VOLLOCKUNLOCKFAILED 0x8046
  545. !define DBT_VPOWERDAPI 0x8100 # VPOWERD API for Win95
  546. !define DBT_VXDINITCOMPLETE 0x0023
  547. #Default push button control#
  548. !define DM_BITSPERPEL 0x00040000
  549. !define DM_COLLATE 0x00008000
  550. !define DM_COLOR 0x00000800
  551. !define DM_COPIES 0x00000100
  552. !define DM_DEFAULTSOURCE 0x00000200
  553. !define DM_DISPLAYFLAGS 0x00200000
  554. !define DM_DISPLAYFREQUENCY 0x00400000
  555. !define DM_DITHERTYPE 0x04000000
  556. !define DM_DUPLEX 0x00001000
  557. !define DM_FORMNAME 0x00010000
  558. !define DM_GRAYSCALE 0x00000001 # This flag is no longer valid
  559. !define DM_ICMINTENT 0x01000000
  560. !define DM_ICMMETHOD 0x00800000
  561. !define DM_INTERLACED 0x00000002 # This flag is no longer valid
  562. !define DM_LOGPIXELS 0x00020000
  563. !define DM_MEDIATYPE 0x02000000
  564. !define DM_NUP 0x00000040
  565. !define DM_ORIENTATION 0x00000001
  566. !define DM_PANNINGHEIGHT 0x10000000
  567. !define DM_PANNINGWIDTH 0x08000000
  568. !define DM_PAPERLENGTH 0x00000004
  569. !define DM_PAPERSIZE 0x00000002
  570. !define DM_PAPERWIDTH 0x00000008
  571. !define DM_PELSHEIGHT 0x00100000
  572. !define DM_PELSWIDTH 0x00080000
  573. !define DM_POSITION 0x00000020
  574. !define DM_PRINTQUALITY 0x00000400
  575. !define DM_SCALE 0x00000010
  576. !define DM_SPECVERSION 0x0320 # 0x0400 0x0401
  577. !define DM_TTOPTION 0x00004000
  578. !define DM_YRESOLUTION 0x00002000
  579. #Header control#
  580. !define HDM_FIRST 0x1200
  581. #List view control#
  582. !define LVS_SINGLESEL 4
  583. !define LVS_SHOWSELALWAYS 8
  584. !define LVS_SORTASCENDING 0x10
  585. !define LVS_SORTDESCENDING 0x20
  586. !define LVS_SHAREIMAGELISTS 0x40
  587. !define LVS_EDITLABELS 0x200
  588. !define LVS_NOSCROLL 0x2000
  589. !define LVS_NOCOLUMNHEADER 0x4000
  590. !define LVS_NOSORTHEADER 0x8000
  591. !define LVS_ICON 0
  592. !define LVS_REPORT 1
  593. !define LVS_SMALLICON 2
  594. !define LVS_LIST 3
  595. !define LVS_EX_CHECKBOXES 4
  596. !define LVS_EX_FULLROWSELECT 0x20
  597. !define LVS_EX_INFOTIP 0x400
  598. !define LVS_EX_LABELTIP 0x4000
  599. !define LVS_EX_DOUBLEBUFFER 0x10000
  600. !define LVIF_TEXT 1
  601. !define LVIF_IMAGE 2
  602. !define LVIF_PARAM 4
  603. !define LVIF_STATE 8
  604. !define LVIS_STATEIMAGEMASK 0xF000
  605. !define LVCF_FMT 1
  606. !define LVCF_WIDTH 2
  607. !define LVCF_TEXT 4
  608. !define LVCF_SUBITEM 8
  609. !define SYSSTRUCT_LVITEM_V1 (i,i,i,i,&i${NSIS_PTR_SIZE},t,i,i,p)
  610. !define SYSSTRUCT_LVITEM_V2 (i,i,i,i,&i${NSIS_PTR_SIZE},t,i,i,p,i) ; IE3
  611. !define SYSSTRUCT_LVITEM_V3 (i,i,i,i,&i${NSIS_PTR_SIZE},t,i,i,p,i,i,i,i) ; WinXP + ComCtl32 v6
  612. !define SYSSTRUCT_LVITEM_V4 (i,i,i,i,&i${NSIS_PTR_SIZE},t,i,i,p,i,i,i,i,i,i) ; WinVista + ComCtl32 v6
  613. !define LVSCW_AUTOSIZE -1
  614. !define LVSCW_AUTOSIZE_USEHEADER -2
  615. !define LVM_FIRST 0x00001000
  616. !define /math LVM_GETIMAGELIST ${LVM_FIRST} + 2
  617. !define /math LVM_SETIMAGELIST ${LVM_FIRST} + 3
  618. !define /math LVM_GETITEMCOUNT ${LVM_FIRST} + 4
  619. !define /math LVM_GETITEMA ${LVM_FIRST} + 5
  620. !define /math LVM_SETITEMA ${LVM_FIRST} + 6
  621. !define /math LVM_INSERTITEMA ${LVM_FIRST} + 7
  622. !define /math LVM_DELETEITEM ${LVM_FIRST} + 8
  623. !define /math LVM_DELETEALLITEMS ${LVM_FIRST} + 9
  624. !define /math LVM_INSERTCOLUMNA ${LVM_FIRST} + 27
  625. !define /math LVM_SETCOLUMNWIDTH ${LVM_FIRST} + 30
  626. !define /math LVM_SETITEMSTATE ${LVM_FIRST} + 43
  627. !define /math LVM_GETITEMSTATE ${LVM_FIRST} + 44
  628. !define /math LVM_GETITEMTEXTA ${LVM_FIRST} + 45
  629. !define /math LVM_SETITEMTEXTA ${LVM_FIRST} + 46
  630. !define /math LVM_SETITEMCOUNT ${LVM_FIRST} + 47
  631. !define /math LVM_SORTITEMS ${LVM_FIRST} + 48
  632. !define /math LVM_SETEXTENDEDLISTVIEWSTYLE ${LVM_FIRST} + 54
  633. !define /math LVM_GETEXTENDEDLISTVIEWSTYLE ${LVM_FIRST} + 55
  634. !define /math LVM_GETITEMW ${LVM_FIRST} + 75
  635. !define /math LVM_SETITEMW ${LVM_FIRST} + 76
  636. !define /math LVM_INSERTITEMW ${LVM_FIRST} + 77
  637. !define /math LVM_INSERTCOLUMNW ${LVM_FIRST} + 97
  638. !define /math LVM_GETITEMTEXTW ${LVM_FIRST} + 115
  639. !define /math LVM_SETITEMTEXTW ${LVM_FIRST} + 116
  640. !define /math LVM_SETSELECTEDCOLUMN ${LVM_FIRST} + 140
  641. ${_NSIS_DEFAW} LVM_GETITEM
  642. ${_NSIS_DEFAW} LVM_SETITEM
  643. ${_NSIS_DEFAW} LVM_INSERTITEM
  644. ${_NSIS_DEFAW} LVM_INSERTCOLUMN
  645. ${_NSIS_DEFAW} LVM_GETITEMTEXT
  646. ${_NSIS_DEFAW} LVM_SETITEMTEXT
  647. #Status bar window#
  648. !define SB_SIMPLEID 0x00ff
  649. #Scroll bar control#
  650. !define SBM_ENABLE_ARROWS 0x00E4 # Not in win3.1
  651. !define SBM_GETPOS 0x00E1 # Not in win3.1
  652. !define SBM_GETRANGE 0x00E3 # Not in win3.1
  653. !define SBM_GETSCROLLINFO 0x00EA
  654. !define SBM_SETPOS 0x00E0 # Not in win3.1
  655. !define SBM_SETRANGE 0x00E2 # Not in win3.1
  656. !define SBM_SETRANGEREDRAW 0x00E6 # Not in win3.1
  657. !define SBM_SETSCROLLINFO 0x00E9
  658. #Static control#
  659. !define STM_SETICON 0x0170
  660. !define STM_GETICON 0x0171
  661. !define STM_SETIMAGE 0x0172
  662. !define STM_GETIMAGE 0x0173
  663. !define STM_MSGMAX 0x0174
  664. #Tab control#
  665. !define TCS_SCROLLOPPOSITE 0x0001
  666. !define TCIF_TEXT 1
  667. !define TCIF_PARAM 8
  668. !define SYSSTRUCT_TCITEM (i,i,&i${NSIS_PTR_SIZE},t,i,i,p)
  669. !define TCM_FIRST 0x1300
  670. !define /math TCM_INSERTITEMA ${TCM_FIRST} + 7
  671. !define /math TCM_GETCURSEL ${TCM_FIRST} + 11
  672. !define /math TCM_ADJUSTRECT ${TCM_FIRST} + 40
  673. !define /math TCM_INSERTITEMW ${TCM_FIRST} + 62
  674. !define TCN_SELCHANGE -551
  675. !define TCN_SELCHANGING -552
  676. ${_NSIS_DEFAW} TCM_INSERTITEM
  677. #Progress bar control#
  678. !define PBM_SETRANGE 0x401
  679. !define PBM_SETPOS 0x402
  680. !define PBM_DELTAPOS 0x403
  681. !define PBM_SETSTEP 0x404
  682. !define PBM_STEPIT 0x405
  683. !define PBM_SETRANGE32 0x406 ; IE3 + ComCtl32 v4.70
  684. !define PBM_GETRANGE 0x407
  685. !define PBM_GETPOS 0x408
  686. !define PBM_SETBARCOLOR 0x409 ; IE4 + ComCtl32 v4.71
  687. !define PBM_SETBKCOLOR ${CCM_SETBKCOLOR}
  688. !define PBM_SETMARQUEE 0x40A ; WinXP + ComCtl32 v6
  689. !define PBM_GETSTEP 0x40D ; WinVista
  690. !define PBM_GETBKCOLOR 0x40E
  691. !define PBM_GETBARCOLOR 0x40F
  692. !define PBM_SETSTATE 0x410
  693. !define PBM_GETSTATE 0x411
  694. !define PBST_NORMAL 1
  695. !define PBST_ERROR 2
  696. !define PBST_PAUSED 3
  697. #Animation control#
  698. !define /math ACM_OPENA ${WM_USER} + 100
  699. !define /math ACM_PLAY ${WM_USER} + 101
  700. !define /math ACM_STOP ${WM_USER} + 102
  701. !define /math ACM_OPENW ${WM_USER} + 103
  702. ${_NSIS_DEFAW} ACM_OPEN
  703. #TrackBar control#
  704. !define /math TBM_GETPOS ${WM_USER} + 0
  705. !define /math TBM_GETRANGEMIN ${WM_USER} + 1
  706. !define /math TBM_GETRANGEMAX ${WM_USER} + 2
  707. !define /math TBM_GETTIC ${WM_USER} + 3
  708. !define /math TBM_SETTIC ${WM_USER} + 4
  709. !define /math TBM_SETPOS ${WM_USER} + 5
  710. !define /math TBM_SETRANGE ${WM_USER} + 6
  711. !define /math TBM_SETRANGEMIN ${WM_USER} + 7
  712. !define /math TBM_SETRANGEMAX ${WM_USER} + 8
  713. !define /math TBM_CLEARTICS ${WM_USER} + 9
  714. !define /math TBM_SETSEL ${WM_USER} + 10
  715. !define /math TBM_SETSELSTART ${WM_USER} + 11
  716. !define /math TBM_SETSELEND ${WM_USER} + 12
  717. !define /math TBM_GETPTICS ${WM_USER} + 14
  718. !define /math TBM_GETTICPOS ${WM_USER} + 15
  719. !define /math TBM_GETNUMTICS ${WM_USER} + 16
  720. !define /math TBM_GETSELSTART ${WM_USER} + 17
  721. !define /math TBM_GETSELEND ${WM_USER} + 18
  722. !define /math TBM_CLEARSEL ${WM_USER} + 19
  723. !define /math TBM_SETTICFREQ ${WM_USER} + 20 ; TBS_AUTOTICKS required
  724. !define /math TBM_SETPAGESIZE ${WM_USER} + 21
  725. !define /math TBM_GETPAGESIZE ${WM_USER} + 22
  726. !define /math TBM_SETLINESIZE ${WM_USER} + 23
  727. !define /math TBM_GETLINESIZE ${WM_USER} + 24
  728. !define /math TBM_GETTHUMBRECT ${WM_USER} + 25
  729. !define /math TBM_GETCHANNELRECT ${WM_USER} + 26
  730. !define /math TBM_SETTHUMBLENGTH ${WM_USER} + 27
  731. !define /math TBM_GETTHUMBLENGTH ${WM_USER} + 28
  732. !define /math TBM_SETTOOLTIPS ${WM_USER} + 29 ; IE3
  733. !define /math TBM_GETTOOLTIPS ${WM_USER} + 30 ; IE3
  734. !define /math TBM_SETTIPSIDE ${WM_USER} + 31 ; IE3
  735. !define /math TBM_SETBUDDY ${WM_USER} + 32 ; IE3
  736. !define /math TBM_GETBUDDY ${WM_USER} + 33 ; IE3
  737. !define TBM_SETUNICODEFORMAT ${CCM_SETUNICODEFORMAT} ; IE4
  738. !define TBM_GETUNICODEFORMAT ${CCM_GETUNICODEFORMAT} ; IE4
  739. !define /math TBM_SETPOSNOTIFY ${WM_USER} + 34 ; 7?
  740. #UpDown controls#
  741. !define /math UDM_SETRANGE ${WM_USER} + 101
  742. !define /math UDM_GETRANGE ${WM_USER} + 102
  743. !define /math UDM_SETPOS ${WM_USER} + 103
  744. !define /math UDM_GETPOS ${WM_USER} + 104
  745. !define /math UDM_SETBUDDY ${WM_USER} + 105
  746. !define /math UDM_GETBUDDY ${WM_USER} + 106
  747. !define /math UDM_SETACCEL ${WM_USER} + 107
  748. !define /math UDM_GETACCEL ${WM_USER} + 108
  749. !define /math UDM_SETBASE ${WM_USER} + 109
  750. !define /math UDM_GETBASE ${WM_USER} + 110
  751. !define /math UDM_SETRANGE32 ${WM_USER} + 111 ; IE4
  752. !define /math UDM_GETRANGE32 ${WM_USER} + 112 ; IE4
  753. !define UDM_SETUNICODEFORMAT ${CCM_SETUNICODEFORMAT} ; IE4
  754. !define UDM_GETUNICODEFORMAT ${CCM_GETUNICODEFORMAT} ; IE4
  755. !define /math UDM_SETPOS32 ${WM_USER} + 113 ; IE5
  756. !define /math UDM_GETPOS32 ${WM_USER} + 114 ; IE5
  757. #HotKey control#
  758. !define /math HKM_SETHOTKEY ${WM_USER} + 1
  759. !define /math HKM_GETHOTKEY ${WM_USER} + 2
  760. !define /math HKM_SETRULES ${WM_USER} + 3
  761. !define /IfNDef HOTKEYF_SHIFT 0x01
  762. !define /IfNDef HOTKEYF_CONTROL 0x02
  763. !define /IfNDef HOTKEYF_ALT 0x04
  764. !define /IfNDef HOTKEYF_EXT 0x08
  765. !define HKCOMB_NONE 0x01
  766. !define HKCOMB_S 0x02
  767. !define HKCOMB_C 0x04
  768. !define HKCOMB_A 0x08
  769. !define HKCOMB_SC 0x10
  770. !define HKCOMB_SA 0x20
  771. !define HKCOMB_CA 0x40
  772. !define HKCOMB_SCA 0x80
  773. #IPAddress control#
  774. !define /math IPM_CLEARADDRESS ${WM_USER} + 100
  775. !define /math IPM_SETADDRESS ${WM_USER} + 101
  776. !define /math IPM_GETADDRESS ${WM_USER} + 102
  777. !define /math IPM_SETRANGE ${WM_USER} + 103
  778. !define /math IPM_SETFOCUS ${WM_USER} + 104
  779. !define /math IPM_ISBLANK ${WM_USER} + 105
  780. #NetworkAddress control#
  781. !define /math NCM_GETADDRESS ${WM_USER} + 1 ; Vista+
  782. !define /math NCM_SETALLOWTYPE ${WM_USER} + 2
  783. !define /math NCM_GETALLOWTYPE ${WM_USER} + 3
  784. !define /math NCM_DISPLAYERRORTIP ${WM_USER} + 4
  785. #Month calendar control#
  786. !define MCM_FIRST 0x1000
  787. !define /math MCM_GETCURSEL ${MCM_FIRST} + 1
  788. !define /math MCM_SETCURSEL ${MCM_FIRST} + 2
  789. !define /math MCM_GETMAXSELCOUNT ${MCM_FIRST} + 3
  790. !define /math MCM_SETMAXSELCOUNT ${MCM_FIRST} + 4
  791. !define /math MCM_GETSELRANGE ${MCM_FIRST} + 5
  792. !define /math MCM_SETSELRANGE ${MCM_FIRST} + 6
  793. !define /math MCM_GETMONTHRANGE ${MCM_FIRST} + 7
  794. !define /math MCM_SETDAYSTATE ${MCM_FIRST} + 8
  795. !define /math MCM_GETMINREQRECT ${MCM_FIRST} + 9
  796. !define /math MCM_SETCOLOR ${MCM_FIRST} + 10
  797. !define /math MCM_GETCOLOR ${MCM_FIRST} + 11
  798. !define /math MCM_SETTODAY ${MCM_FIRST} + 12
  799. !define /math MCM_GETTODAY ${MCM_FIRST} + 13
  800. !define /math MCM_HITTEST ${MCM_FIRST} + 14
  801. !define /math MCM_SETFIRSTDAYOFWEEK ${MCM_FIRST} + 15
  802. !define /math MCM_GETFIRSTDAYOFWEEK ${MCM_FIRST} + 16
  803. !define /math MCM_GETRANGE ${MCM_FIRST} + 17
  804. !define /math MCM_SETRANGE ${MCM_FIRST} + 18
  805. !define /math MCM_GETMONTHDELTA ${MCM_FIRST} + 19
  806. !define /math MCM_SETMONTHDELTA ${MCM_FIRST} + 20
  807. !define /math MCM_GETMAXTODAYWIDTH ${MCM_FIRST} + 21
  808. !define MCM_SETUNICODEFORMAT ${CCM_SETUNICODEFORMAT} ; IE4+
  809. !define MCM_GETUNICODEFORMAT ${CCM_SETUNICODEFORMAT} ; IE4+
  810. !define /math MCM_GETCURRENTVIEW ${MCM_FIRST} + 22 ; Vista+
  811. !define /math MCM_GETCALENDARCOUNT ${MCM_FIRST} + 23
  812. !define /math MCM_GETCALENDARGRIDINFO ${MCM_FIRST} + 24
  813. !define /math MCM_GETCALID ${MCM_FIRST} + 27
  814. !define /math MCM_SETCALID ${MCM_FIRST} + 28
  815. !define /math MCM_SIZERECTTOMIN ${MCM_FIRST} + 29
  816. !define /math MCM_SETCALENDARBORDER ${MCM_FIRST} + 30
  817. !define /math MCM_GETCALENDARBORDER ${MCM_FIRST} + 31
  818. !define /math MCM_SETCURRENTVIEW ${MCM_FIRST} + 32
  819. !define MCN_SELCHANGE -749
  820. !define MCN_GETDAYSTATE -747
  821. !define MCN_SELECT -746
  822. !define MCN_VIEWCHANGE -750 ; Vista+?
  823. #DateTime control#
  824. !define DTM_FIRST 0x1000
  825. !define /math DTM_GETSYSTEMTIME ${DTM_FIRST} + 1
  826. !define /math DTM_SETSYSTEMTIME ${DTM_FIRST} + 2
  827. !define /math DTM_SETFORMATA ${DTM_FIRST} + 5
  828. !define /math DTM_SETFORMATW ${DTM_FIRST} + 50
  829. ${_NSIS_DEFAW} DTM_SETFORMAT
  830. !define /math DTM_GETMONTHCAL ${DTM_FIRST} + 8
  831. !define /math DTM_SETMCFONT ${DTM_FIRST} + 9 ; IE4+?
  832. !define /math DTM_GETMCFONT ${DTM_FIRST} + 10 ; IE4+?
  833. !define /math DTM_SETMCSTYLE ${DTM_FIRST} + 11 ; Vista+?
  834. !define /math DTM_GETMCSTYLE ${DTM_FIRST} + 12 ; Vista+?
  835. !define /math DTM_CLOSEMONTHCAL ${DTM_FIRST} + 13 ; Vista+?
  836. !define DTN_DATETIMECHANGE -759
  837. !define /IfNDef GDT_ERROR -1
  838. !define /IfNDef GDT_VALID 0
  839. !define /IfNDef GDT_NONE 1
  840. !verbose pop
  841. !endif