]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/user32/user32.factor
windows: Add some words that would be useful for Windows notifications.
[factor.git] / basis / windows / user32 / user32.factor
1 ! Copyright (C) 2005, 2006 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien alien.c-types alien.syntax classes.struct
4 generalizations kernel literals math math.bitwise namespaces
5 parser system windows.com.syntax windows.kernel32 windows.ole32
6 windows.types ;
7 IN: windows.user32
8
9 ! HKL for ActivateKeyboardLayout
10 CONSTANT: HKL_PREV 0
11 CONSTANT: HKL_NEXT 1
12
13 CONSTANT: CW_USEDEFAULT 0x80000000
14
15 CONSTANT: WS_OVERLAPPED       0x00000000
16 CONSTANT: WS_POPUP            0x80000000
17 CONSTANT: WS_CHILD            0x40000000
18 CONSTANT: WS_MINIMIZE         0x20000000
19 CONSTANT: WS_VISIBLE          0x10000000
20 CONSTANT: WS_DISABLED         0x08000000
21 CONSTANT: WS_CLIPSIBLINGS     0x04000000
22 CONSTANT: WS_CLIPCHILDREN     0x02000000
23 CONSTANT: WS_MAXIMIZE         0x01000000
24 CONSTANT: WS_CAPTION          0x00C00000
25 CONSTANT: WS_BORDER           0x00800000
26 CONSTANT: WS_DLGFRAME         0x00400000
27 CONSTANT: WS_VSCROLL          0x00200000
28 CONSTANT: WS_HSCROLL          0x00100000
29 CONSTANT: WS_SYSMENU          0x00080000
30 CONSTANT: WS_THICKFRAME       0x00040000
31 CONSTANT: WS_GROUP            0x00020000
32 CONSTANT: WS_TABSTOP          0x00010000
33 CONSTANT: WS_MINIMIZEBOX      0x00020000
34 CONSTANT: WS_MAXIMIZEBOX      0x00010000
35
36 ! Common window styles
37 CONSTANT: WS_OVERLAPPEDWINDOW
38     flags{
39         WS_OVERLAPPED
40         WS_CAPTION
41         WS_SYSMENU
42         WS_THICKFRAME
43         WS_MINIMIZEBOX
44         WS_MAXIMIZEBOX
45     }
46
47 CONSTANT: WS_POPUPWINDOW flags{ WS_POPUP WS_BORDER WS_SYSMENU }
48
49 ALIAS: WS_CHILDWINDOW      WS_CHILD
50
51 ALIAS: WS_TILED            WS_OVERLAPPED
52 ALIAS: WS_ICONIC           WS_MINIMIZE
53 ALIAS: WS_SIZEBOX          WS_THICKFRAME
54 ALIAS: WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
55
56 ! Extended window styles
57
58 CONSTANT: WS_EX_DLGMODALFRAME     0x00000001
59 CONSTANT: WS_EX_NOPARENTNOTIFY    0x00000004
60 CONSTANT: WS_EX_TOPMOST           0x00000008
61 CONSTANT: WS_EX_ACCEPTFILES       0x00000010
62 CONSTANT: WS_EX_TRANSPARENT       0x00000020
63 CONSTANT: WS_EX_MDICHILD          0x00000040
64 CONSTANT: WS_EX_TOOLWINDOW        0x00000080
65 CONSTANT: WS_EX_WINDOWEDGE        0x00000100
66 CONSTANT: WS_EX_CLIENTEDGE        0x00000200
67 CONSTANT: WS_EX_CONTEXTHELP       0x00000400
68
69 CONSTANT: WS_EX_RIGHT             0x00001000
70 CONSTANT: WS_EX_LEFT              0x00000000
71 CONSTANT: WS_EX_RTLREADING        0x00002000
72 CONSTANT: WS_EX_LTRREADING        0x00000000
73 CONSTANT: WS_EX_LEFTSCROLLBAR     0x00004000
74 CONSTANT: WS_EX_RIGHTSCROLLBAR    0x00000000
75 CONSTANT: WS_EX_CONTROLPARENT     0x00010000
76 CONSTANT: WS_EX_STATICEDGE        0x00020000
77 CONSTANT: WS_EX_APPWINDOW         0x00040000
78
79 CONSTANT: WS_EX_OVERLAPPEDWINDOW
80     flags{ WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE }
81
82 CONSTANT: WS_EX_PALETTEWINDOW
83     flags{ WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW WS_EX_TOPMOST }
84
85 CONSTANT: CS_VREDRAW          0x0001
86 CONSTANT: CS_HREDRAW          0x0002
87 CONSTANT: CS_DBLCLKS          0x0008
88 CONSTANT: CS_OWNDC            0x0020
89 CONSTANT: CS_CLASSDC          0x0040
90 CONSTANT: CS_PARENTDC         0x0080
91 CONSTANT: CS_NOCLOSE          0x0200
92 CONSTANT: CS_SAVEBITS         0x0800
93 CONSTANT: CS_BYTEALIGNCLIENT  0x1000
94 CONSTANT: CS_BYTEALIGNWINDOW  0x2000
95 CONSTANT: CS_GLOBALCLASS      0x4000
96
97 CONSTANT: COLOR_SCROLLBAR         0
98 CONSTANT: COLOR_BACKGROUND        1
99 CONSTANT: COLOR_ACTIVECAPTION     2
100 CONSTANT: COLOR_INACTIVECAPTION   3
101 CONSTANT: COLOR_MENU              4
102 CONSTANT: COLOR_WINDOW            5
103 CONSTANT: COLOR_WINDOWFRAME       6
104 CONSTANT: COLOR_MENUTEXT          7
105 CONSTANT: COLOR_WINDOWTEXT        8
106 CONSTANT: COLOR_CAPTIONTEXT       9
107 CONSTANT: COLOR_ACTIVEBORDER      10
108 CONSTANT: COLOR_INACTIVEBORDER    11
109 CONSTANT: COLOR_APPWORKSPACE      12
110 CONSTANT: COLOR_HIGHLIGHT         13
111 CONSTANT: COLOR_HIGHLIGHTTEXT     14
112 CONSTANT: COLOR_BTNFACE           15
113 CONSTANT: COLOR_BTNSHADOW         16
114 CONSTANT: COLOR_GRAYTEXT          17
115 CONSTANT: COLOR_BTNTEXT           18
116 CONSTANT: COLOR_INACTIVECAPTIONTEXT 19
117 CONSTANT: COLOR_BTNHIGHLIGHT      20
118
119 ! ShowWindow() Commands
120 CONSTANT: SW_HIDE             0
121 CONSTANT: SW_SHOWNORMAL       1
122 CONSTANT: SW_NORMAL           1
123 CONSTANT: SW_SHOWMINIMIZED    2
124 CONSTANT: SW_SHOWMAXIMIZED    3
125 CONSTANT: SW_MAXIMIZE         3
126 CONSTANT: SW_SHOWNOACTIVATE   4
127 CONSTANT: SW_SHOW             5
128 CONSTANT: SW_MINIMIZE         6
129 CONSTANT: SW_SHOWMINNOACTIVE  7
130 CONSTANT: SW_SHOWNA           8
131 CONSTANT: SW_RESTORE          9
132 CONSTANT: SW_SHOWDEFAULT      10
133 CONSTANT: SW_FORCEMINIMIZE    11
134 CONSTANT: SW_MAX              11
135
136 ! PeekMessage
137 CONSTANT: PM_NOREMOVE   0
138 CONSTANT: PM_REMOVE     1
139 CONSTANT: PM_NOYIELD    2
140 ! : PM_QS_INPUT         (QS_INPUT << 16) ;
141 ! : PM_QS_POSTMESSAGE   ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16) ;
142 ! : PM_QS_PAINT         (QS_PAINT << 16) ;
143 ! : PM_QS_SENDMESSAGE   (QS_SENDMESSAGE << 16) ;
144
145
146 !
147 ! Standard Cursor IDs
148 !
149 CONSTANT: IDC_ARROW           32512
150 CONSTANT: IDC_IBEAM           32513
151 CONSTANT: IDC_WAIT            32514
152 CONSTANT: IDC_CROSS           32515
153 CONSTANT: IDC_UPARROW         32516
154 CONSTANT: IDC_SIZE            32640 ! OBSOLETE: use IDC_SIZEALL
155 CONSTANT: IDC_ICON            32641 ! OBSOLETE: use IDC_ARROW
156 CONSTANT: IDC_SIZENWSE        32642
157 CONSTANT: IDC_SIZENESW        32643
158 CONSTANT: IDC_SIZEWE          32644
159 CONSTANT: IDC_SIZENS          32645
160 CONSTANT: IDC_SIZEALL         32646
161 CONSTANT: IDC_NO              32648 ! not in win3.1
162 CONSTANT: IDC_HAND            32649
163 CONSTANT: IDC_APPSTARTING     32650 ! not in win3.1
164 CONSTANT: IDC_HELP            32651
165
166 ! Predefined Clipboard Formats
167 CONSTANT: CF_TEXT             1
168 CONSTANT: CF_BITMAP           2
169 CONSTANT: CF_METAFILEPICT     3
170 CONSTANT: CF_SYLK             4
171 CONSTANT: CF_DIF              5
172 CONSTANT: CF_TIFF             6
173 CONSTANT: CF_OEMTEXT          7
174 CONSTANT: CF_DIB              8
175 CONSTANT: CF_PALETTE          9
176 CONSTANT: CF_PENDATA          10
177 CONSTANT: CF_RIFF             11
178 CONSTANT: CF_WAVE             12
179 CONSTANT: CF_UNICODETEXT      13
180 CONSTANT: CF_ENHMETAFILE      14
181 CONSTANT: CF_HDROP            15
182 CONSTANT: CF_LOCALE           16
183 CONSTANT: CF_DIBV5            17
184 CONSTANT: CF_MAX              18
185
186 CONSTANT: CF_OWNERDISPLAY 0x0080
187 CONSTANT: CF_DSPTEXT 0x0081
188 CONSTANT: CF_DSPBITMAP 0x0082
189 CONSTANT: CF_DSPMETAFILEPICT 0x0083
190 CONSTANT: CF_DSPENHMETAFILE 0x008E
191
192 ! "Private" formats don't get GlobalFree()'d
193 CONSTANT: CF_PRIVATEFIRST 0x200
194 CONSTANT: CF_PRIVATELAST 0x2FF
195
196 ! "GDIOBJ" formats do get DeleteObject()'d
197 CONSTANT: CF_GDIOBJFIRST 0x300
198 CONSTANT: CF_GDIOBJLAST 0x3FF
199
200 ! Virtual Keys, Standard Set
201 CONSTANT: VK_LBUTTON        0x01
202 CONSTANT: VK_RBUTTON        0x02
203 CONSTANT: VK_CANCEL         0x03
204 CONSTANT: VK_MBUTTON        0x04  ! NOT contiguous with L & RBUTTON
205 CONSTANT: VK_XBUTTON1       0x05  ! NOT contiguous with L & RBUTTON
206 CONSTANT: VK_XBUTTON2       0x06  ! NOT contiguous with L & RBUTTON
207 ! 0x07 : unassigned
208 CONSTANT: VK_BACK           0x08
209 CONSTANT: VK_TAB            0x09
210 ! 0x0A - 0x0B : reserved
211
212 CONSTANT: VK_CLEAR          0x0C
213 CONSTANT: VK_RETURN         0x0D
214
215 CONSTANT: VK_SHIFT          0x10
216 CONSTANT: VK_CONTROL        0x11
217 CONSTANT: VK_MENU           0x12
218 CONSTANT: VK_PAUSE          0x13
219 CONSTANT: VK_CAPITAL        0x14
220
221 CONSTANT: VK_KANA           0x15
222 CONSTANT: VK_HANGEUL        0x15 ! old name - here for compatibility
223 CONSTANT: VK_HANGUL         0x15
224 CONSTANT: VK_JUNJA          0x17
225 CONSTANT: VK_FINAL          0x18
226 CONSTANT: VK_HANJA          0x19
227 CONSTANT: VK_KANJI          0x19
228
229 CONSTANT: VK_ESCAPE         0x1B
230
231 CONSTANT: VK_CONVERT        0x1C
232 CONSTANT: VK_NONCONVERT     0x1D
233 CONSTANT: VK_ACCEPT         0x1E
234 CONSTANT: VK_MODECHANGE     0x1F
235
236 CONSTANT: VK_SPACE          0x20
237 CONSTANT: VK_PRIOR          0x21
238 CONSTANT: VK_NEXT           0x22
239 CONSTANT: VK_END            0x23
240 CONSTANT: VK_HOME           0x24
241 CONSTANT: VK_LEFT           0x25
242 CONSTANT: VK_UP             0x26
243 CONSTANT: VK_RIGHT          0x27
244 CONSTANT: VK_DOWN           0x28
245 CONSTANT: VK_SELECT         0x29
246 CONSTANT: VK_PRINT          0x2A
247 CONSTANT: VK_EXECUTE        0x2B
248 CONSTANT: VK_SNAPSHOT       0x2C
249 CONSTANT: VK_INSERT         0x2D
250 CONSTANT: VK_DELETE         0x2E
251 CONSTANT: VK_HELP           0x2F
252
253 CONSTANT: VK_0 CHAR: 0
254 CONSTANT: VK_1 CHAR: 1
255 CONSTANT: VK_2 CHAR: 2
256 CONSTANT: VK_3 CHAR: 3
257 CONSTANT: VK_4 CHAR: 4
258 CONSTANT: VK_5 CHAR: 5
259 CONSTANT: VK_6 CHAR: 6
260 CONSTANT: VK_7 CHAR: 7
261 CONSTANT: VK_8 CHAR: 8
262 CONSTANT: VK_9 CHAR: 9
263
264 CONSTANT: VK_A CHAR: A
265 CONSTANT: VK_B CHAR: B
266 CONSTANT: VK_C CHAR: C
267 CONSTANT: VK_D CHAR: D
268 CONSTANT: VK_E CHAR: E
269 CONSTANT: VK_F CHAR: F
270 CONSTANT: VK_G CHAR: G
271 CONSTANT: VK_H CHAR: H
272 CONSTANT: VK_I CHAR: I
273 CONSTANT: VK_J CHAR: J
274 CONSTANT: VK_K CHAR: K
275 CONSTANT: VK_L CHAR: L
276 CONSTANT: VK_M CHAR: M
277 CONSTANT: VK_N CHAR: N
278 CONSTANT: VK_O CHAR: O
279 CONSTANT: VK_P CHAR: P
280 CONSTANT: VK_Q CHAR: Q
281 CONSTANT: VK_R CHAR: R
282 CONSTANT: VK_S CHAR: S
283 CONSTANT: VK_T CHAR: T
284 CONSTANT: VK_U CHAR: U
285 CONSTANT: VK_V CHAR: V
286 CONSTANT: VK_W CHAR: W
287 CONSTANT: VK_X CHAR: X
288 CONSTANT: VK_Y CHAR: Y
289 CONSTANT: VK_Z CHAR: Z
290
291 CONSTANT: VK_LWIN           0x5B
292 CONSTANT: VK_RWIN           0x5C
293 CONSTANT: VK_APPS           0x5D
294
295 ! 0x5E : reserved
296
297 CONSTANT: VK_SLEEP          0x5F
298
299 CONSTANT: VK_NUMPAD0        0x60
300 CONSTANT: VK_NUMPAD1        0x61
301 CONSTANT: VK_NUMPAD2        0x62
302 CONSTANT: VK_NUMPAD3        0x63
303 CONSTANT: VK_NUMPAD4        0x64
304 CONSTANT: VK_NUMPAD5        0x65
305 CONSTANT: VK_NUMPAD6        0x66
306 CONSTANT: VK_NUMPAD7        0x67
307 CONSTANT: VK_NUMPAD8        0x68
308 CONSTANT: VK_NUMPAD9        0x69
309 CONSTANT: VK_MULTIPLY       0x6A
310 CONSTANT: VK_ADD            0x6B
311 CONSTANT: VK_SEPARATOR      0x6C
312 CONSTANT: VK_SUBTRACT       0x6D
313 CONSTANT: VK_DECIMAL        0x6E
314 CONSTANT: VK_DIVIDE         0x6F
315 CONSTANT: VK_F1             0x70
316 CONSTANT: VK_F2             0x71
317 CONSTANT: VK_F3             0x72
318 CONSTANT: VK_F4             0x73
319 CONSTANT: VK_F5             0x74
320 CONSTANT: VK_F6             0x75
321 CONSTANT: VK_F7             0x76
322 CONSTANT: VK_F8             0x77
323 CONSTANT: VK_F9             0x78
324 CONSTANT: VK_F10            0x79
325 CONSTANT: VK_F11            0x7A
326 CONSTANT: VK_F12            0x7B
327 CONSTANT: VK_F13            0x7C
328 CONSTANT: VK_F14            0x7D
329 CONSTANT: VK_F15            0x7E
330 CONSTANT: VK_F16            0x7F
331 CONSTANT: VK_F17            0x80
332 CONSTANT: VK_F18            0x81
333 CONSTANT: VK_F19            0x82
334 CONSTANT: VK_F20            0x83
335 CONSTANT: VK_F21            0x84
336 CONSTANT: VK_F22            0x85
337 CONSTANT: VK_F23            0x86
338 CONSTANT: VK_F24            0x87
339
340 ! 0x88 - 0x8F : unassigned
341
342 CONSTANT: VK_NUMLOCK        0x90
343 CONSTANT: VK_SCROLL         0x91
344
345 ! NEC PC-9800 kbd definitions
346 CONSTANT: VK_OEM_NEC_EQUAL  0x92  ! '=' key on numpad
347
348 ! Fujitsu/OASYS kbd definitions
349 CONSTANT: VK_OEM_FJ_JISHO   0x92  ! 'Dictionary' key
350 CONSTANT: VK_OEM_FJ_MASSHOU 0x93  ! 'Unregister word' key
351 CONSTANT: VK_OEM_FJ_TOUROKU 0x94  ! 'Register word' key
352 CONSTANT: VK_OEM_FJ_LOYA    0x95  ! 'Left OYAYUBI' key
353 CONSTANT: VK_OEM_FJ_ROYA    0x96  ! 'Right OYAYUBI' key
354
355 ! 0x97 - 0x9F : unassigned
356
357 ! VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
358 ! Used only as parameters to GetAsyncKeyState() and GetKeyState().
359 ! No other API or message will distinguish left and right keys in this way.
360 CONSTANT: VK_LSHIFT         0xA0
361 CONSTANT: VK_RSHIFT         0xA1
362 CONSTANT: VK_LCONTROL       0xA2
363 CONSTANT: VK_RCONTROL       0xA3
364 CONSTANT: VK_LMENU          0xA4
365 CONSTANT: VK_RMENU          0xA5
366
367 CONSTANT: VK_BROWSER_BACK        0xA6
368 CONSTANT: VK_BROWSER_FORWARD     0xA7
369 CONSTANT: VK_BROWSER_REFRESH     0xA8
370 CONSTANT: VK_BROWSER_STOP        0xA9
371 CONSTANT: VK_BROWSER_SEARCH      0xAA
372 CONSTANT: VK_BROWSER_FAVORITES   0xAB
373 CONSTANT: VK_BROWSER_HOME        0xAC
374
375 CONSTANT: VK_VOLUME_MUTE         0xAD
376 CONSTANT: VK_VOLUME_DOWN         0xAE
377 CONSTANT: VK_VOLUME_UP           0xAF
378 CONSTANT: VK_MEDIA_NEXT_TRACK    0xB0
379 CONSTANT: VK_MEDIA_PREV_TRACK    0xB1
380 CONSTANT: VK_MEDIA_STOP          0xB2
381 CONSTANT: VK_MEDIA_PLAY_PAUSE    0xB3
382 CONSTANT: VK_LAUNCH_MAIL         0xB4
383 CONSTANT: VK_LAUNCH_MEDIA_SELECT 0xB5
384 CONSTANT: VK_LAUNCH_APP1         0xB6
385 CONSTANT: VK_LAUNCH_APP2         0xB7
386
387 ! 0xB8 - 0xB9 : reserved
388
389 CONSTANT: VK_OEM_1          0xBA  ! ';:' for US
390 CONSTANT: VK_OEM_PLUS       0xBB  ! '+' any country
391 CONSTANT: VK_OEM_COMMA      0xBC  ! ',' any country
392 CONSTANT: VK_OEM_MINUS      0xBD  ! '-' any country
393 CONSTANT: VK_OEM_PERIOD     0xBE  ! '.' any country
394 CONSTANT: VK_OEM_2          0xBF  ! '/?' for US
395 CONSTANT: VK_OEM_3          0xC0  ! '`~' for US
396
397 ! 0xC1 - 0xD7 : reserved
398
399 ! 0xD8 - 0xDA : unassigned
400
401 CONSTANT: VK_OEM_4          0xDB !  '[{' for US
402 CONSTANT: VK_OEM_5          0xDC !  '\|' for US
403 CONSTANT: VK_OEM_6          0xDD !  ']}' for US
404 CONSTANT: VK_OEM_7          0xDE !  ''"' for US
405 CONSTANT: VK_OEM_8          0xDF
406
407 ! 0xE0 : reserved
408
409 ! Various extended or enhanced keyboards
410 CONSTANT: VK_OEM_AX         0xE1 !  'AX' key on Japanese AX kbd
411 CONSTANT: VK_OEM_102        0xE2 !  "<>" or "\|" on RT 102-key kbd.
412 CONSTANT: VK_ICO_HELP       0xE3 !  Help key on ICO
413 CONSTANT: VK_ICO_00         0xE4 !  00 key on ICO
414
415 CONSTANT: VK_PROCESSKEY     0xE5
416
417 CONSTANT: VK_ICO_CLEAR      0xE6
418
419 CONSTANT: VK_PACKET         0xE7
420
421 ! 0xE8 : unassigned
422
423 ! Nokia/Ericsson definitions
424 CONSTANT: VK_OEM_RESET      0xE9
425 CONSTANT: VK_OEM_JUMP       0xEA
426 CONSTANT: VK_OEM_PA1        0xEB
427 CONSTANT: VK_OEM_PA2        0xEC
428 CONSTANT: VK_OEM_PA3        0xED
429 CONSTANT: VK_OEM_WSCTRL     0xEE
430 CONSTANT: VK_OEM_CUSEL      0xEF
431 CONSTANT: VK_OEM_ATTN       0xF0
432 CONSTANT: VK_OEM_FINISH     0xF1
433 CONSTANT: VK_OEM_COPY       0xF2
434 CONSTANT: VK_OEM_AUTO       0xF3
435 CONSTANT: VK_OEM_ENLW       0xF4
436 CONSTANT: VK_OEM_BACKTAB    0xF5
437
438 CONSTANT: VK_ATTN           0xF6
439 CONSTANT: VK_CRSEL          0xF7
440 CONSTANT: VK_EXSEL          0xF8
441 CONSTANT: VK_EREOF          0xF9
442 CONSTANT: VK_PLAY           0xFA
443 CONSTANT: VK_ZOOM           0xFB
444 CONSTANT: VK_NONAME         0xFC
445 CONSTANT: VK_PA1            0xFD
446 CONSTANT: VK_OEM_CLEAR      0xFE
447 ! 0xFF : reserved
448
449 ! Key State Masks for Mouse Messages
450 CONSTANT: MK_LBUTTON          0x0001
451 CONSTANT: MK_RBUTTON          0x0002
452 CONSTANT: MK_SHIFT            0x0004
453 CONSTANT: MK_CONTROL          0x0008
454 CONSTANT: MK_MBUTTON          0x0010
455 CONSTANT: MK_XBUTTON1         0x0020
456 CONSTANT: MK_XBUTTON2         0x0040
457
458 ! Some fields are not defined for win64
459 ! Window field offsets for GetWindowLong()
460 CONSTANT: GWL_WNDPROC         -4
461 CONSTANT: GWL_HINSTANCE       -6
462 CONSTANT: GWL_HWNDPARENT      -8
463 CONSTANT: GWL_USERDATA        -21
464 CONSTANT: GWL_ID              -12
465
466 CONSTANT: GWL_STYLE           -16
467 CONSTANT: GWL_EXSTYLE         -20
468
469 CONSTANT: GWLP_WNDPROC        -4
470 CONSTANT: GWLP_HINSTANCE      -6
471 CONSTANT: GWLP_HWNDPARENT     -8
472 CONSTANT: GWLP_USERDATA       -21
473 CONSTANT: GWLP_ID             -12
474
475 ! Class field offsets for GetClassLong()
476 CONSTANT: GCL_MENUNAME        -8
477 CONSTANT: GCL_HBRBACKGROUND   -10
478 CONSTANT: GCL_HCURSOR         -12
479 CONSTANT: GCL_HICON           -14
480 CONSTANT: GCL_HMODULE         -16
481 CONSTANT: GCL_WNDPROC         -24
482 CONSTANT: GCL_HICONSM         -34
483 CONSTANT: GCL_CBWNDEXTRA      -18
484 CONSTANT: GCL_CBCLSEXTRA      -20
485 CONSTANT: GCL_STYLE           -26
486 CONSTANT: GCW_ATOM            -32
487
488 CONSTANT: GCLP_MENUNAME       -8
489 CONSTANT: GCLP_HBRBACKGROUND  -10
490 CONSTANT: GCLP_HCURSOR        -12
491 CONSTANT: GCLP_HICON          -14
492 CONSTANT: GCLP_HMODULE        -16
493 CONSTANT: GCLP_WNDPROC        -24
494 CONSTANT: GCLP_HICONSM        -34
495
496 CONSTANT: MB_ICONASTERISK    0x00000040
497 CONSTANT: MB_ICONEXCLAMATION 0x00000030
498 CONSTANT: MB_ICONHAND        0x00000010
499 CONSTANT: MB_ICONQUESTION    0x00000020
500 CONSTANT: MB_OK              0x00000000
501
502 ALIAS: FVIRTKEY TRUE
503 CONSTANT: FNOINVERT 2
504 CONSTANT: FSHIFT 4
505 CONSTANT: FCONTROL 8
506 CONSTANT: FALT 16
507
508 CONSTANT: MAPVK_VK_TO_VSC 0
509 CONSTANT: MAPVK_VSC_TO_VK 1
510 CONSTANT: MAPVK_VK_TO_CHAR 2
511 CONSTANT: MAPVK_VSC_TO_VK_EX 3
512 CONSTANT: MAPVK_VK_TO_VSC_EX 3
513
514 CONSTANT: TME_HOVER 1
515 CONSTANT: TME_LEAVE 2
516 CONSTANT: TME_NONCLIENT 16
517 CONSTANT: TME_QUERY 0x40000000
518 CONSTANT: TME_CANCEL 0x80000000
519 CONSTANT: HOVER_DEFAULT 0xffffffff
520 STRUCT: TRACKMOUSEEVENT
521     { cbSize DWORD }
522     { dwFlags DWORD }
523     { hwndTrack HWND }
524     { dwHoverTime DWORD } ;
525 TYPEDEF: TRACKMOUSEEVENT* LPTRACKMOUSEEVENT
526
527 CONSTANT: DBT_DEVICEARRIVAL 0x8000
528 CONSTANT: DBT_DEVICEREMOVECOMPLETE 0x8004
529
530 CONSTANT: DBT_DEVTYP_DEVICEINTERFACE 5
531
532 CONSTANT: DEVICE_NOTIFY_WINDOW_HANDLE 0
533 CONSTANT: DEVICE_NOTIFY_SERVICE_HANDLE 1
534
535 CONSTANT: DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 4
536
537 STRUCT: DEV_BROADCAST_HDR
538     { dbch_size DWORD }
539     { dbch_devicetype DWORD }
540     { dbch_reserved DWORD } ;
541
542 STRUCT: DEV_BROADCAST_DEVICEW
543     { dbcc_size DWORD }
544     { dbcc_devicetype DWORD }
545     { dbcc_reserved DWORD }
546     { dbcc_classguid GUID }
547     { dbcc_name WCHAR[1] } ;
548
549 CONSTANT: CCHDEVICENAME 32
550
551 STRUCT: MONITORINFOEX
552     { cbSize DWORD }
553     { rcMonitor RECT }
554     { rcWork RECT }
555     { dwFlags DWORD }
556     { szDevice { TCHAR CCHDEVICENAME } } ;
557
558 TYPEDEF: MONITORINFOEX* LPMONITORINFOEX
559 TYPEDEF: MONITORINFOEX* LPMONITORINFO
560
561 CONSTANT: MONITOR_DEFAULTTONULL 0
562 CONSTANT: MONITOR_DEFAULTTOPRIMARY 1
563 CONSTANT: MONITOR_DEFAULTTONEAREST 2
564 CONSTANT: MONITORINFOF_PRIMARY 1
565 CONSTANT: SWP_NOSIZE 1
566 CONSTANT: SWP_NOMOVE 2
567 CONSTANT: SWP_NOZORDER 4
568 CONSTANT: SWP_NOREDRAW 8
569 CONSTANT: SWP_NOACTIVATE 16
570 CONSTANT: SWP_FRAMECHANGED 32
571 CONSTANT: SWP_SHOWWINDOW 64
572 CONSTANT: SWP_HIDEWINDOW 128
573 CONSTANT: SWP_NOCOPYBITS 256
574 CONSTANT: SWP_NOOWNERZORDER 512
575 CONSTANT: SWP_NOSENDCHANGING 1024
576 ALIAS: SWP_DRAWFRAME SWP_FRAMECHANGED
577 ALIAS: SWP_NOREPOSITION SWP_NOOWNERZORDER
578 CONSTANT: SWP_DEFERERASE 8192
579 CONSTANT: SWP_ASYNCWINDOWPOS 16384
580
581 CONSTANT: MF_ENABLED         0x0000
582 CONSTANT: MF_GRAYED          0x0001
583 CONSTANT: MF_DISABLED        0x0002
584 CONSTANT: MF_STRING          0x0000
585 CONSTANT: MF_BITMAP          0x0004
586 CONSTANT: MF_UNCHECKED       0x0000
587 CONSTANT: MF_CHECKED         0x0008
588 CONSTANT: MF_POPUP           0x0010
589 CONSTANT: MF_MENUBARBREAK    0x0020
590 CONSTANT: MF_MENUBREAK       0x0040
591 CONSTANT: MF_UNHILITE        0x0000
592 CONSTANT: MF_HILITE          0x0080
593 CONSTANT: MF_OWNERDRAW       0x0100
594 CONSTANT: MF_USECHECKBITMAPS 0x0200
595 CONSTANT: MF_BYCOMMAND       0x0000
596 CONSTANT: MF_BYPOSITION      0x0400
597 CONSTANT: MF_SEPARATOR       0x0800
598 CONSTANT: MF_DEFAULT         0x1000
599 CONSTANT: MF_SYSMENU         0x2000
600 CONSTANT: MF_HELP            0x4000
601 CONSTANT: MF_RIGHTJUSTIFY    0x4000
602 CONSTANT: MF_MOUSESELECT     0x8000
603
604 CONSTANT: SPI_GETBEEP               1
605 CONSTANT: SPI_SETBEEP               2
606 CONSTANT: SPI_GETMOUSE              3
607 CONSTANT: SPI_SETMOUSE              4
608 CONSTANT: SPI_GETBORDER             5
609 CONSTANT: SPI_SETBORDER             6
610 CONSTANT: SPI_GETKEYBOARDSPEED      10
611 CONSTANT: SPI_SETKEYBOARDSPEED      11
612 CONSTANT: SPI_LANGDRIVER            12
613 CONSTANT: SPI_ICONHORIZONTALSPACING 13
614 CONSTANT: SPI_GETSCREENSAVETIMEOUT  14
615 CONSTANT: SPI_SETSCREENSAVETIMEOUT  15
616 CONSTANT: SPI_GETSCREENSAVEACTIVE   16
617 CONSTANT: SPI_SETSCREENSAVEACTIVE   17
618 CONSTANT: SPI_GETGRIDGRANULARITY    18
619 CONSTANT: SPI_SETGRIDGRANULARITY    19
620 CONSTANT: SPI_SETDESKWALLPAPER      20
621 CONSTANT: SPI_SETDESKPATTERN        21
622 CONSTANT: SPI_GETKEYBOARDDELAY      22
623 CONSTANT: SPI_SETKEYBOARDDELAY      23
624 CONSTANT: SPI_ICONVERTICALSPACING   24
625 CONSTANT: SPI_GETICONTITLEWRAP      25
626 CONSTANT: SPI_SETICONTITLEWRAP      26
627 CONSTANT: SPI_GETMENUDROPALIGNMENT  27
628 CONSTANT: SPI_SETMENUDROPALIGNMENT  28
629 CONSTANT: SPI_SETDOUBLECLKWIDTH     29
630 CONSTANT: SPI_SETDOUBLECLKHEIGHT    30
631 CONSTANT: SPI_GETICONTITLELOGFONT   31
632 CONSTANT: SPI_SETDOUBLECLICKTIME    32
633 CONSTANT: SPI_SETMOUSEBUTTONSWAP    33
634 CONSTANT: SPI_SETICONTITLELOGFONT   34
635 CONSTANT: SPI_GETFASTTASKSWITCH     35
636 CONSTANT: SPI_SETFASTTASKSWITCH     36
637 CONSTANT: SPI_SETDRAGFULLWINDOWS    37
638 CONSTANT: SPI_GETDRAGFULLWINDOWS    38
639
640 CONSTANT: SPI_GETFILTERKEYS         50
641 CONSTANT: SPI_SETFILTERKEYS         51
642 CONSTANT: SPI_GETTOGGLEKEYS         52
643 CONSTANT: SPI_SETTOGGLEKEYS         53
644 CONSTANT: SPI_GETMOUSEKEYS          54
645 CONSTANT: SPI_SETMOUSEKEYS          55
646 CONSTANT: SPI_GETSHOWSOUNDS         56
647 CONSTANT: SPI_SETSHOWSOUNDS         57
648 CONSTANT: SPI_GETSTICKYKEYS         58
649 CONSTANT: SPI_SETSTICKYKEYS         59
650 CONSTANT: SPI_GETACCESSTIMEOUT      60
651 CONSTANT: SPI_SETACCESSTIMEOUT      61
652
653 CONSTANT: SPI_GETSOUNDSENTRY        64
654 CONSTANT: SPI_SETSOUNDSENTRY        65
655
656 ! WINVER >= 0x0400
657 CONSTANT: SPI_GETNONCLIENTMETRICS   41
658 CONSTANT: SPI_SETNONCLIENTMETRICS   42
659 CONSTANT: SPI_GETMINIMIZEDMETRICS   43
660 CONSTANT: SPI_SETMINIMIZEDMETRICS   44
661 CONSTANT: SPI_GETICONMETRICS        45
662 CONSTANT: SPI_SETICONMETRICS        46
663 CONSTANT: SPI_SETWORKAREA           47
664 CONSTANT: SPI_GETWORKAREA           48
665 CONSTANT: SPI_SETPENWINDOWS         49
666
667 CONSTANT: SPI_GETSERIALKEYS         62
668 CONSTANT: SPI_SETSERIALKEYS         63
669 CONSTANT: SPI_GETHIGHCONTRAST       66
670 CONSTANT: SPI_SETHIGHCONTRAST       67
671 CONSTANT: SPI_GETKEYBOARDPREF       68
672 CONSTANT: SPI_SETKEYBOARDPREF       69
673 CONSTANT: SPI_GETSCREENREADER       70
674 CONSTANT: SPI_SETSCREENREADER       71
675 CONSTANT: SPI_GETANIMATION          72
676 CONSTANT: SPI_SETANIMATION          73
677 CONSTANT: SPI_GETFONTSMOOTHING      74
678 CONSTANT: SPI_SETFONTSMOOTHING      75
679 CONSTANT: SPI_SETDRAGWIDTH          76
680 CONSTANT: SPI_SETDRAGHEIGHT         77
681 CONSTANT: SPI_SETHANDHELD           78
682 CONSTANT: SPI_GETLOWPOWERTIMEOUT    79
683 CONSTANT: SPI_GETPOWEROFFTIMEOUT    80
684 CONSTANT: SPI_SETLOWPOWERTIMEOUT    81
685 CONSTANT: SPI_SETPOWEROFFTIMEOUT    82
686 CONSTANT: SPI_GETLOWPOWERACTIVE     83
687 CONSTANT: SPI_GETPOWEROFFACTIVE     84
688 CONSTANT: SPI_SETLOWPOWERACTIVE     85
689 CONSTANT: SPI_SETPOWEROFFACTIVE     86
690 CONSTANT: SPI_SETCURSORS            87
691 CONSTANT: SPI_SETICONS              88
692 CONSTANT: SPI_GETDEFAULTINPUTLANG   89
693 CONSTANT: SPI_SETDEFAULTINPUTLANG   90
694 CONSTANT: SPI_SETLANGTOGGLE         91
695 CONSTANT: SPI_GETWINDOWSEXTENSION   92
696 CONSTANT: SPI_SETMOUSETRAILS        93
697 CONSTANT: SPI_GETMOUSETRAILS        94
698 CONSTANT: SPI_SETSCREENSAVERRUNNING 97
699 ALIAS: SPI_SCREENSAVERRUNNING    SPI_SETSCREENSAVERRUNNING
700
701 ! WIN32_WINNT >= 0x0400 || WIN32_WINDOWS > 0x0400
702 CONSTANT: SPI_GETMOUSEHOVERWIDTH    98
703 CONSTANT: SPI_SETMOUSEHOVERWIDTH    99
704 CONSTANT: SPI_GETMOUSEHOVERHEIGHT   100
705 CONSTANT: SPI_SETMOUSEHOVERHEIGHT   101
706 CONSTANT: SPI_GETMOUSEHOVERTIME     102
707 CONSTANT: SPI_SETMOUSEHOVERTIME     103
708 CONSTANT: SPI_GETWHEELSCROLLLINES   104
709 CONSTANT: SPI_SETWHEELSCROLLLINES   105
710
711 CONSTANT: SPI_GETSHOWIMEUI          110
712 CONSTANT: SPI_SETSHOWIMEUI          111
713
714 ! WINVER >= 0x0500
715 CONSTANT: SPI_GETMOUSESPEED         112
716 CONSTANT: SPI_SETMOUSESPEED         113
717 CONSTANT: SPI_GETSCREENSAVERRUNNING 114
718
719 CONSTANT: SPI_GETACTIVEWINDOWTRACKING    0x1000
720 CONSTANT: SPI_SETACTIVEWINDOWTRACKING    0x1001
721 CONSTANT: SPI_GETMENUANIMATION           0x1002
722 CONSTANT: SPI_SETMENUANIMATION           0x1003
723 CONSTANT: SPI_GETCOMBOBOXANIMATION       0x1004
724 CONSTANT: SPI_SETCOMBOBOXANIMATION       0x1005
725 CONSTANT: SPI_GETLISTBOXSMOOTHSCROLLING  0x1006
726 CONSTANT: SPI_SETLISTBOXSMOOTHSCROLLING  0x1007
727 CONSTANT: SPI_GETGRADIENTCAPTIONS        0x1008
728 CONSTANT: SPI_SETGRADIENTCAPTIONS        0x1009
729 CONSTANT: SPI_GETMENUUNDERLINES          0x100A
730 CONSTANT: SPI_SETMENUUNDERLINES          0x100B
731 CONSTANT: SPI_GETACTIVEWNDTRKZORDER      0x100C
732 CONSTANT: SPI_SETACTIVEWNDTRKZORDER      0x100D
733 CONSTANT: SPI_GETHOTTRACKING             0x100E
734 CONSTANT: SPI_SETHOTTRACKING             0x100F
735 CONSTANT: SPI_GETFOREGROUNDLOCKTIMEOUT   0x2000
736 CONSTANT: SPI_SETFOREGROUNDLOCKTIMEOUT   0x2001
737 CONSTANT: SPI_GETACTIVEWNDTRKTIMEOUT     0x2002
738 CONSTANT: SPI_SETACTIVEWNDTRKTIMEOUT     0x2003
739 CONSTANT: SPI_GETFOREGROUNDFLASHCOUNT    0x2004
740 CONSTANT: SPI_SETFOREGROUNDFLASHCOUNT    0x2005
741
742 ! SystemParamInfo Flags
743 CONSTANT: SPIF_UPDATEINIFILE              1
744 CONSTANT: SPIF_SENDWININICHANGE           2
745 ALIAS: SPIF_SENDCHANGE                 SPIF_SENDWININICHANGE
746
747
748 TYPEDEF: HANDLE HRAWINPUT
749 : GET_RAWINPUT_CODE_WPARAM ( wParam -- n ) 0xff bitand ; inline
750
751 CONSTANT: RIM_INPUT        0
752 CONSTANT: RIM_INPUTSINK    1
753
754 CONSTANT: RIM_TYPEMOUSE    0
755 CONSTANT: RIM_TYPEKEYBOARD 1
756 CONSTANT: RIM_TYPEHID      2
757
758 STRUCT: RAWINPUTHEADER
759     { dwType  DWORD  }
760     { dwSize  DWORD  }
761     { hDevice HANDLE }
762     { wParam  WPARAM } ;
763 TYPEDEF: RAWINPUTHEADER* PRAWINPUTHEADER
764 TYPEDEF: RAWINPUTHEADER* LPRAWINPUTHEADER
765 STRUCT: RAWMOUSE_BUTTONS_USBUTTONS
766     { usButtonFlags USHORT }
767     { usButtonData  USHORT } ;
768
769 UNION-STRUCT: RAWMOUSE_BUTTONS
770     { ulButtons ULONG                      }
771     { usButtons RAWMOUSE_BUTTONS_USBUTTONS } ;
772 STRUCT: RAWMOUSE
773     { usFlags            USHORT            }
774     { uButtons           RAWMOUSE_BUTTONS  }
775     { ulRawButtons       ULONG             }
776     { lLastX             LONG              }
777     { lLastY             LONG              }
778     { ulExtraInformation ULONG             } ;
779 TYPEDEF: RAWMOUSE* PRAWMOUSE
780 TYPEDEF: RAWMOUSE* LPRAWMOUSE
781
782 CONSTANT: RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
783 CONSTANT: RI_MOUSE_LEFT_BUTTON_UP     0x0002
784 CONSTANT: RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
785 CONSTANT: RI_MOUSE_RIGHT_BUTTON_UP    0x0008
786 CONSTANT: RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
787 CONSTANT: RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
788
789 : RI_MOUSE_BUTTON_1_DOWN      ( -- n ) RI_MOUSE_LEFT_BUTTON_DOWN ; inline
790 : RI_MOUSE_BUTTON_1_UP        ( -- n ) RI_MOUSE_LEFT_BUTTON_UP ; inline
791 : RI_MOUSE_BUTTON_2_DOWN      ( -- n ) RI_MOUSE_RIGHT_BUTTON_DOWN ; inline
792 : RI_MOUSE_BUTTON_2_UP        ( -- n ) RI_MOUSE_RIGHT_BUTTON_UP ; inline
793 : RI_MOUSE_BUTTON_3_DOWN      ( -- n ) RI_MOUSE_MIDDLE_BUTTON_DOWN ; inline
794 : RI_MOUSE_BUTTON_3_UP        ( -- n ) RI_MOUSE_MIDDLE_BUTTON_UP ; inline
795
796 CONSTANT: RI_MOUSE_BUTTON_4_DOWN      0x0040
797 CONSTANT: RI_MOUSE_BUTTON_4_UP        0x0080
798 CONSTANT: RI_MOUSE_BUTTON_5_DOWN      0x0100
799 CONSTANT: RI_MOUSE_BUTTON_5_UP        0x0200
800 CONSTANT: RI_MOUSE_WHEEL              0x0400
801
802 CONSTANT: MOUSE_MOVE_RELATIVE      0
803 CONSTANT: MOUSE_MOVE_ABSOLUTE      1
804 CONSTANT: MOUSE_VIRTUAL_DESKTOP    0x02
805 CONSTANT: MOUSE_ATTRIBUTES_CHANGED 0x04
806 CONSTANT: MOUSE_MOVE_NOCOALESCE    0x08
807
808 STRUCT: RAWKEYBOARD
809     { MakeCode         USHORT }
810     { Flags            USHORT }
811     { Reserved         USHORT }
812     { VKey             USHORT }
813     { Message          UINT   }
814     { ExtraInformation ULONG  } ;
815 TYPEDEF: RAWKEYBOARD* PRAWKEYBOARD
816 TYPEDEF: RAWKEYBOARD* LPRAWKEYBOARD
817
818 CONSTANT: KEYBOARD_OVERRUN_MAKE_CODE    0xFF
819
820 CONSTANT: RI_KEY_MAKE             0
821 CONSTANT: RI_KEY_BREAK            1
822 CONSTANT: RI_KEY_E0               2
823 CONSTANT: RI_KEY_E1               4
824 CONSTANT: RI_KEY_TERMSRV_SET_LED  8
825 CONSTANT: RI_KEY_TERMSRV_SHADOW   0x10
826
827 STRUCT: RAWHID
828     { dwSizeHid DWORD   }
829     { dwCount   DWORD   }
830     { bRawData  BYTE[1] } ;
831 TYPEDEF: RAWHID* PRAWHID
832 TYPEDEF: RAWHID* LPRAWHID
833
834 UNION-STRUCT: RAWINPUT_UNION
835     { mouse    RAWMOUSE }
836     { keyboard RAWKEYBOARD }
837     { hid      RAWHID } ;
838 STRUCT: RAWINPUT
839     { header RAWINPUTHEADER }
840     { data   RAWINPUT_UNION } ;
841 TYPEDEF: RAWINPUT* PRAWINPUT
842 TYPEDEF: RAWINPUT* LPRAWINPUT
843
844 : RAWINPUT_ALIGN ( x -- y )
845     cpu x86.32 = [ 4 ] [ 8 ] if align ; inline
846 : NEXTRAWINPUTBLOCK ( struct -- next-struct )
847     dup header>> dwSize>> swap <displaced-alien> RAWINPUT_ALIGN RAWINPUT memory>struct ; inline
848
849 CONSTANT: RID_INPUT               0x10000003
850 CONSTANT: RID_HEADER              0x10000005
851 CONSTANT: RIDI_PREPARSEDDATA      0x20000005
852 CONSTANT: RIDI_DEVICENAME         0x20000007
853 CONSTANT: RIDI_DEVICEINFO         0x2000000b
854
855 STRUCT: RID_DEVICE_INFO_MOUSE
856     { dwId                 DWORD }
857     { dwNumberOfButtons    DWORD }
858     { dwSampleRate         DWORD }
859     { fHasHorizontalWheel  BOOL  } ;
860 TYPEDEF: RID_DEVICE_INFO_MOUSE* PRID_DEVICE_INFO_MOUSE
861
862 STRUCT: RID_DEVICE_INFO_KEYBOARD
863     { dwType                 DWORD }
864     { dwSubType              DWORD }
865     { dwKeyboardMode         DWORD }
866     { dwNumberOfFunctionKeys DWORD }
867     { dwNumberOfIndicators   DWORD }
868     { dwNumberOfKeysTotal    DWORD } ;
869 TYPEDEF: RID_DEVICE_INFO_KEYBOARD* PRID_DEVICE_INFO_KEYBOARD
870
871 STRUCT: RID_DEVICE_INFO_HID
872     { dwVendorId      DWORD  }
873     { dwProductId     DWORD  }
874     { dwVersionNumber DWORD  }
875     { usUsagePage     USHORT }
876     { usUsage         USHORT } ;
877 TYPEDEF: RID_DEVICE_INFO_HID* PRID_DEVICE_INFO_HID
878
879 UNION-STRUCT: RID_DEVICE_INFO_UNION
880     { mouse    RID_DEVICE_INFO_MOUSE    }
881     { keyboard RID_DEVICE_INFO_KEYBOARD }
882     { hid      RID_DEVICE_INFO_HID      } ;
883 STRUCT: RID_DEVICE_INFO
884     { cbSize DWORD                 }
885     { dwType DWORD                 }
886     { data   RID_DEVICE_INFO_UNION } ;
887 TYPEDEF: RID_DEVICE_INFO* PRID_DEVICE_INFO
888 TYPEDEF: RID_DEVICE_INFO* LPRID_DEVICE_INFO
889
890 STRUCT: RAWINPUTDEVICE
891     { usUsagePage USHORT }
892     { usUsage     USHORT }
893     { dwFlags     DWORD  }
894     { hwndTarget  HWND   } ;
895 TYPEDEF: RAWINPUTDEVICE* PRAWINPUTDEVICE
896 TYPEDEF: RAWINPUTDEVICE* LPRAWINPUTDEVICE
897 TYPEDEF: RAWINPUTDEVICE* PCRAWINPUTDEVICE
898
899 CONSTANT: RIDEV_REMOVE            0x00000001
900 CONSTANT: RIDEV_EXCLUDE           0x00000010
901 CONSTANT: RIDEV_PAGEONLY          0x00000020
902 CONSTANT: RIDEV_NOLEGACY          0x00000030
903 CONSTANT: RIDEV_INPUTSINK         0x00000100
904 CONSTANT: RIDEV_CAPTUREMOUSE      0x00000200
905 CONSTANT: RIDEV_NOHOTKEYS         0x00000200
906 CONSTANT: RIDEV_APPKEYS           0x00000400
907 CONSTANT: RIDEV_EXINPUTSINK       0x00001000
908 CONSTANT: RIDEV_DEVNOTIFY         0x00002000
909 CONSTANT: RIDEV_EXMODEMASK        0x000000F0
910
911 : RIDEV_EXMODE ( mode -- x ) RIDEV_EXMODEMASK bitand ; inline
912
913 CONSTANT: GIDC_ARRIVAL             1
914 CONSTANT: GIDC_REMOVAL             2
915
916 : GET_DEVICE_CHANGE_WPARAM ( wParam -- x ) 0xffff bitand ; inline
917
918 STRUCT: RAWINPUTDEVICELIST
919     { hDevice HANDLE }
920     { dwType  DWORD  } ;
921 TYPEDEF: RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST
922
923 CONSTANT: CCHFORMNAME 32
924
925 CONSTANT: CDS_UPDATEREGISTRY      0x00000001
926 CONSTANT: CDS_TEST                0x00000002
927 CONSTANT: CDS_FULLSCREEN          0x00000004
928 CONSTANT: CDS_GLOBAL              0x00000008
929 CONSTANT: CDS_SET_PRIMARY         0x00000010
930 CONSTANT: CDS_RESET               0x40000000
931 CONSTANT: CDS_SETRECT             0x20000000
932 CONSTANT: CDS_NORESET             0x10000000
933
934 CONSTANT: DISP_CHANGE_SUCCESSFUL 0
935 CONSTANT: DISP_CHANGE_RESTART 1
936 CONSTANT: DISP_CHANGE_FAILED     -1
937 CONSTANT: DISP_CHANGE_BADMODE    -2
938 CONSTANT: DISP_CHANGE_NOTUPDATED -3
939 CONSTANT: DISP_CHANGE_BADFLAGS   -4
940 CONSTANT: DISP_CHANGE_BADPARAM   -5
941
942
943
944 STRUCT: DEVMODE
945     { dmDeviceName TCHAR[CCHDEVICENAME] }
946     { dmSpecVersion WORD }
947     { dmDriverVersion WORD }
948     { dmSize WORD }
949     { dmDriverExtra WORD }
950     { dmFields DWORD }
951
952     { dmOrientation short }
953     { dmPaperSize short }
954     { dmPaperLength short }
955     { dmPaperWidth short }
956     { dmScale short }
957     { dmCopies short }
958     { dmDefaultSource short }
959     { dmPrintQuality short }
960
961     { dmColor short }
962     { dmDuplex short }
963     { dmYResolution short }
964     { dmTTOption short }
965     { dmCollate short }
966     { dmFormName TCHAR[CCHFORMNAME] }
967     { dmLogPixels WORD }
968     { dmBitsPerPel DWORD }
969     { dmPelsWidth DWORD }
970     { dmPelsHeight DWORD }
971     { dmDisplayFlags DWORD }
972     { dmDisplayFrequency DWORD }
973     { dmiCMMethod DWORD }
974     { dmICMIntent DWORD }
975
976     { dmMediaType DWORD }
977     { dmDitherType DWORD }
978     { dmReserved1 DWORD }
979     { dmReserved2 DWORD }
980     { dmPanningWidth DWORD } ;
981
982 ! union { DWORD dmDisplayFlags; DWORD dmNup; } ;
983   ! union {
984     ! struct {
985       ! short dmOrientation;
986       ! short dmPaperSize;
987       ! short dmPaperLength;
988       ! short dmPaperWidth;
989       ! short dmScale;
990       ! short dmCopies;
991       ! short dmDefaultSource;
992       ! short dmPrintQuality;
993     ! } ;
994     ! struct {
995       ! POINTL dmPosition;
996       ! DWORD dmDisplayOrientation;
997       ! DWORD dmDisplayFixedOutput;
998     ! } ;
999   ! } ;
1000
1001 TYPEDEF: DEVMODE* PDEVMODE
1002 TYPEDEF: DEVMODE* LPDEVMODE
1003
1004 CONSTANT: MSGFLT_ADD    1
1005 CONSTANT: MSGFLT_REMOVE 2
1006
1007 CONSTANT: MSGFLT_RESET    0
1008 CONSTANT: MSGFLT_ALLOW    1
1009 CONSTANT: MSGFLT_DISALLOW 2
1010
1011 STRUCT: CHANGEFILTERSTRUCT
1012     { cbSize DWORD }
1013     { ExtStatus DWORD } ;
1014 TYPEDEF: CHANGEFILTERSTRUCT* PCHANGEFILTERSTRUCT
1015
1016 CONSTANT: LR_DEFAULTCOLOR 0x00
1017 CONSTANT: LR_MONOCHROME 0x01
1018 CONSTANT: LR_COLOR 0x02
1019 CONSTANT: LR_COPYRETURNORG 0x04
1020 CONSTANT: LR_COPYDELETEORG 0x08
1021 CONSTANT: LR_LOADFROMFILE 0x10
1022 CONSTANT: LR_LOADTRANSPARENT 0x20
1023 CONSTANT: LR_DEFAULTSIZE 0x40
1024 CONSTANT: LR_VGACOLOR 0x80
1025 CONSTANT: LR_LOADMAP3DCOLORS 0x1000
1026 CONSTANT: LR_CREATEDIBSECTION 0x2000
1027 CONSTANT: LR_COPYFROMRESOURCE 0x4000
1028 CONSTANT: LR_SHARED 0x8000
1029
1030 CONSTANT: IMAGE_BITMAP 0
1031 CONSTANT: IMAGE_ICON 1
1032 CONSTANT: IMAGE_CURSOR 2
1033
1034 CONSTANT: IDI_APPLICATION 32512
1035 CONSTANT: IDI_ASTERISK 21516
1036 CONSTANT: IDI_ERROR 32513
1037 CONSTANT: IDI_EXCLAMATION 32515
1038 CONSTANT: IDI_HAND 32513
1039 CONSTANT: IDI_INFORMATION 32516
1040 CONSTANT: IDI_QUESTION 32514
1041 CONSTANT: IDI_SHIELD 32518
1042 CONSTANT: IDI_WARNING 32515
1043 CONSTANT: IDI_WINLOGO 32517
1044
1045 CONSTANT: OBM_BTNCORNERS 32758
1046 CONSTANT: OBM_BTSIZE 32761
1047 CONSTANT: OBM_CHECK 32760
1048 CONSTANT: OBM_CHECKBOXES 32759
1049 CONSTANT: OBM_CLOSE 32754
1050 CONSTANT: OBM_COMBO 32738
1051 CONSTANT: OBM_DNARROW 32752
1052 CONSTANT: OBM_DNARROWD 32742
1053 CONSTANT: OBM_DNARROWI 32736
1054 CONSTANT: OBM_LFARROW 32750
1055 CONSTANT: OBM_LFARROWI 32734
1056 CONSTANT: OBM_LFARROWD 32740
1057 CONSTANT: OBM_MNARROW 32739
1058 CONSTANT: OBM_OLD_CLOSE 32767
1059 CONSTANT: OBM_OLD_DNARROW 32764
1060 CONSTANT: OBM_OLD_LFARROW 32762
1061 CONSTANT: OBM_OLD_REDUCE 32757
1062 CONSTANT: OBM_OLD_RESTORE 32755
1063 CONSTANT: OBM_OLD_RGARROW 32763
1064 CONSTANT: OBM_OLD_UPARROW 32765
1065 CONSTANT: OBM_OLD_ZOOM 32756
1066 CONSTANT: OBM_REDUCE 32749
1067 CONSTANT: OBM_REDUCED 32746
1068 CONSTANT: OBM_RESTORE 32747
1069 CONSTANT: OBM_RESTORED 32744
1070 CONSTANT: OBM_RGARROW 32751
1071 CONSTANT: OBM_RGARROWD 32741
1072 CONSTANT: OBM_RGARROWI 32735
1073 CONSTANT: OBM_SIZE 32766
1074 CONSTANT: OBM_UPARROW 32753
1075 CONSTANT: OBM_UPARROWD 32743
1076 CONSTANT: OBM_UPARROWI 32737
1077 CONSTANT: OBM_ZOOM 32748
1078 CONSTANT: OBM_ZOOMD 32745
1079 CONSTANT: OCR_NORMAL 32512
1080 CONSTANT: OCR_IBEAM 32513
1081 CONSTANT: OCR_WAIT 32514
1082 CONSTANT: OCR_CROSS 32515
1083 CONSTANT: OCR_UP 32516
1084 CONSTANT: OCR_SIZE 32640
1085 CONSTANT: OCR_ICON 32641
1086 CONSTANT: OCR_SIZENWSE 32642
1087 CONSTANT: OCR_SIZENESW 32643
1088 CONSTANT: OCR_SIZEWE 32644
1089 CONSTANT: OCR_SIZENS 32645
1090 CONSTANT: OCR_SIZEALL 32646
1091 CONSTANT: OCR_NO 32648
1092 CONSTANT: OCR_APPSTARTING 32650
1093 CONSTANT: OIC_SAMPLE 32512
1094 CONSTANT: OIC_HAND 32513
1095 CONSTANT: OIC_QUES 32514
1096 CONSTANT: OIC_BANG 32515
1097 CONSTANT: OIC_NOTE 32516
1098 CONSTANT: OIC_WINLOGO 32517
1099 CONSTANT: OIC_WARNING 32515
1100 CONSTANT: OIC_ERROR 32513
1101 CONSTANT: OIC_INFORMATION 32516
1102
1103 CONSTANT: SM_CXSCREEN 0
1104 CONSTANT: SM_CYSCREEN 1
1105 CONSTANT: SM_CXVSCROLL 2
1106 CONSTANT: SM_CYHSCROLL 3
1107 CONSTANT: SM_CYCAPTION 4
1108 CONSTANT: SM_CXBORDER 5
1109 CONSTANT: SM_CYBORDER 6
1110 CONSTANT: SM_CXDLGFRAME 7
1111 CONSTANT: SM_CXFIXEDFRAME 7
1112 CONSTANT: SM_CYDLGFRAME 8
1113 CONSTANT: SM_CYFIXEDFRAME 8
1114 CONSTANT: SM_CYVTHUMB 9
1115 CONSTANT: SM_CXHTHUMB 10
1116 CONSTANT: SM_CXICON 11
1117 CONSTANT: SM_CYICON 12
1118 CONSTANT: SM_CXCURSOR 13
1119 CONSTANT: SM_CYCURSOR 14
1120 CONSTANT: SM_CYMENU 15
1121 CONSTANT: SM_CXFULLSCREEN 16
1122 CONSTANT: SM_CYFULLSCREEN 17
1123 CONSTANT: SM_CYKANJIWINDOW 18
1124 CONSTANT: SM_MOUSEPRESENT 19
1125 CONSTANT: SM_CYVSCROLL 20
1126 CONSTANT: SM_CXHSCROLL 21
1127 CONSTANT: SM_DEBUG 22
1128 CONSTANT: SM_SWAPBUTTON 23
1129 CONSTANT: SM_RESERVED1 24
1130 CONSTANT: SM_RESERVED2 25
1131 CONSTANT: SM_RESERVED3 26
1132 CONSTANT: SM_RESERVED4 27
1133 CONSTANT: SM_CXMIN 28
1134 CONSTANT: SM_CYMIN 29
1135 CONSTANT: SM_CXSIZE 30
1136 CONSTANT: SM_CYSIZE 31
1137 CONSTANT: SM_CXSIZEFRAME 32
1138 CONSTANT: SM_CXFRAME 32
1139 CONSTANT: SM_CYSIZEFRAME 33
1140 CONSTANT: SM_CYFRAME 33
1141 CONSTANT: SM_CXMINTRACK 34
1142 CONSTANT: SM_CYMINTRACK 35
1143 CONSTANT: SM_CXDOUBLECLK 36
1144 CONSTANT: SM_CYDOUBLECLK 37
1145 CONSTANT: SM_CXICONSPACING 38
1146 CONSTANT: SM_CYICONSPACING 39
1147 CONSTANT: SM_MENUDROPALIGNMENT 40
1148 CONSTANT: SM_PENWINDOWS 41
1149 CONSTANT: SM_DBCSENABLED 42
1150 CONSTANT: SM_CMOUSEBUTTONS 43
1151 CONSTANT: SM_SECURE 44
1152 CONSTANT: SM_CXEDGE 45
1153 CONSTANT: SM_CYEDGE 46
1154 CONSTANT: SM_CXMINSPACING 47
1155 CONSTANT: SM_CYMINSPACING 48
1156 CONSTANT: SM_CXSMICON 49
1157 CONSTANT: SM_CYSMICON 50
1158 CONSTANT: SM_CYSMCAPTION 51
1159 CONSTANT: SM_CXSMSIZE 52
1160 CONSTANT: SM_CYSMSIZE 53
1161 CONSTANT: SM_CXMENUSIZE 54
1162 CONSTANT: SM_CYMENUSIZE 55
1163 CONSTANT: SM_ARRANGE 56
1164 CONSTANT: SM_CXMINIMIZED 57
1165 CONSTANT: SM_CYMINIMIZED 58
1166 CONSTANT: SM_CXMAXTRACK 59
1167 CONSTANT: SM_CYMAXTRACK 60
1168 CONSTANT: SM_CXMAXIMIZED 61
1169 CONSTANT: SM_CYMAXIMIZED 62
1170 CONSTANT: SM_NETWORK 63
1171 ! CONSTANT: LR_DEFAULTSIZE 64
1172 CONSTANT: SM_CLEANBOOT 67
1173 CONSTANT: SM_CXDRAG 68
1174 CONSTANT: SM_CYDRAG 69
1175 CONSTANT: SM_SHOWSOUNDS 70
1176 CONSTANT: SM_CXMENUCHECK 71
1177 CONSTANT: SM_CYMENUCHECK 72
1178 CONSTANT: SM_SLOWMACHINE 73
1179 CONSTANT: SM_MIDEASTENABLED 74
1180 CONSTANT: SM_MOUSEWHEELPRESENT 75
1181 CONSTANT: SM_XVIRTUALSCREEN 76
1182 CONSTANT: SM_YVIRTUALSCREEN 77
1183 CONSTANT: SM_CXVIRTUALSCREEN 78
1184 CONSTANT: SM_CYVIRTUALSCREEN 79
1185 CONSTANT: SM_CMONITORS 80
1186 CONSTANT: SM_SAMEDISPLAYFORMAT 81
1187 CONSTANT: SM_IMMENABLED 82
1188 CONSTANT: SM_CXFOCUSBORDER 83
1189 CONSTANT: SM_CYFOCUSBORDER 84
1190 CONSTANT: SM_TABLETPC 86
1191 CONSTANT: SM_MEDIACENTER 87
1192 CONSTANT: SM_CMETRICS 88
1193 CONSTANT: SM_REMOTESESSION 0X1000
1194
1195 LIBRARY: user32
1196
1197 FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags )
1198 FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu )
1199 FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle )
1200 ! FUNCTION: AlignRects
1201 ! FUNCTION: AllowForegroundActivation
1202 ! FUNCTION: AllowSetForegroundWindow
1203 ! FUNCTION: AnimateWindow
1204
1205 FUNCTION: BOOL AnyPopup ( )
1206
1207 ! FUNCTION: AppendMenuA
1208 ! FUNCTION: AppendMenuW
1209 ! FUNCTION: ArrangeIconicWindows
1210 ! FUNCTION: AttachThreadInput
1211 ! FUNCTION: BeginDeferWindowPos
1212
1213 FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint )
1214
1215 ! FUNCTION: BlockInput
1216 ! FUNCTION: BringWindowToTop
1217 ! FUNCTION: BroadcastSystemMessage
1218 ! FUNCTION: BroadcastSystemMessageA
1219 ! FUNCTION: BroadcastSystemMessageExA
1220 ! FUNCTION: BroadcastSystemMessageExW
1221 ! FUNCTION: BroadcastSystemMessageW
1222 ! FUNCTION: BuildReasonArray
1223 ! FUNCTION: CalcMenuBar
1224 ! FUNCTION: CallMsgFilter
1225 ! FUNCTION: CallMsgFilterA
1226 ! FUNCTION: CallMsgFilterW
1227 ! FUNCTION: CallNextHookEx
1228 ! FUNCTION: CallWindowProcA
1229 ! FUNCTION: CallWindowProcW
1230 ! FUNCTION: CascadeChildWindows
1231 ! FUNCTION: CascadeWindows
1232 ! FUNCTION: ChangeClipboardChain
1233 FUNCTION: LONG ChangeDisplaySettingsExW ( LPCTSTR lpszDeviceName, DEVMODE *lpDevMode, HWND hwnd, DWORD dwFlags, LPVOID lParam )
1234 FUNCTION: LONG ChangeDisplaySettingsW ( DEVMODE *lpDevMode, DWORD dwFlags )
1235 ALIAS: ChangeDisplaySettingsEx ChangeDisplaySettingsExW
1236 ALIAS: ChangeDisplaySettings ChangeDisplaySettingsW
1237 ! FUNCTION: ChangeMenuA
1238 ! FUNCTION: ChangeMenuW
1239
1240 FUNCTION: BOOL ChangeWindowMessageFilter (
1241                 UINT message,
1242                 DWORD dwFlag )
1243 FUNCTION: BOOL ChangeWindowMessageFilterEx (
1244                 HWND hWnd,
1245                 UINT message,
1246                 DWORD action,
1247                 PCHANGEFILTERSTRUCT pChangeFilterStruct )
1248
1249 ! FUNCTION: CharLowerA
1250 ! FUNCTION: CharLowerBuffA
1251 ! FUNCTION: CharLowerBuffW
1252 ! FUNCTION: CharLowerW
1253 ! FUNCTION: CharNextA
1254 ! FUNCTION: CharNextExA
1255 ! FUNCTION: CharNextW
1256 ! FUNCTION: CharPrevA
1257 ! FUNCTION: CharPrevExA
1258 ! FUNCTION: CharPrevW
1259 ! FUNCTION: CharToOemA
1260 ! FUNCTION: CharToOemBuffA
1261 ! FUNCTION: CharToOemBuffW
1262 ! FUNCTION: CharToOemW
1263 ! FUNCTION: CharUpperA
1264 ! FUNCTION: CharUpperBuffA
1265 ! FUNCTION: CharUpperBuffW
1266 ! FUNCTION: CharUpperW
1267 ! FUNCTION: CheckDlgButton
1268 ! FUNCTION: CheckMenuItem
1269 ! FUNCTION: CheckMenuRadioItem
1270 ! FUNCTION: CheckRadioButton
1271 FUNCTION: HWND ChildWindowFromPoint ( HWND hWndParent, POINT point )
1272 ! FUNCTION: ChildWindowFromPointEx
1273 ! FUNCTION: ClientThreadSetup
1274 FUNCTION: BOOL ClientToScreen ( HWND hWnd, POINT* point )
1275 ! FUNCTION: CliImmSetHotKey
1276 FUNCTION: int ClipCursor ( RECT* clipRect )
1277 FUNCTION: BOOL CloseClipboard ( )
1278 ! FUNCTION: CloseDesktop
1279 ! FUNCTION: CloseWindow
1280 ! FUNCTION: CloseWindowStation
1281 ! FUNCTION: CopyAcceleratorTableA
1282 FUNCTION: int CopyAcceleratorTableW ( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries )
1283 ALIAS: CopyAcceleratorTable CopyAcceleratorTableW
1284 ! FUNCTION: CopyIcon
1285 ! FUNCTION: CopyImage
1286 ! FUNCTION: CopyRect
1287 ! FUNCTION: CountClipboardFormats
1288 ! FUNCTION: CreateAcceleratorTableA
1289 FUNCTION: HACCEL CreateAcceleratorTableW ( LPACCEL lpaccl, int cEntries )
1290 ALIAS: CreateAcceleratorTable CreateAcceleratorTableW
1291 ! FUNCTION: CreateCaret
1292 ! FUNCTION: CreateCursor
1293 ! FUNCTION: CreateDesktopA
1294 ! FUNCTION: CreateDesktopW
1295 ! FUNCTION: CreateDialogIndirectParamA
1296 ! FUNCTION: CreateDialogIndirectParamAorW
1297 ! FUNCTION: CreateDialogIndirectParamW
1298 ! FUNCTION: CreateDialogParamA
1299 ! FUNCTION: CreateDialogParamW
1300 ! FUNCTION: CreateIcon
1301 ! FUNCTION: CreateIconFromResource
1302 ! FUNCTION: CreateIconFromResourceEx
1303 ! FUNCTION: CreateIconIndirect
1304 ! FUNCTION: CreateMDIWindowA
1305 ! FUNCTION: CreateMDIWindowW
1306 ! FUNCTION: CreateMenu
1307 ! FUNCTION: CreatePopupMenu
1308 ! FUNCTION: CreateSystemThreads
1309
1310 FUNCTION: HWND CreateWindowExW (
1311                 DWORD dwExStyle,
1312                 LPCTSTR lpClassName,
1313                 LPCTSTR lpWindowName,
1314                 DWORD dwStyle,
1315                 uint X,
1316                 uint Y,
1317                 uint nWidth,
1318                 uint nHeight,
1319                 HWND hWndParent,
1320                 HMENU hMenu,
1321                 HINSTANCE hInstance,
1322                 LPVOID lpParam )
1323
1324 ALIAS: CreateWindowEx CreateWindowExW
1325
1326 : CreateWindow ( a b c d e f g h i j k -- hwnd ) 0 12 -nrot CreateWindowEx ; inline
1327
1328 ! FUNCTION: CreateWindowStationA
1329 ! FUNCTION: CreateWindowStationW
1330 ! FUNCTION: CsrBroadcastSystemMessageExW
1331 ! FUNCTION: CtxInitUser32
1332 ! FUNCTION: DdeAbandonTransaction
1333 ! FUNCTION: DdeAccessData
1334 ! FUNCTION: DdeAddData
1335 ! FUNCTION: DdeClientTransaction
1336 ! FUNCTION: DdeCmpStringHandles
1337 ! FUNCTION: DdeConnect
1338 ! FUNCTION: DdeConnectList
1339 ! FUNCTION: DdeCreateDataHandle
1340 ! FUNCTION: DdeCreateStringHandleA
1341 ! FUNCTION: DdeCreateStringHandleW
1342 ! FUNCTION: DdeDisconnect
1343 ! FUNCTION: DdeDisconnectList
1344 ! FUNCTION: DdeEnableCallback
1345 ! FUNCTION: DdeFreeDataHandle
1346 ! FUNCTION: DdeFreeStringHandle
1347 ! FUNCTION: DdeGetData
1348 ! FUNCTION: DdeGetLastError
1349 ! FUNCTION: DdeGetQualityOfService
1350 ! FUNCTION: DdeImpersonateClient
1351 ! FUNCTION: DdeInitializeA
1352 ! FUNCTION: DdeInitializeW
1353 ! FUNCTION: DdeKeepStringHandle
1354 ! FUNCTION: DdeNameService
1355 ! FUNCTION: DdePostAdvise
1356 ! FUNCTION: DdeQueryConvInfo
1357 ! FUNCTION: DdeQueryNextServer
1358 ! FUNCTION: DdeQueryStringA
1359 ! FUNCTION: DdeQueryStringW
1360 ! FUNCTION: DdeReconnect
1361 ! FUNCTION: DdeSetQualityOfService
1362 ! FUNCTION: DdeSetUserHandle
1363 ! FUNCTION: DdeUnaccessData
1364 ! FUNCTION: DdeUninitialize
1365 ! FUNCTION: DefDlgProcA
1366 ! FUNCTION: DefDlgProcW
1367 ! FUNCTION: DeferWindowPos
1368 ! FUNCTION: DefFrameProcA
1369 ! FUNCTION: DefFrameProcW
1370 ! FUNCTION: DefMDIChildProcA
1371 ! FUNCTION: DefMDIChildProcW
1372 FUNCTION: LRESULT DefRawInputProc ( PRAWINPUT* paRawInput, INT nInput, UINT cbSizeHeader )
1373 FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam )
1374 ALIAS: DefWindowProc DefWindowProcW
1375 ! FUNCTION: DeleteMenu
1376 ! FUNCTION: DeregisterShellHookWindow
1377 FUNCTION: BOOL DestroyAcceleratorTable ( HACCEL hAccel )
1378 ! FUNCTION: DestroyCaret
1379 ! FUNCTION: DestroyCursor
1380 ! FUNCTION: DestroyIcon
1381 ! FUNCTION: DestroyMenu
1382 ! FUNCTION: DestroyReasons
1383 FUNCTION: BOOL DestroyWindow ( HWND hWnd )
1384 ! FUNCTION: DeviceEventWorker
1385 ! FUNCTION: DialogBoxIndirectParamA
1386 ! FUNCTION: DialogBoxIndirectParamAorW
1387 ! FUNCTION: DialogBoxIndirectParamW
1388 ! FUNCTION: DialogBoxParamA
1389 ! FUNCTION: DialogBoxParamW
1390 ! FUNCTION: DisableProcessWindowsGhosting
1391
1392 FUNCTION: LONG DispatchMessageW ( MSG* lpMsg )
1393 ALIAS: DispatchMessage DispatchMessageW
1394
1395 ! FUNCTION: DisplayExitWindowsWarnings
1396 ! FUNCTION: DlgDirListA
1397 ! FUNCTION: DlgDirListComboBoxA
1398 ! FUNCTION: DlgDirListComboBoxW
1399 ! FUNCTION: DlgDirListW
1400 ! FUNCTION: DlgDirSelectComboBoxExA
1401 ! FUNCTION: DlgDirSelectComboBoxExW
1402 ! FUNCTION: DlgDirSelectExA
1403 ! FUNCTION: DlgDirSelectExW
1404 ! FUNCTION: DragDetect
1405 ! FUNCTION: DragObject
1406
1407
1408 FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo )
1409 ! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags )
1410
1411 ! FUNCTION: DrawEdge
1412 ! FUNCTION: DrawFocusRect
1413 ! FUNCTION: DrawFrame
1414 ! FUNCTION: DrawFrameControl
1415
1416 FUNCTION: BOOL DrawIcon ( HDC hDC, int X, int Y, HICON hIcon )
1417
1418 ! FUNCTION: DrawIconEx
1419 ! FUNCTION: DrawMenuBar
1420 ! FUNCTION: DrawMenuBarTemp
1421 ! FUNCTION: DrawStateA
1422 ! FUNCTION: DrawStateW
1423 ! FUNCTION: DrawTextA
1424 ! FUNCTION: DrawTextExA
1425 ! FUNCTION: DrawTextExW
1426 ! FUNCTION: DrawTextW
1427 ! FUNCTION: EditWndProc
1428 FUNCTION: BOOL EmptyClipboard ( )
1429 FUNCTION: BOOL EnableMenuItem ( HMENU hMenu, UINT uIDEnableItem, UINT uEnable )
1430 ! FUNCTION: EnableScrollBar
1431 ! FUNCTION: EnableWindow
1432 ! FUNCTION: EndDeferWindowPos
1433 ! FUNCTION: EndDialog
1434 ! FUNCTION: EndMenu
1435
1436 FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint )
1437
1438 ! FUNCTION: EndTask
1439 ! FUNCTION: EnterReaderModeHelper
1440 ! FUNCTION: EnumChildWindows
1441 FUNCTION: UINT EnumClipboardFormats ( UINT format )
1442 ! FUNCTION: EnumDesktopsA
1443 ! FUNCTION: EnumDesktopsW
1444 ! FUNCTION: EnumDesktopWindows
1445 ! FUNCTION: EnumDisplayDevicesA
1446 ! FUNCTION: EnumDisplayDevicesW
1447 ! FUNCTION: BOOL EnumDisplayMonitors ( HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData )
1448 ! FUNCTION: EnumDisplaySettingsA
1449 ! FUNCTION: EnumDisplaySettingsExA
1450 ! FUNCTION: EnumDisplaySettingsExW
1451 FUNCTION: BOOL EnumDisplaySettingsW ( LPCTSTR lpszDeviceName, DWORD iModeNum, DEVMODE *lpDevMode )
1452 ALIAS: EnumDisplaySettings EnumDisplaySettingsW
1453 ! FUNCTION: EnumPropsA
1454 ! FUNCTION: EnumPropsExA
1455 ! FUNCTION: EnumPropsExW
1456 ! FUNCTION: EnumPropsW
1457 ! FUNCTION: EnumThreadWindows
1458 ! FUNCTION: EnumWindows
1459 ! FUNCTION: EnumWindowStationsA
1460 ! FUNCTION: EnumWindowStationsW
1461 ! FUNCTION: EqualRect
1462 ! FUNCTION: ExcludeUpdateRgn
1463 ! FUNCTION: ExitWindowsEx
1464 FUNCTION: int FillRect ( HDC hDC, RECT* lprc, HBRUSH hbr )
1465 FUNCTION: HWND FindWindowA ( c-string lpClassName, c-string lpWindowName )
1466 FUNCTION: HWND FindWindowExA ( HWND hwndParent, HWND childAfter, c-string lpClassName, c-string lpWindowName )
1467 ! FUNCTION: FindWindowExW
1468 ! FUNCTION: FindWindowW
1469 ! FUNCTION: FlashWindow
1470 ! FUNCTION: FlashWindowEx
1471 ! FUNCTION: FrameRect
1472 ! FUNCTION: FreeDDElParam
1473 ! FUNCTION: GetActiveWindow
1474 ! FUNCTION: GetAltTabInfo
1475 ! FUNCTION: GetAltTabInfoA
1476 ! FUNCTION: GetAltTabInfoW
1477 ! FUNCTION: GetAncestor
1478 ! FUNCTION: GetAppCompatFlags
1479 ! FUNCTION: GetAppCompatFlags2
1480 ! FUNCTION: GetAsyncKeyState
1481 FUNCTION: HWND GetCapture ( )
1482 ! FUNCTION: GetCaretBlinkTime
1483 ! FUNCTION: GetCaretPos
1484 FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx )
1485 ALIAS: GetClassInfo GetClassInfoW
1486
1487 FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx )
1488 ALIAS: GetClassInfoEx GetClassInfoExW
1489
1490 FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex )
1491 ALIAS: GetClassLong GetClassLongW
1492 ALIAS: GetClassLongPtr GetClassLongW
1493
1494
1495 ! FUNCTION: GetClassNameA
1496 ! FUNCTION: GetClassNameW
1497 ! FUNCTION: GetClassWord
1498 FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect )
1499
1500 FUNCTION: HANDLE GetClipboardData ( UINT uFormat )
1501
1502 ! FUNCTION: GetClipboardFormatNameA
1503 ! FUNCTION: GetClipboardFormatNameW
1504 FUNCTION: HWND GetClipboardOwner ( )
1505 FUNCTION: DWORD GetClipboardSequenceNumber ( )
1506 ! FUNCTION: GetClipboardViewer
1507 ! FUNCTION: GetClipCursor
1508 ! FUNCTION: GetComboBoxInfo
1509 ! FUNCTION: GetCursor
1510 ! FUNCTION: GetCursorFrameInfo
1511 ! FUNCTION: GetCursorInfo
1512 ! FUNCTION: GetCursorPos
1513 FUNCTION: HDC GetDC ( HWND hWnd )
1514 FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags )
1515 FUNCTION: HWND GetDesktopWindow ( )
1516 ! FUNCTION: GetDialogBaseUnits
1517 ! FUNCTION: GetDlgCtrlID
1518 ! FUNCTION: GetDlgItem
1519 ! FUNCTION: GetDlgItemInt
1520 ! FUNCTION: GetDlgItemTextA
1521 ! FUNCTION: GetDlgItemTextW
1522 FUNCTION: uint GetDoubleClickTime ( )
1523 FUNCTION: HWND GetFocus ( )
1524 FUNCTION: HWND GetForegroundWindow ( )
1525 ! FUNCTION: GetGuiResources
1526 ! FUNCTION: GetGUIThreadInfo
1527 ! FUNCTION: GetIconInfo
1528 ! FUNCTION: GetInputDesktop
1529 ! FUNCTION: GetInputState
1530 ! FUNCTION: GetInternalWindowPos
1531 ! FUNCTION: GetKBCodePage
1532 ! FUNCTION: GetKeyboardLayout
1533 ! FUNCTION: GetKeyboardLayoutList
1534 ! FUNCTION: GetKeyboardLayoutNameA
1535 ! FUNCTION: GetKeyboardLayoutNameW
1536 ! FUNCTION: GetKeyboardState
1537 ! FUNCTION: GetKeyboardType
1538 ! FUNCTION: GetKeyNameTextA
1539 ! FUNCTION: GetKeyNameTextW
1540 FUNCTION: SHORT GetKeyState ( int nVirtKey )
1541 ! FUNCTION: GetLastActivePopup
1542 ! FUNCTION: GetLastInputInfo
1543 ! FUNCTION: GetLayeredWindowAttributes
1544 ! FUNCTION: GetListBoxInfo
1545 ! FUNCTION: GetMenu
1546 ! FUNCTION: GetMenuBarInfo
1547 ! FUNCTION: GetMenuCheckMarkDimensions
1548 ! FUNCTION: GetMenuContextHelpId
1549 ! FUNCTION: GetMenuDefaultItem
1550 ! FUNCTION: GetMenuInfo
1551 ! FUNCTION: GetMenuItemCount
1552 ! FUNCTION: GetMenuItemID
1553 ! FUNCTION: GetMenuItemInfoA
1554 ! FUNCTION: GetMenuItemInfoW
1555 ! FUNCTION: GetMenuItemRect
1556 ! FUNCTION: GetMenuState
1557 ! FUNCTION: GetMenuStringA
1558 ! FUNCTION: GetMenuStringW
1559
1560 FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax )
1561 ALIAS: GetMessage GetMessageW
1562
1563 ! FUNCTION: GetMessageExtraInfo
1564 ! FUNCTION: GetMessagePos
1565 ! FUNCTION: GetMessageTime
1566 ! FUNCTION: GetMonitorInfoA
1567
1568 FUNCTION: BOOL GetMonitorInfoW ( HMONITOR hMonitor, LPMONITORINFO lpmi )
1569 ALIAS: GetMonitorInfo GetMonitorInfoW
1570
1571 ! FUNCTION: GetMouseMovePointsEx
1572 ! FUNCTION: GetNextDlgGroupItem
1573 ! FUNCTION: GetNextDlgTabItem
1574 ! FUNCTION: GetOpenClipboardWindow
1575 FUNCTION: HWND GetParent ( HWND hWnd )
1576 FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats )
1577 ! FUNCTION: GetProcessDefaultLayout
1578 ! FUNCTION: GetProcessWindowStation
1579 ! FUNCTION: GetProgmanWindow
1580 ! FUNCTION: GetPropA
1581 ! FUNCTION: GetPropW
1582 ! FUNCTION: GetQueueStatus
1583 FUNCTION: UINT GetRawInputBuffer ( PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader )
1584 FUNCTION: UINT GetRawInputData ( HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader )
1585 FUNCTION: UINT GetRawInputDeviceInfoA ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize )
1586 FUNCTION: UINT GetRawInputDeviceInfoW ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize )
1587 ALIAS: GetRawInputDeviceInfo GetRawInputDeviceInfoW
1588 FUNCTION: UINT GetRawInputDeviceList ( PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize )
1589 FUNCTION: UINT GetRegisteredRawInputDevices ( PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize )
1590 ! FUNCTION: GetReasonTitleFromReasonCode
1591 ! FUNCTION: GetScrollBarInfo
1592 ! FUNCTION: GetScrollInfo
1593 ! FUNCTION: GetScrollPos
1594 ! FUNCTION: GetScrollRange
1595 ! FUNCTION: GetShellWindow
1596 ! FUNCTION: GetSubMenu
1597 FUNCTION: COLORREF GetSysColor ( int nIndex )
1598 FUNCTION: HBRUSH GetSysColorBrush ( int nIndex )
1599 FUNCTION: HMENU GetSystemMenu ( HWND hWnd, BOOL bRevert )
1600 ! FUNCTION: GetSystemMetrics
1601 ! FUNCTION: GetTabbedTextExtentA
1602 ! FUNCTION: GetTabbedTextExtentW
1603 ! FUNCTION: GetTaskmanWindow
1604 ! FUNCTION: GetThreadDesktop
1605 ! FUNCTION: GetTitleBarInfo
1606
1607
1608 FUNCTION: HWND GetTopWindow ( HWND hWnd )
1609 ! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase )
1610 FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase )
1611
1612
1613 ! FUNCTION: GetUserObjectInformationA
1614 ! FUNCTION: GetUserObjectInformationW
1615 ! FUNCTION: GetUserObjectSecurity
1616 FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd )
1617 ! FUNCTION: GetWindowContextHelpId
1618 ! FUNCTION: GetWindowDC
1619 ! FUNCTION: GetWindowInfo
1620 ! FUNCTION: GetWindowLongA
1621 ! FUNCTION: GetWindowLongW
1622 FUNCTION: LONG_PTR GetWindowLongW ( HANDLE hWnd, int index )
1623 ALIAS: GetWindowLong GetWindowLongW
1624
1625 FUNCTION: LONG_PTR GetWindowLongPtrW ( HWND hWnd, int nIndex )
1626 ALIAS: GetWindowLongPtr GetWindowLongPtrW
1627 ! FUNCTION: GetWindowModuleFileName
1628 ! FUNCTION: GetWindowModuleFileNameA
1629 ! FUNCTION: GetWindowModuleFileNameW
1630 ! FUNCTION: GetWindowPlacement
1631 FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect )
1632 ! FUNCTION: GetWindowRgn
1633 ! FUNCTION: GetWindowRgnBox
1634 FUNCTION: int GetWindowTextA ( HWND hWnd, char* lpString, int nMaxCount )
1635 ! FUNCTION: GetWindowTextLengthA
1636 ! FUNCTION: GetWindowTextLengthW
1637 ! FUNCTION: GetWindowTextW
1638 FUNCTION: DWORD GetWindowThreadProcessId ( HWND hWnd, void* lpdwProcessId )
1639 ! FUNCTION: GetWindowWord
1640 ! FUNCTION: GetWinStationInfo
1641 ! FUNCTION: GrayStringA
1642 ! FUNCTION: GrayStringW
1643 ! FUNCTION: HideCaret
1644 ! FUNCTION: HiliteMenuItem
1645 ! FUNCTION: ImpersonateDdeClientWindow
1646 ! FUNCTION: IMPGetIMEA
1647 ! FUNCTION: IMPGetIMEW
1648 ! FUNCTION: IMPQueryIMEA
1649 ! FUNCTION: IMPQueryIMEW
1650 ! FUNCTION: IMPSetIMEA
1651 ! FUNCTION: IMPSetIMEW
1652 ! FUNCTION: InflateRect
1653 ! FUNCTION: InitializeLpkHooks
1654 ! FUNCTION: InitializeWin32EntryTable
1655 ! FUNCTION: InSendMessage
1656 ! FUNCTION: InSendMessageEx
1657 ! FUNCTION: InsertMenuA
1658 ! FUNCTION: InsertMenuItemA
1659 ! FUNCTION: InsertMenuItemW
1660 ! FUNCTION: InsertMenuW
1661 ! FUNCTION: InternalGetWindowText
1662 ! FUNCTION: IntersectRect
1663 ! FUNCTION: InvalidateRect
1664 ! FUNCTION: InvalidateRgn
1665 ! FUNCTION: InvertRect
1666 ! FUNCTION: IsCharAlphaA
1667 ! FUNCTION: IsCharAlphaNumericA
1668 ! FUNCTION: IsCharAlphaNumericW
1669 ! FUNCTION: IsCharAlphaW
1670 ! FUNCTION: IsCharLowerA
1671 ! FUNCTION: IsCharLowerW
1672 ! FUNCTION: IsCharUpperA
1673 ! FUNCTION: IsCharUpperW
1674 FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd )
1675 FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format )
1676 ! FUNCTION: IsDialogMessage
1677 ! FUNCTION: IsDialogMessageA
1678 ! FUNCTION: IsDialogMessageW
1679 ! FUNCTION: IsDlgButtonChecked
1680 FUNCTION: BOOL IsGUIThread ( BOOL bConvert )
1681 FUNCTION: BOOL IsHungAppWindow ( HWND hWnd )
1682 FUNCTION: BOOL IsIconic ( HWND hWnd )
1683 FUNCTION: BOOL IsMenu ( HMENU hMenu )
1684 ! FUNCTION: BOOL IsRectEmpty
1685 ! FUNCTION: BOOL IsServerSideWindow
1686 FUNCTION: BOOL IsWindow ( HWND hWnd )
1687 ! FUNCTION: BOOL IsWindowEnabled
1688 ! FUNCTION: BOOL IsWindowInDestroy
1689 FUNCTION: BOOL IsWindowUnicode ( HWND hWnd )
1690 FUNCTION: BOOL IsWindowVisible ( HWND hWnd )
1691 ! FUNCTION: BOOL IsWinEventHookInstalled
1692 FUNCTION: BOOL IsZoomed ( HWND hWnd )
1693 ! FUNCTION: keybd_event
1694 ! FUNCTION: KillSystemTimer
1695 ! FUNCTION: KillTimer
1696 ! FUNCTION: LoadAcceleratorsA
1697 FUNCTION: HACCEL LoadAcceleratorsW ( HINSTANCE hInstance, LPCTSTR lpTableName )
1698 ! FUNCTION: LoadBitmapA
1699 ! FUNCTION: LoadBitmapW
1700 ! FUNCTION: LoadCursorFromFileA
1701 ! FUNCTION: LoadCursorFromFileW
1702
1703
1704 ! FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName )
1705 FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, ushort lpCursorName )
1706 ALIAS: LoadCursor LoadCursorW
1707
1708 ! FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, LPCTSTR lpIconName )
1709 FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCTSTR lpIconName )
1710 ALIAS: LoadIcon LoadIconW
1711
1712 ! FUNCTION: LoadImageA
1713 FUNCTION: HANDLE LoadImageW ( HINSTANCE hinst, LPCTSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad )
1714 ALIAS: LoadImage LoadImageW
1715 ! FUNCTION: LoadKeyboardLayoutA
1716 ! FUNCTION: LoadKeyboardLayoutEx
1717 ! FUNCTION: LoadKeyboardLayoutW
1718 ! FUNCTION: LoadLocalFonts
1719 ! FUNCTION: LoadMenuA
1720 ! FUNCTION: LoadMenuIndirectA
1721 ! FUNCTION: LoadMenuIndirectW
1722 ! FUNCTION: LoadMenuW
1723 ! FUNCTION: LoadRemoteFonts
1724 ! FUNCTION: LoadStringA
1725 ! FUNCTION: LoadStringW
1726 ! FUNCTION: LockSetForegroundWindow
1727 ! FUNCTION: LockWindowStation
1728 ! FUNCTION: LockWindowUpdate
1729 ! FUNCTION: LockWorkStation
1730 ! FUNCTION: LookupIconIdFromDirectory
1731 ! FUNCTION: LookupIconIdFromDirectoryEx
1732 ! FUNCTION: MapDialogRect
1733
1734 FUNCTION: UINT MapVirtualKeyW ( UINT uCode, UINT uMapType )
1735 ALIAS: MapVirtualKey MapVirtualKeyW
1736
1737 FUNCTION: UINT MapVirtualKeyExW ( UINT uCode, UINT uMapType, HKL dwhkl )
1738 ALIAS: MapVirtualKeyEx MapVirtualKeyExW
1739
1740 ! FUNCTION: MapWindowPoints
1741 ! FUNCTION: MB_GetString
1742 ! FUNCTION: MBToWCSEx
1743 ! FUNCTION: MenuItemFromPoint
1744 ! FUNCTION: MenuWindowProcA
1745 ! FUNCTION: MenuWindowProcW
1746
1747 ! -1 is Simple beep
1748 FUNCTION: BOOL MessageBeep ( UINT uType )
1749
1750 FUNCTION: int MessageBoxA (
1751                 HWND hWnd,
1752                 LPCSTR lpText,
1753                 LPCSTR lpCaption,
1754                 UINT uType )
1755
1756 FUNCTION: int MessageBoxW (
1757                 HWND hWnd,
1758                 LPCWSTR lpText,
1759                 LPCWSTR lpCaption,
1760                 UINT uType )
1761
1762 FUNCTION: int MessageBoxExA ( HWND hWnd,
1763                 LPCSTR lpText,
1764                 LPCSTR lpCaption,
1765                 UINT uType,
1766                 WORD wLanguageId )
1767
1768 FUNCTION: int MessageBoxExW (
1769                 HWND hWnd,
1770                 LPCWSTR lpText,
1771                 LPCWSTR lpCaption,
1772                 UINT uType,
1773                 WORD wLanguageId )
1774
1775 ! FUNCTION: int MessageBoxIndirectA ( MSGBOXPARAMSA* params )
1776 ! FUNCTION: int MessageBoxIndirectW ( MSGBOXPARAMSW* params )
1777
1778
1779 ALIAS: MessageBox MessageBoxW
1780
1781 ALIAS: MessageBoxEx MessageBoxExW
1782
1783 ! : MessageBoxIndirect
1784     ! \ MessageBoxIndirectW \ MessageBoxIndirectA unicode-exec ;
1785
1786 ! FUNCTION: MessageBoxTimeoutA ! dllexported, not in header
1787 ! FUNCTION: MessageBoxTimeoutW ! dllexported, not in header
1788
1789 ! FUNCTION: ModifyMenuA
1790 ! FUNCTION: ModifyMenuW
1791 ! FUNCTION: MonitorFromPoint
1792 ! FUNCTION: MonitorFromRect
1793 FUNCTION: HMONITOR MonitorFromWindow ( HWND hWnd, DWORD dwFlags )
1794 ! FUNCTION: mouse_event
1795
1796
1797 FUNCTION: BOOL MoveWindow (
1798     HWND hWnd,
1799     int X,
1800     int Y,
1801     int nWidth,
1802     int nHeight,
1803     BOOL bRepaint )
1804
1805 ! FUNCTION: MsgWaitForMultipleObjects
1806 ! FUNCTION: MsgWaitForMultipleObjectsEx
1807 ! FUNCTION: NotifyWinEvent
1808 ! FUNCTION: OemKeyScan
1809 ! FUNCTION: OemToCharA
1810 ! FUNCTION: OemToCharBuffA
1811 ! FUNCTION: OemToCharBuffW
1812 ! FUNCTION: OemToCharW
1813 ! FUNCTION: OffsetRect
1814 FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner )
1815 ! FUNCTION: OpenDesktopA
1816 ! FUNCTION: OpenDesktopW
1817 ! FUNCTION: OpenIcon
1818 ! FUNCTION: OpenInputDesktop
1819 ! FUNCTION: OpenWindowStationA
1820 ! FUNCTION: OpenWindowStationW
1821 ! FUNCTION: PackDDElParam
1822 ! FUNCTION: PaintDesktop
1823 ! FUNCTION: PaintMenuBar
1824 FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg )
1825 FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg )
1826 ALIAS: PeekMessage PeekMessageW
1827
1828 ! FUNCTION: PostMessageA
1829 ! FUNCTION: PostMessageW
1830 FUNCTION: void PostQuitMessage ( int nExitCode )
1831 ! FUNCTION: PostThreadMessageA
1832 ! FUNCTION: PostThreadMessageW
1833 ! FUNCTION: PrintWindow
1834 ! FUNCTION: PrivateExtractIconExA
1835 ! FUNCTION: PrivateExtractIconExW
1836 ! FUNCTION: PrivateExtractIconsA
1837 ! FUNCTION: PrivateExtractIconsW
1838 ! FUNCTION: PrivateSetDbgTag
1839 ! FUNCTION: PrivateSetRipFlags
1840 ! FUNCTION: PtInRect
1841 ! FUNCTION: QuerySendMessage
1842 ! FUNCTION: QueryUserCounters
1843 ! FUNCTION: RealChildWindowFromPoint
1844 ! FUNCTION: RealGetWindowClass
1845 ! FUNCTION: RealGetWindowClassA
1846 ! FUNCTION: RealGetWindowClassW
1847 ! FUNCTION: ReasonCodeNeedsBugID
1848 ! FUNCTION: ReasonCodeNeedsComment
1849 ! FUNCTION: RecordShutdownReason
1850 ! FUNCTION: RedrawWindow
1851
1852 FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass )
1853 FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass )
1854 FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx )
1855 FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx )
1856
1857 ALIAS: RegisterClass RegisterClassW
1858 ALIAS: RegisterClassEx RegisterClassExW
1859
1860 ! FUNCTION: RegisterClipboardFormatA
1861 ! FUNCTION: RegisterClipboardFormatW
1862 FUNCTION: HANDLE RegisterDeviceNotificationA ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags )
1863 FUNCTION: HANDLE RegisterDeviceNotificationW ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags )
1864 ALIAS: RegisterDeviceNotification RegisterDeviceNotificationW
1865 ! FUNCTION: RegisterHotKey
1866 ! FUNCTION: RegisterLogonProcess
1867 ! FUNCTION: RegisterMessagePumpHook
1868 FUNCTION: BOOL RegisterRawInputDevices ( PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize )
1869 ! FUNCTION: RegisterServicesProcess
1870 ! FUNCTION: RegisterShellHookWindow
1871 ! FUNCTION: RegisterSystemThread
1872 ! FUNCTION: RegisterTasklist
1873 ! FUNCTION: RegisterUserApiHook
1874 ! FUNCTION: RegisterWindowMessageA
1875 ! FUNCTION: RegisterWindowMessageW
1876 FUNCTION: BOOL ReleaseCapture ( )
1877 FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC )
1878 ! FUNCTION: RemoveMenu
1879 ! FUNCTION: RemovePropA
1880 ! FUNCTION: RemovePropW
1881 ! FUNCTION: ReplyMessage
1882 ! FUNCTION: ResolveDesktopForWOW
1883 ! FUNCTION: ReuseDDElParam
1884 ! FUNCTION: ScreenToClient
1885 ! FUNCTION: ScrollChildren
1886 ! FUNCTION: ScrollDC
1887 ! FUNCTION: ScrollWindow
1888 ! FUNCTION: ScrollWindowEx
1889 ! FUNCTION: SendDlgItemMessageA
1890 ! FUNCTION: SendDlgItemMessageW
1891 ! FUNCTION: SendIMEMessageExA
1892 ! FUNCTION: SendIMEMessageExW
1893 ! FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize )
1894 FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
1895 ALIAS: SendMessage SendMessageW
1896 ! FUNCTION: SendMessageCallbackA
1897 ! FUNCTION: SendMessageCallbackW
1898 ! FUNCTION: SendMessageTimeoutA
1899 ! FUNCTION: SendMessageTimeoutW
1900 ! FUNCTION: SendNotifyMessageA
1901 ! FUNCTION: SendNotifyMessageW
1902 ! FUNCTION: SetActiveWindow
1903 FUNCTION: HWND SetCapture ( HWND hWnd )
1904 ! FUNCTION: SetCaretBlinkTime
1905 ! FUNCTION: SetCaretPos
1906
1907 FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong )
1908 ALIAS: SetClassLongPtr SetClassLongW
1909 ALIAS: SetClassLong SetClassLongW
1910
1911 ! FUNCTION: SetClassWord
1912 FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem )
1913 ! FUNCTION: SetClipboardViewer
1914 ! FUNCTION: SetConsoleReserveKeys
1915 ! FUNCTION: SetCursor
1916 ! FUNCTION: SetCursorContents
1917 ! FUNCTION: SetCursorPos
1918 ! FUNCTION: SetDebugErrorLevel
1919 ! FUNCTION: SetDeskWallpaper
1920 ! FUNCTION: SetDlgItemInt
1921 ! FUNCTION: SetDlgItemTextA
1922 ! FUNCTION: SetDlgItemTextW
1923 ! FUNCTION: SetDoubleClickTime
1924 FUNCTION: HWND SetFocus ( HWND hWnd )
1925 FUNCTION: BOOL SetForegroundWindow ( HWND hWnd )
1926 ! FUNCTION: SetInternalWindowPos
1927 ! FUNCTION: SetKeyboardState
1928 ! type is ignored
1929 FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType )
1930 : SetLastError ( errcode -- ) 0 SetLastErrorEx ; inline
1931 ! FUNCTION: SetLayeredWindowAttributes
1932 ! FUNCTION: SetLogonNotifyWindow
1933 ! FUNCTION: SetMenu
1934 ! FUNCTION: SetMenuContextHelpId
1935 ! FUNCTION: SetMenuDefaultItem
1936 ! FUNCTION: SetMenuInfo
1937 ! FUNCTION: SetMenuItemBitmaps
1938 ! FUNCTION: SetMenuItemInfoA
1939 ! FUNCTION: SetMenuItemInfoW
1940 ! FUNCTION: SetMessageExtraInfo
1941 ! FUNCTION: SetMessageQueue
1942 ! FUNCTION: SetParent
1943 ! FUNCTION: SetProcessDefaultLayout
1944 ! FUNCTION: SetProcessWindowStation
1945 ! FUNCTION: SetProgmanWindow
1946 ! FUNCTION: SetPropA
1947 ! FUNCTION: SetPropW
1948 ! FUNCTION: SetRect
1949 ! FUNCTION: SetRectEmpty
1950 ! FUNCTION: SetScrollInfo
1951 ! FUNCTION: SetScrollPos
1952 ! FUNCTION: SetScrollRange
1953 ! FUNCTION: SetShellWindow
1954 ! FUNCTION: SetShellWindowEx
1955 ! FUNCTION: SetSysColors
1956 ! FUNCTION: SetSysColorsTemp
1957 ! FUNCTION: SetSystemCursor
1958 ! FUNCTION: SetSystemMenu
1959 ! FUNCTION: SetSystemTimer
1960 ! FUNCTION: SetTaskmanWindow
1961 ! FUNCTION: SetThreadDesktop
1962 ! FUNCTION: SetTimer
1963 ! FUNCTION: SetUserObjectInformationA
1964 ! FUNCTION: SetUserObjectInformationW
1965 ! FUNCTION: SetUserObjectSecurity
1966 ! FUNCTION: SetWindowContextHelpId
1967 ! FUNCTION: SetWindowLongA
1968 ! FUNCTION: SetWindowLongW
1969 FUNCTION: LONG_PTR SetWindowLongW ( HANDLE hWnd, int index, LONG_PTR dwNewLong )
1970 ALIAS: SetWindowLong SetWindowLongW
1971 ! FUNCTION: SetWindowPlacement
1972 FUNCTION: BOOL SetWindowPos ( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags )
1973
1974 FUNCTION: LONG_PTR SetWindowLongPtrW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong )
1975 ALIAS: SetWindowLongPtr SetWindowLongPtrW
1976
1977 : HWND_BOTTOM ( -- alien ) 1 <alien> ;
1978 : HWND_NOTOPMOST ( -- alien ) -2 <alien> ;
1979 CONSTANT: HWND_TOP f
1980 : HWND_TOPMOST ( -- alien ) -1 <alien> ;
1981
1982 ! FUNCTION: SetWindowRgn
1983 ! FUNCTION: SetWindowsHookA
1984 ! FUNCTION: SetWindowsHookExA
1985 ! FUNCTION: SetWindowsHookExW
1986 ! FUNCTION: SetWindowsHookW
1987 ! FUNCTION: SetWindowStationUser
1988 ! FUNCTION: SetWindowTextA
1989 ! FUNCTION: SetWindowTextW
1990 ! FUNCTION: SetWindowWord
1991 ! FUNCTION: SetWinEventHook
1992 ! FUNCTION: ShowCaret
1993 FUNCTION: int ShowCursor ( BOOL show )
1994 ! FUNCTION: ShowOwnedPopups
1995 ! FUNCTION: ShowScrollBar
1996 ! FUNCTION: ShowStartGlass
1997
1998 FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow )
1999
2000 ! FUNCTION: ShowWindowAsync
2001 ! FUNCTION: SoftModalMessageBox
2002 ! FUNCTION: SubtractRect
2003 ! FUNCTION: SwapMouseButton
2004 ! FUNCTION: SwitchDesktop
2005 ! FUNCTION: SwitchToThisWindow
2006 ! FUNCTION: SystemParametersInfoA
2007
2008 FUNCTION: BOOL SystemParametersInfoW ( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni )
2009 ALIAS: SystemParametersInfo SystemParametersInfoW
2010
2011 ! FUNCTION: TabbedTextOutA
2012 ! FUNCTION: TabbedTextOutW
2013 ! FUNCTION: TileChildWindows
2014 ! FUNCTION: TileWindows
2015 ! FUNCTION: ToAscii
2016 ! FUNCTION: ToAsciiEx
2017 ! FUNCTION: ToUnicode
2018 ! FUNCTION: ToUnicodeEx
2019 FUNCTION: BOOL TrackMouseEvent ( LPTRACKMOUSEEVENT lpEventTrack )
2020 ! FUNCTION: TrackPopupMenu
2021 ! FUNCTION: TrackPopupMenuEx
2022 ! FUNCTION: TranslateAccelerator
2023 ! FUNCTION: TranslateAcceleratorA
2024 FUNCTION: int TranslateAcceleratorW ( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg )
2025 ALIAS: TranslateAccelerator TranslateAcceleratorW
2026
2027 ! FUNCTION: TranslateMDISysAccel
2028 FUNCTION: BOOL TranslateMessage ( MSG* lpMsg )
2029
2030 ! FUNCTION: UnhookWindowsHook
2031 ! FUNCTION: UnhookWindowsHookEx
2032 ! FUNCTION: UnhookWinEvent
2033 ! FUNCTION: UnionRect
2034 ! FUNCTION: UnloadKeyboardLayout
2035 ! FUNCTION: UnlockWindowStation
2036 ! FUNCTION: UnpackDDElParam
2037 FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance )
2038 ALIAS: UnregisterClass UnregisterClassW
2039 FUNCTION: BOOL UnregisterDeviceNotification ( HANDLE hDevNotify )
2040 ! FUNCTION: UnregisterHotKey
2041 ! FUNCTION: UnregisterMessagePumpHook
2042 ! FUNCTION: UnregisterUserApiHook
2043 ! FUNCTION: UpdateLayeredWindow
2044 ! FUNCTION: UpdatePerUserSystemParameters
2045
2046 FUNCTION: BOOL UpdateWindow ( HWND hWnd )
2047
2048 ! FUNCTION: User32InitializeImmEntryTable
2049 ! FUNCTION: UserClientDllInitialize
2050 ! FUNCTION: UserHandleGrantAccess
2051 ! FUNCTION: UserLpkPSMTextOut
2052 ! FUNCTION: UserLpkTabbedTextOut
2053 ! FUNCTION: UserRealizePalette
2054 ! FUNCTION: UserRegisterWowHandlers
2055 ! FUNCTION: ValidateRect
2056 ! FUNCTION: ValidateRgn
2057 ! FUNCTION: VkKeyScanA
2058 ! FUNCTION: VkKeyScanExA
2059 ! FUNCTION: VkKeyScanExW
2060 ! FUNCTION: VkKeyScanW
2061 ! FUNCTION: VRipOutput
2062 ! FUNCTION: VTagOutput
2063 ! FUNCTION: WaitForInputIdle
2064 ! FUNCTION: WaitMessage
2065 ! FUNCTION: WCSToMBEx
2066 ! FUNCTION: Win32PoolAllocationStats
2067 ! FUNCTION: WindowFromDC
2068 ! FUNCTION: WindowFromPoint
2069 ! FUNCTION: WinHelpA
2070 ! FUNCTION: WinHelpW
2071 ! FUNCTION: WINNLSEnableIME
2072 ! FUNCTION: WINNLSGetEnableStatus
2073 ! FUNCTION: WINNLSGetIMEHotkey
2074 ! FUNCTION: wsprintfA
2075 ! FUNCTION: wsprintfW
2076 ! FUNCTION: wvsprintfA
2077 ! FUNCTION: wvsprintfW
2078
2079 TYPEDEF: HANDLE HPOWERNOTIFY
2080
2081 FUNCTION: HPOWERNOTIFY RegisterPowerSettingNotification ( HANDLE  hRecipient, LPCGUID PowerSettingGuid, DWORD Flags )
2082 FUNCTION: BOOL UnregisterPowerSettingNotification ( HPOWERNOTIFY Handle )
2083
2084 CONSTANT: GUID_ACDC_POWER_SOURCE
2085     GUID: {5d3e9a59-e9D5-4b00-a6bd-ff34ff516548}
2086
2087 CONSTANT: GUID_BATTERY_PERCENTAGE_REMAINING
2088     GUID: {a7ad8041-b45a-4cae-87a3-eecbb468a9e1}
2089
2090 CONSTANT: GUID_CONSOLE_DISPLAY_STATE
2091     GUID: {6fe69556-704a-47a0-8f24-c28d936fda47}
2092
2093 CONSTANT: GUID_GLOBAL_USER_PRESENCE
2094     GUID: {786e8a1d-b427-4344-9207-09e70bdcbea9}
2095
2096 CONSTANT: GUID_IDLE_BACKGROUND_TASK
2097     GUID: {515c31d8-f734-163d-a0fd-11a0-8c91e8f1}
2098
2099 CONSTANT: GUID_MONITOR_POWER_ON
2100     GUID: {02731015-4510-4526-99e6-e5a17ebd1aea}
2101
2102 CONSTANT: GUID_POWER_SAVING_STATUS
2103     GUID: {e00958c0-c213-4ace-ac77-fecced2eeea5}
2104
2105 CONSTANT: GUID_POWERSCHEME_PERSONALITY
2106     GUID: {245d8541-3943-4422-b025-13a7-84f679b7}
2107
2108 CONSTANT: GUID_MIN_POWER_SAVINGS
2109     GUID: {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}
2110
2111 CONSTANT: GUID_MAX_POWER_SAVINGS
2112     GUID: {a1841308-3541-4fab-bc81-f71556f20b4a}
2113
2114 CONSTANT: GUID_TYPICAL_POWER_SAVINGS
2115     GUID: {381b4222-f694-41f0-9685-ff5bb260df2e}
2116
2117 CONSTANT: GUID_SESSION_DISPLAY_STATUS
2118     GUID: {2b84c20e-ad23-4ddf-93db-05ffbd7efca5}
2119
2120 CONSTANT: GUID_SESSION_USER_PRESENCE
2121     GUID: {3c0f4548-c03f-4c4d-b9f2-237ede686376}
2122
2123 CONSTANT: GUID_SYSTEM_AWAYMODE
2124     GUID: {98a7f580-01f7-48aa-9c0f-44352c29e5C0}
2125
2126 ! This notification fires when the Lid Close Action is
2127 ! changed by user in the Power Manager (Control Panel).
2128 CONSTANT: GUID_LIDCLOSE_ACTION
2129     GUID: {5ca83367-6e45-459f-a27b-476b1d01c936}
2130
2131 ! This notifies when the laptop lid is physically opened or closed.
2132 CONSTANT: GUID_LIDSWITCH_STATE_CHANGE
2133     GUID: {ba3e0f4d-b817-4094-a2d1-d56379e6a0f3}
2134
2135 CONSTANT: PBT_POWERSETTINGCHANGE 0x8013
2136
2137 STRUCT: POWERBROADCAST_SETTING
2138     { PowerSetting GUID  }
2139     { DataLength   DWORD }
2140     { Data         UCHAR }
2141 ;
2142
2143 : msgbox ( str -- )
2144     f swap "DebugMsg" MB_OK MessageBox drop ;