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