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