]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/user32/user32.factor
change back other char/uchar* parameters that don't look like actual string types
[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 HEX: 80000000
13
14 CONSTANT: WS_OVERLAPPED       HEX: 00000000
15 CONSTANT: WS_POPUP            HEX: 80000000
16 CONSTANT: WS_CHILD            HEX: 40000000
17 CONSTANT: WS_MINIMIZE         HEX: 20000000
18 CONSTANT: WS_VISIBLE          HEX: 10000000
19 CONSTANT: WS_DISABLED         HEX: 08000000
20 CONSTANT: WS_CLIPSIBLINGS     HEX: 04000000
21 CONSTANT: WS_CLIPCHILDREN     HEX: 02000000
22 CONSTANT: WS_MAXIMIZE         HEX: 01000000
23 CONSTANT: WS_CAPTION          HEX: 00C00000
24 CONSTANT: WS_BORDER           HEX: 00800000
25 CONSTANT: WS_DLGFRAME         HEX: 00400000
26 CONSTANT: WS_VSCROLL          HEX: 00200000
27 CONSTANT: WS_HSCROLL          HEX: 00100000
28 CONSTANT: WS_SYSMENU          HEX: 00080000
29 CONSTANT: WS_THICKFRAME       HEX: 00040000
30 CONSTANT: WS_GROUP            HEX: 00020000
31 CONSTANT: WS_TABSTOP          HEX: 00010000
32 CONSTANT: WS_MINIMIZEBOX      HEX: 00020000
33 CONSTANT: WS_MAXIMIZEBOX      HEX: 00010000
34
35 ! Common window styles
36 : WS_OVERLAPPEDWINDOW ( -- n )
37     {
38         WS_OVERLAPPED
39         WS_CAPTION
40         WS_SYSMENU
41         WS_THICKFRAME
42         WS_MINIMIZEBOX
43         WS_MAXIMIZEBOX
44     } flags ; foldable
45
46 : WS_POPUPWINDOW ( -- n )
47     { WS_POPUP WS_BORDER WS_SYSMENU } flags ; foldable
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     HEX: 00000001
59 CONSTANT: WS_EX_NOPARENTNOTIFY    HEX: 00000004
60 CONSTANT: WS_EX_TOPMOST           HEX: 00000008
61 CONSTANT: WS_EX_ACCEPTFILES       HEX: 00000010
62 CONSTANT: WS_EX_TRANSPARENT       HEX: 00000020
63 CONSTANT: WS_EX_MDICHILD          HEX: 00000040
64 CONSTANT: WS_EX_TOOLWINDOW        HEX: 00000080
65 CONSTANT: WS_EX_WINDOWEDGE        HEX: 00000100
66 CONSTANT: WS_EX_CLIENTEDGE        HEX: 00000200
67 CONSTANT: WS_EX_CONTEXTHELP       HEX: 00000400
68
69 CONSTANT: WS_EX_RIGHT             HEX: 00001000
70 CONSTANT: WS_EX_LEFT              HEX: 00000000
71 CONSTANT: WS_EX_RTLREADING        HEX: 00002000
72 CONSTANT: WS_EX_LTRREADING        HEX: 00000000
73 CONSTANT: WS_EX_LEFTSCROLLBAR     HEX: 00004000
74 CONSTANT: WS_EX_RIGHTSCROLLBAR    HEX: 00000000
75 CONSTANT: WS_EX_CONTROLPARENT     HEX: 00010000
76 CONSTANT: WS_EX_STATICEDGE        HEX: 00020000
77 CONSTANT: WS_EX_APPWINDOW         HEX: 00040000
78
79 : WS_EX_OVERLAPPEDWINDOW ( -- n )
80     WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE bitor ; foldable
81
82 : WS_EX_PALETTEWINDOW ( -- n )
83     { WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW WS_EX_TOPMOST } flags ; foldable
84
85 CONSTANT: CS_VREDRAW          HEX: 0001
86 CONSTANT: CS_HREDRAW          HEX: 0002
87 CONSTANT: CS_DBLCLKS          HEX: 0008
88 CONSTANT: CS_OWNDC            HEX: 0020
89 CONSTANT: CS_CLASSDC          HEX: 0040
90 CONSTANT: CS_PARENTDC         HEX: 0080
91 CONSTANT: CS_NOCLOSE          HEX: 0200
92 CONSTANT: CS_SAVEBITS         HEX: 0800
93 CONSTANT: CS_BYTEALIGNCLIENT  HEX: 1000
94 CONSTANT: CS_BYTEALIGNWINDOW  HEX: 2000
95 CONSTANT: CS_GLOBALCLASS      HEX: 4000
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 HEX: 0080
194 CONSTANT: CF_DSPTEXT HEX: 0081
195 CONSTANT: CF_DSPBITMAP HEX: 0082
196 CONSTANT: CF_DSPMETAFILEPICT HEX: 0083
197 CONSTANT: CF_DSPENHMETAFILE HEX: 008E
198
199 ! "Private" formats don't get GlobalFree()'d
200 CONSTANT: CF_PRIVATEFIRST HEX: 200
201 CONSTANT: CF_PRIVATELAST HEX: 2FF
202
203 ! "GDIOBJ" formats do get DeleteObject()'d
204 CONSTANT: CF_GDIOBJFIRST HEX: 300
205 CONSTANT: CF_GDIOBJLAST HEX: 3FF
206
207 ! Virtual Keys, Standard Set
208 CONSTANT: VK_LBUTTON        HEX: 01
209 CONSTANT: VK_RBUTTON        HEX: 02
210 CONSTANT: VK_CANCEL         HEX: 03
211 CONSTANT: VK_MBUTTON        HEX: 04  ! NOT contiguous with L & RBUTTON
212 CONSTANT: VK_XBUTTON1       HEX: 05  ! NOT contiguous with L & RBUTTON
213 CONSTANT: VK_XBUTTON2       HEX: 06  ! NOT contiguous with L & RBUTTON
214 ! 0x07 : unassigned
215 CONSTANT: VK_BACK           HEX: 08
216 CONSTANT: VK_TAB            HEX: 09
217 ! 0x0A - 0x0B : reserved
218
219 CONSTANT: VK_CLEAR          HEX: 0C
220 CONSTANT: VK_RETURN         HEX: 0D
221
222 CONSTANT: VK_SHIFT          HEX: 10
223 CONSTANT: VK_CONTROL        HEX: 11
224 CONSTANT: VK_MENU           HEX: 12
225 CONSTANT: VK_PAUSE          HEX: 13
226 CONSTANT: VK_CAPITAL        HEX: 14
227
228 CONSTANT: VK_KANA           HEX: 15
229 CONSTANT: VK_HANGEUL        HEX: 15 ! old name - here for compatibility
230 CONSTANT: VK_HANGUL         HEX: 15
231 CONSTANT: VK_JUNJA          HEX: 17
232 CONSTANT: VK_FINAL          HEX: 18
233 CONSTANT: VK_HANJA          HEX: 19
234 CONSTANT: VK_KANJI          HEX: 19
235
236 CONSTANT: VK_ESCAPE         HEX: 1B
237
238 CONSTANT: VK_CONVERT        HEX: 1C
239 CONSTANT: VK_NONCONVERT     HEX: 1D
240 CONSTANT: VK_ACCEPT         HEX: 1E
241 CONSTANT: VK_MODECHANGE     HEX: 1F
242
243 CONSTANT: VK_SPACE          HEX: 20
244 CONSTANT: VK_PRIOR          HEX: 21
245 CONSTANT: VK_NEXT           HEX: 22
246 CONSTANT: VK_END            HEX: 23
247 CONSTANT: VK_HOME           HEX: 24
248 CONSTANT: VK_LEFT           HEX: 25
249 CONSTANT: VK_UP             HEX: 26
250 CONSTANT: VK_RIGHT          HEX: 27
251 CONSTANT: VK_DOWN           HEX: 28
252 CONSTANT: VK_SELECT         HEX: 29
253 CONSTANT: VK_PRINT          HEX: 2A
254 CONSTANT: VK_EXECUTE        HEX: 2B
255 CONSTANT: VK_SNAPSHOT       HEX: 2C
256 CONSTANT: VK_INSERT         HEX: 2D
257 CONSTANT: VK_DELETE         HEX: 2E
258 CONSTANT: VK_HELP           HEX: 2F
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           HEX: 5B
299 CONSTANT: VK_RWIN           HEX: 5C
300 CONSTANT: VK_APPS           HEX: 5D
301
302 ! 0x5E : reserved
303
304 CONSTANT: VK_SLEEP          HEX: 5F
305
306 CONSTANT: VK_NUMPAD0        HEX: 60
307 CONSTANT: VK_NUMPAD1        HEX: 61
308 CONSTANT: VK_NUMPAD2        HEX: 62
309 CONSTANT: VK_NUMPAD3        HEX: 63
310 CONSTANT: VK_NUMPAD4        HEX: 64
311 CONSTANT: VK_NUMPAD5        HEX: 65
312 CONSTANT: VK_NUMPAD6        HEX: 66
313 CONSTANT: VK_NUMPAD7        HEX: 67
314 CONSTANT: VK_NUMPAD8        HEX: 68
315 CONSTANT: VK_NUMPAD9        HEX: 69
316 CONSTANT: VK_MULTIPLY       HEX: 6A
317 CONSTANT: VK_ADD            HEX: 6B
318 CONSTANT: VK_SEPARATOR      HEX: 6C
319 CONSTANT: VK_SUBTRACT       HEX: 6D
320 CONSTANT: VK_DECIMAL        HEX: 6E
321 CONSTANT: VK_DIVIDE         HEX: 6F
322 CONSTANT: VK_F1             HEX: 70
323 CONSTANT: VK_F2             HEX: 71
324 CONSTANT: VK_F3             HEX: 72
325 CONSTANT: VK_F4             HEX: 73
326 CONSTANT: VK_F5             HEX: 74
327 CONSTANT: VK_F6             HEX: 75
328 CONSTANT: VK_F7             HEX: 76
329 CONSTANT: VK_F8             HEX: 77
330 CONSTANT: VK_F9             HEX: 78
331 CONSTANT: VK_F10            HEX: 79
332 CONSTANT: VK_F11            HEX: 7A
333 CONSTANT: VK_F12            HEX: 7B
334 CONSTANT: VK_F13            HEX: 7C
335 CONSTANT: VK_F14            HEX: 7D
336 CONSTANT: VK_F15            HEX: 7E
337 CONSTANT: VK_F16            HEX: 7F
338 CONSTANT: VK_F17            HEX: 80
339 CONSTANT: VK_F18            HEX: 81
340 CONSTANT: VK_F19            HEX: 82
341 CONSTANT: VK_F20            HEX: 83
342 CONSTANT: VK_F21            HEX: 84
343 CONSTANT: VK_F22            HEX: 85
344 CONSTANT: VK_F23            HEX: 86
345 CONSTANT: VK_F24            HEX: 87
346
347 ! 0x88 - 0x8F : unassigned
348
349 CONSTANT: VK_NUMLOCK        HEX: 90
350 CONSTANT: VK_SCROLL         HEX: 91
351
352 ! NEC PC-9800 kbd definitions
353 CONSTANT: VK_OEM_NEC_EQUAL  HEX: 92  ! '=' key on numpad
354
355 ! Fujitsu/OASYS kbd definitions
356 CONSTANT: VK_OEM_FJ_JISHO   HEX: 92  ! 'Dictionary' key
357 CONSTANT: VK_OEM_FJ_MASSHOU HEX: 93  ! 'Unregister word' key
358 CONSTANT: VK_OEM_FJ_TOUROKU HEX: 94  ! 'Register word' key
359 CONSTANT: VK_OEM_FJ_LOYA    HEX: 95  ! 'Left OYAYUBI' key
360 CONSTANT: VK_OEM_FJ_ROYA    HEX: 96  ! '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         HEX: A0
368 CONSTANT: VK_RSHIFT         HEX: A1
369 CONSTANT: VK_LCONTROL       HEX: A2
370 CONSTANT: VK_RCONTROL       HEX: A3
371 CONSTANT: VK_LMENU          HEX: A4
372 CONSTANT: VK_RMENU          HEX: A5
373
374 CONSTANT: VK_BROWSER_BACK        HEX: A6
375 CONSTANT: VK_BROWSER_FORWARD     HEX: A7
376 CONSTANT: VK_BROWSER_REFRESH     HEX: A8
377 CONSTANT: VK_BROWSER_STOP        HEX: A9
378 CONSTANT: VK_BROWSER_SEARCH      HEX: AA
379 CONSTANT: VK_BROWSER_FAVORITES   HEX: AB
380 CONSTANT: VK_BROWSER_HOME        HEX: AC
381
382 CONSTANT: VK_VOLUME_MUTE         HEX: AD
383 CONSTANT: VK_VOLUME_DOWN         HEX: AE
384 CONSTANT: VK_VOLUME_UP           HEX: AF
385 CONSTANT: VK_MEDIA_NEXT_TRACK    HEX: B0
386 CONSTANT: VK_MEDIA_PREV_TRACK    HEX: B1
387 CONSTANT: VK_MEDIA_STOP          HEX: B2
388 CONSTANT: VK_MEDIA_PLAY_PAUSE    HEX: B3
389 CONSTANT: VK_LAUNCH_MAIL         HEX: B4
390 CONSTANT: VK_LAUNCH_MEDIA_SELECT HEX: B5
391 CONSTANT: VK_LAUNCH_APP1         HEX: B6
392 CONSTANT: VK_LAUNCH_APP2         HEX: B7
393
394 ! 0xB8 - 0xB9 : reserved
395
396 CONSTANT: VK_OEM_1          HEX: BA  ! ';:' for US
397 CONSTANT: VK_OEM_PLUS       HEX: BB  ! '+' any country
398 CONSTANT: VK_OEM_COMMA      HEX: BC  ! ',' any country
399 CONSTANT: VK_OEM_MINUS      HEX: BD  ! '-' any country
400 CONSTANT: VK_OEM_PERIOD     HEX: BE  ! '.' any country
401 CONSTANT: VK_OEM_2          HEX: BF  ! '/?' for US
402 CONSTANT: VK_OEM_3          HEX: C0  ! '`~' for US
403
404 ! 0xC1 - 0xD7 : reserved
405
406 ! 0xD8 - 0xDA : unassigned
407
408 CONSTANT: VK_OEM_4          HEX: DB !  '[{' for US
409 CONSTANT: VK_OEM_5          HEX: DC !  '\|' for US
410 CONSTANT: VK_OEM_6          HEX: DD !  ']}' for US
411 CONSTANT: VK_OEM_7          HEX: DE !  ''"' for US
412 CONSTANT: VK_OEM_8          HEX: DF
413
414 ! 0xE0 : reserved
415
416 ! Various extended or enhanced keyboards
417 CONSTANT: VK_OEM_AX         HEX: E1 !  'AX' key on Japanese AX kbd
418 CONSTANT: VK_OEM_102        HEX: E2 !  "<>" or "\|" on RT 102-key kbd.
419 CONSTANT: VK_ICO_HELP       HEX: E3 !  Help key on ICO
420 CONSTANT: VK_ICO_00         HEX: E4 !  00 key on ICO
421
422 CONSTANT: VK_PROCESSKEY     HEX: E5
423
424 CONSTANT: VK_ICO_CLEAR      HEX: E6
425
426 CONSTANT: VK_PACKET         HEX: E7
427
428 ! 0xE8 : unassigned
429
430 ! Nokia/Ericsson definitions
431 CONSTANT: VK_OEM_RESET      HEX: E9
432 CONSTANT: VK_OEM_JUMP       HEX: EA
433 CONSTANT: VK_OEM_PA1        HEX: EB
434 CONSTANT: VK_OEM_PA2        HEX: EC
435 CONSTANT: VK_OEM_PA3        HEX: ED
436 CONSTANT: VK_OEM_WSCTRL     HEX: EE
437 CONSTANT: VK_OEM_CUSEL      HEX: EF
438 CONSTANT: VK_OEM_ATTN       HEX: F0
439 CONSTANT: VK_OEM_FINISH     HEX: F1
440 CONSTANT: VK_OEM_COPY       HEX: F2
441 CONSTANT: VK_OEM_AUTO       HEX: F3
442 CONSTANT: VK_OEM_ENLW       HEX: F4
443 CONSTANT: VK_OEM_BACKTAB    HEX: F5
444
445 CONSTANT: VK_ATTN           HEX: F6
446 CONSTANT: VK_CRSEL          HEX: F7
447 CONSTANT: VK_EXSEL          HEX: F8
448 CONSTANT: VK_EREOF          HEX: F9
449 CONSTANT: VK_PLAY           HEX: FA
450 CONSTANT: VK_ZOOM           HEX: FB
451 CONSTANT: VK_NONAME         HEX: FC
452 CONSTANT: VK_PA1            HEX: FD
453 CONSTANT: VK_OEM_CLEAR      HEX: FE
454 ! 0xFF : reserved
455
456 ! Key State Masks for Mouse Messages
457 CONSTANT: MK_LBUTTON          HEX: 0001
458 CONSTANT: MK_RBUTTON          HEX: 0002
459 CONSTANT: MK_SHIFT            HEX: 0004
460 CONSTANT: MK_CONTROL          HEX: 0008
461 CONSTANT: MK_MBUTTON          HEX: 0010
462 CONSTANT: MK_XBUTTON1         HEX: 0020
463 CONSTANT: MK_XBUTTON2         HEX: 0040
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    HEX: 00000040
504 CONSTANT: MB_ICONEXCLAMATION HEX: 00000030
505 CONSTANT: MB_ICONHAND        HEX: 00000010
506 CONSTANT: MB_ICONQUESTION    HEX: 00000020
507 CONSTANT: MB_OK              HEX: 00000000
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 HEX: 40000000
525 CONSTANT: TME_CANCEL HEX: 80000000
526 CONSTANT: HOVER_DEFAULT HEX: ffffffff
527 STRUCT: TRACKMOUSEEVENT
528     { cbSize DWORD }
529     { dwFlags DWORD }
530     { hwndTrack HWND }
531     { dwHoverTime DWORD } ;
532 TYPEDEF: TRACKMOUSEEVENT* LPTRACKMOUSEEVENT
533
534 CONSTANT: DBT_DEVICEARRIVAL HEX: 8000
535 CONSTANT: DBT_DEVICEREMOVECOMPLETE HEX: 8004
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 CONSTANT: SWP_DRAWFRAME SWP_FRAMECHANGED
584 CONSTANT: SWP_NOREPOSITION SWP_NOOWNERZORDER
585 CONSTANT: SWP_DEFERERASE 8192
586 CONSTANT: SWP_ASYNCWINDOWPOS 16384
587
588 CONSTANT: MF_ENABLED         HEX: 0000
589 CONSTANT: MF_GRAYED          HEX: 0001
590 CONSTANT: MF_DISABLED        HEX: 0002
591 CONSTANT: MF_STRING          HEX: 0000
592 CONSTANT: MF_BITMAP          HEX: 0004
593 CONSTANT: MF_UNCHECKED       HEX: 0000
594 CONSTANT: MF_CHECKED         HEX: 0008
595 CONSTANT: MF_POPUP           HEX: 0010
596 CONSTANT: MF_MENUBARBREAK    HEX: 0020
597 CONSTANT: MF_MENUBREAK       HEX: 0040
598 CONSTANT: MF_UNHILITE        HEX: 0000
599 CONSTANT: MF_HILITE          HEX: 0080
600 CONSTANT: MF_OWNERDRAW       HEX: 0100
601 CONSTANT: MF_USECHECKBITMAPS HEX: 0200
602 CONSTANT: MF_BYCOMMAND       HEX: 0000
603 CONSTANT: MF_BYPOSITION      HEX: 0400
604 CONSTANT: MF_SEPARATOR       HEX: 0800
605 CONSTANT: MF_DEFAULT         HEX: 1000
606 CONSTANT: MF_SYSMENU         HEX: 2000
607 CONSTANT: MF_HELP            HEX: 4000
608 CONSTANT: MF_RIGHTJUSTIFY    HEX: 4000
609 CONSTANT: MF_MOUSESELECT     HEX: 8000
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    HEX: 1000
727 CONSTANT: SPI_SETACTIVEWINDOWTRACKING    HEX: 1001
728 CONSTANT: SPI_GETMENUANIMATION           HEX: 1002
729 CONSTANT: SPI_SETMENUANIMATION           HEX: 1003
730 CONSTANT: SPI_GETCOMBOBOXANIMATION       HEX: 1004
731 CONSTANT: SPI_SETCOMBOBOXANIMATION       HEX: 1005
732 CONSTANT: SPI_GETLISTBOXSMOOTHSCROLLING  HEX: 1006
733 CONSTANT: SPI_SETLISTBOXSMOOTHSCROLLING  HEX: 1007
734 CONSTANT: SPI_GETGRADIENTCAPTIONS        HEX: 1008
735 CONSTANT: SPI_SETGRADIENTCAPTIONS        HEX: 1009
736 CONSTANT: SPI_GETMENUUNDERLINES          HEX: 100A
737 CONSTANT: SPI_SETMENUUNDERLINES          HEX: 100B
738 CONSTANT: SPI_GETACTIVEWNDTRKZORDER      HEX: 100C
739 CONSTANT: SPI_SETACTIVEWNDTRKZORDER      HEX: 100D
740 CONSTANT: SPI_GETHOTTRACKING             HEX: 100E
741 CONSTANT: SPI_SETHOTTRACKING             HEX: 100F
742 CONSTANT: SPI_GETFOREGROUNDLOCKTIMEOUT   HEX: 2000
743 CONSTANT: SPI_SETFOREGROUNDLOCKTIMEOUT   HEX: 2001
744 CONSTANT: SPI_GETACTIVEWNDTRKTIMEOUT     HEX: 2002
745 CONSTANT: SPI_SETACTIVEWNDTRKTIMEOUT     HEX: 2003
746 CONSTANT: SPI_GETFOREGROUNDFLASHCOUNT    HEX: 2004
747 CONSTANT: SPI_SETFOREGROUNDFLASHCOUNT    HEX: 2005
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 ) HEX: ff 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   HEX: 0001
790 CONSTANT: RI_MOUSE_LEFT_BUTTON_UP     HEX: 0002
791 CONSTANT: RI_MOUSE_RIGHT_BUTTON_DOWN  HEX: 0004
792 CONSTANT: RI_MOUSE_RIGHT_BUTTON_UP    HEX: 0008
793 CONSTANT: RI_MOUSE_MIDDLE_BUTTON_DOWN HEX: 0010
794 CONSTANT: RI_MOUSE_MIDDLE_BUTTON_UP   HEX: 0020
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      HEX: 0040
804 CONSTANT: RI_MOUSE_BUTTON_4_UP        HEX: 0080
805 CONSTANT: RI_MOUSE_BUTTON_5_DOWN      HEX: 0100
806 CONSTANT: RI_MOUSE_BUTTON_5_UP        HEX: 0200
807 CONSTANT: RI_MOUSE_WHEEL              HEX: 0400
808
809 CONSTANT: MOUSE_MOVE_RELATIVE      0
810 CONSTANT: MOUSE_MOVE_ABSOLUTE      1
811 CONSTANT: MOUSE_VIRTUAL_DESKTOP    HEX: 02
812 CONSTANT: MOUSE_ATTRIBUTES_CHANGED HEX: 04
813 CONSTANT: MOUSE_MOVE_NOCOALESCE    HEX: 08
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    HEX: FF
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   HEX: 10
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               HEX: 10000003
857 CONSTANT: RID_HEADER              HEX: 10000005
858 CONSTANT: RIDI_PREPARSEDDATA      HEX: 20000005
859 CONSTANT: RIDI_DEVICENAME         HEX: 20000007
860 CONSTANT: RIDI_DEVICEINFO         HEX: 2000000b
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            HEX: 00000001
907 CONSTANT: RIDEV_EXCLUDE           HEX: 00000010
908 CONSTANT: RIDEV_PAGEONLY          HEX: 00000020
909 CONSTANT: RIDEV_NOLEGACY          HEX: 00000030
910 CONSTANT: RIDEV_INPUTSINK         HEX: 00000100
911 CONSTANT: RIDEV_CAPTUREMOUSE      HEX: 00000200
912 CONSTANT: RIDEV_NOHOTKEYS         HEX: 00000200
913 CONSTANT: RIDEV_APPKEYS           HEX: 00000400
914 CONSTANT: RIDEV_EXINPUTSINK       HEX: 00001000
915 CONSTANT: RIDEV_DEVNOTIFY         HEX: 00002000
916 CONSTANT: RIDEV_EXMODEMASK        HEX: 000000F0
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 ) HEX: ffff bitand ; inline
924
925 STRUCT: RAWINPUTDEVICELIST
926     { hDevice HANDLE }
927     { dwType  DWORD  } ;
928 TYPEDEF: RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST
929
930 LIBRARY: user32
931
932 FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags ) ;
933 FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu ) ;
934 FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle ) ;
935 ! FUNCTION: AlignRects
936 ! FUNCTION: AllowForegroundActivation
937 ! FUNCTION: AllowSetForegroundWindow
938 ! FUNCTION: AnimateWindow
939
940 FUNCTION: BOOL AnyPopup ( ) ;
941
942 ! FUNCTION: AppendMenuA
943 ! FUNCTION: AppendMenuW
944 ! FUNCTION: ArrangeIconicWindows
945 ! FUNCTION: AttachThreadInput
946 ! FUNCTION: BeginDeferWindowPos
947
948 FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint ) ;
949
950 ! FUNCTION: BlockInput
951 ! FUNCTION: BringWindowToTop
952 ! FUNCTION: BroadcastSystemMessage
953 ! FUNCTION: BroadcastSystemMessageA
954 ! FUNCTION: BroadcastSystemMessageExA
955 ! FUNCTION: BroadcastSystemMessageExW
956 ! FUNCTION: BroadcastSystemMessageW
957 ! FUNCTION: BuildReasonArray
958 ! FUNCTION: CalcMenuBar
959 ! FUNCTION: CallMsgFilter
960 ! FUNCTION: CallMsgFilterA
961 ! FUNCTION: CallMsgFilterW
962 ! FUNCTION: CallNextHookEx
963 ! FUNCTION: CallWindowProcA
964 ! FUNCTION: CallWindowProcW
965 ! FUNCTION: CascadeChildWindows
966 ! FUNCTION: CascadeWindows
967 ! FUNCTION: ChangeClipboardChain
968 ! FUNCTION: ChangeDisplaySettingsA
969 ! FUNCTION: ChangeDisplaySettingsExA
970 ! FUNCTION: ChangeDisplaySettingsExW
971 ! FUNCTION: ChangeDisplaySettingsW
972 ! FUNCTION: ChangeMenuA
973 ! FUNCTION: ChangeMenuW
974 ! FUNCTION: CharLowerA
975 ! FUNCTION: CharLowerBuffA
976 ! FUNCTION: CharLowerBuffW
977 ! FUNCTION: CharLowerW
978 ! FUNCTION: CharNextA
979 ! FUNCTION: CharNextExA
980 ! FUNCTION: CharNextW
981 ! FUNCTION: CharPrevA
982 ! FUNCTION: CharPrevExA
983 ! FUNCTION: CharPrevW
984 ! FUNCTION: CharToOemA
985 ! FUNCTION: CharToOemBuffA
986 ! FUNCTION: CharToOemBuffW
987 ! FUNCTION: CharToOemW
988 ! FUNCTION: CharUpperA
989 ! FUNCTION: CharUpperBuffA
990 ! FUNCTION: CharUpperBuffW
991 ! FUNCTION: CharUpperW
992 ! FUNCTION: CheckDlgButton
993 ! FUNCTION: CheckMenuItem
994 ! FUNCTION: CheckMenuRadioItem
995 ! FUNCTION: CheckRadioButton
996 FUNCTION: HWND ChildWindowFromPoint ( HWND hWndParent, POINT point ) ;
997 ! FUNCTION: ChildWindowFromPointEx
998 ! FUNCTION: ClientThreadSetup
999 FUNCTION: BOOL ClientToScreen ( HWND hWnd, POINT* point ) ;
1000 ! FUNCTION: CliImmSetHotKey
1001 FUNCTION: int ClipCursor ( RECT* clipRect ) ;
1002 FUNCTION: BOOL CloseClipboard ( ) ;
1003 ! FUNCTION: CloseDesktop
1004 ! FUNCTION: CloseWindow
1005 ! FUNCTION: CloseWindowStation
1006 ! FUNCTION: CopyAcceleratorTableA
1007 FUNCTION: int CopyAcceleratorTableW ( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries ) ;
1008 ALIAS: CopyAcceleratorTable CopyAcceleratorTableW
1009 ! FUNCTION: CopyIcon
1010 ! FUNCTION: CopyImage
1011 ! FUNCTION: CopyRect
1012 ! FUNCTION: CountClipboardFormats
1013 ! FUNCTION: CreateAcceleratorTableA
1014 FUNCTION: HACCEL CreateAcceleratorTableW ( LPACCEL lpaccl, int cEntries ) ;
1015 ALIAS: CreateAcceleratorTable CreateAcceleratorTableW
1016 ! FUNCTION: CreateCaret
1017 ! FUNCTION: CreateCursor
1018 ! FUNCTION: CreateDesktopA
1019 ! FUNCTION: CreateDesktopW
1020 ! FUNCTION: CreateDialogIndirectParamA
1021 ! FUNCTION: CreateDialogIndirectParamAorW
1022 ! FUNCTION: CreateDialogIndirectParamW
1023 ! FUNCTION: CreateDialogParamA
1024 ! FUNCTION: CreateDialogParamW
1025 ! FUNCTION: CreateIcon
1026 ! FUNCTION: CreateIconFromResource
1027 ! FUNCTION: CreateIconFromResourceEx
1028 ! FUNCTION: CreateIconIndirect
1029 ! FUNCTION: CreateMDIWindowA
1030 ! FUNCTION: CreateMDIWindowW
1031 ! FUNCTION: CreateMenu
1032 ! FUNCTION: CreatePopupMenu
1033 ! FUNCTION: CreateSystemThreads
1034
1035 FUNCTION: HWND CreateWindowExW (
1036                 DWORD dwExStyle,
1037                 LPCTSTR lpClassName,
1038                 LPCTSTR lpWindowName,
1039                 DWORD dwStyle,
1040                 uint X,
1041                 uint Y,
1042                 uint nWidth,
1043                 uint nHeight,
1044                 HWND hWndParent,
1045                 HMENU hMenu,
1046                 HINSTANCE hInstance,
1047                 LPVOID lpParam ) ;
1048
1049 ALIAS: CreateWindowEx CreateWindowExW
1050
1051 : CreateWindow ( a b c d e f g h i j k -- hwnd ) 0 12 -nrot CreateWindowEx ; inline
1052
1053 ! FUNCTION: CreateWindowStationA
1054 ! FUNCTION: CreateWindowStationW
1055 ! FUNCTION: CsrBroadcastSystemMessageExW
1056 ! FUNCTION: CtxInitUser32
1057 ! FUNCTION: DdeAbandonTransaction
1058 ! FUNCTION: DdeAccessData
1059 ! FUNCTION: DdeAddData
1060 ! FUNCTION: DdeClientTransaction
1061 ! FUNCTION: DdeCmpStringHandles
1062 ! FUNCTION: DdeConnect
1063 ! FUNCTION: DdeConnectList
1064 ! FUNCTION: DdeCreateDataHandle
1065 ! FUNCTION: DdeCreateStringHandleA
1066 ! FUNCTION: DdeCreateStringHandleW
1067 ! FUNCTION: DdeDisconnect
1068 ! FUNCTION: DdeDisconnectList
1069 ! FUNCTION: DdeEnableCallback
1070 ! FUNCTION: DdeFreeDataHandle
1071 ! FUNCTION: DdeFreeStringHandle
1072 ! FUNCTION: DdeGetData
1073 ! FUNCTION: DdeGetLastError
1074 ! FUNCTION: DdeGetQualityOfService
1075 ! FUNCTION: DdeImpersonateClient
1076 ! FUNCTION: DdeInitializeA
1077 ! FUNCTION: DdeInitializeW
1078 ! FUNCTION: DdeKeepStringHandle
1079 ! FUNCTION: DdeNameService
1080 ! FUNCTION: DdePostAdvise
1081 ! FUNCTION: DdeQueryConvInfo
1082 ! FUNCTION: DdeQueryNextServer
1083 ! FUNCTION: DdeQueryStringA
1084 ! FUNCTION: DdeQueryStringW
1085 ! FUNCTION: DdeReconnect
1086 ! FUNCTION: DdeSetQualityOfService
1087 ! FUNCTION: DdeSetUserHandle
1088 ! FUNCTION: DdeUnaccessData
1089 ! FUNCTION: DdeUninitialize
1090 ! FUNCTION: DefDlgProcA
1091 ! FUNCTION: DefDlgProcW
1092 ! FUNCTION: DeferWindowPos
1093 ! FUNCTION: DefFrameProcA
1094 ! FUNCTION: DefFrameProcW
1095 ! FUNCTION: DefMDIChildProcA
1096 ! FUNCTION: DefMDIChildProcW
1097 FUNCTION: LRESULT DefRawInputProc ( PRAWINPUT* paRawInput, INT nInput, UINT cbSizeHeader ) ;
1098 FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
1099 ALIAS: DefWindowProc DefWindowProcW
1100 ! FUNCTION: DeleteMenu
1101 ! FUNCTION: DeregisterShellHookWindow
1102 FUNCTION: BOOL DestroyAcceleratorTable ( HACCEL hAccel ) ;
1103 ! FUNCTION: DestroyCaret
1104 ! FUNCTION: DestroyCursor
1105 ! FUNCTION: DestroyIcon
1106 ! FUNCTION: DestroyMenu
1107 ! FUNCTION: DestroyReasons
1108 FUNCTION: BOOL DestroyWindow ( HWND hWnd ) ;
1109 ! FUNCTION: DeviceEventWorker
1110 ! FUNCTION: DialogBoxIndirectParamA
1111 ! FUNCTION: DialogBoxIndirectParamAorW
1112 ! FUNCTION: DialogBoxIndirectParamW
1113 ! FUNCTION: DialogBoxParamA
1114 ! FUNCTION: DialogBoxParamW
1115 ! FUNCTION: DisableProcessWindowsGhosting
1116
1117 FUNCTION: LONG DispatchMessageW ( MSG* lpMsg ) ;
1118 ALIAS: DispatchMessage DispatchMessageW
1119
1120 ! FUNCTION: DisplayExitWindowsWarnings
1121 ! FUNCTION: DlgDirListA
1122 ! FUNCTION: DlgDirListComboBoxA
1123 ! FUNCTION: DlgDirListComboBoxW
1124 ! FUNCTION: DlgDirListW
1125 ! FUNCTION: DlgDirSelectComboBoxExA
1126 ! FUNCTION: DlgDirSelectComboBoxExW
1127 ! FUNCTION: DlgDirSelectExA
1128 ! FUNCTION: DlgDirSelectExW
1129 ! FUNCTION: DragDetect
1130 ! FUNCTION: DragObject
1131
1132
1133 FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo ) ;
1134 ! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags ) ;
1135
1136 ! FUNCTION: DrawEdge
1137 ! FUNCTION: DrawFocusRect
1138 ! FUNCTION: DrawFrame
1139 ! FUNCTION: DrawFrameControl
1140
1141 FUNCTION: BOOL DrawIcon ( HDC hDC, int X, int Y, HICON hIcon ) ;
1142
1143 ! FUNCTION: DrawIconEx
1144 ! FUNCTION: DrawMenuBar
1145 ! FUNCTION: DrawMenuBarTemp
1146 ! FUNCTION: DrawStateA
1147 ! FUNCTION: DrawStateW
1148 ! FUNCTION: DrawTextA
1149 ! FUNCTION: DrawTextExA
1150 ! FUNCTION: DrawTextExW
1151 ! FUNCTION: DrawTextW
1152 ! FUNCTION: EditWndProc
1153 FUNCTION: BOOL EmptyClipboard ( ) ;
1154 FUNCTION: BOOL EnableMenuItem ( HMENU hMenu, UINT uIDEnableItem, UINT uEnable ) ;
1155 ! FUNCTION: EnableScrollBar
1156 ! FUNCTION: EnableWindow
1157 ! FUNCTION: EndDeferWindowPos
1158 ! FUNCTION: EndDialog
1159 ! FUNCTION: EndMenu
1160
1161 FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint) ;
1162
1163 ! FUNCTION: EndTask
1164 ! FUNCTION: EnterReaderModeHelper
1165 ! FUNCTION: EnumChildWindows
1166 FUNCTION: UINT EnumClipboardFormats ( UINT format ) ;
1167 ! FUNCTION: EnumDesktopsA
1168 ! FUNCTION: EnumDesktopsW
1169 ! FUNCTION: EnumDesktopWindows
1170 ! FUNCTION: EnumDisplayDevicesA
1171 ! FUNCTION: EnumDisplayDevicesW
1172 ! FUNCTION: EnumDisplayMonitors
1173 ! FUNCTION: EnumDisplaySettingsA
1174 ! FUNCTION: EnumDisplaySettingsExA
1175 ! FUNCTION: EnumDisplaySettingsExW
1176 ! FUNCTION: EnumDisplaySettingsW
1177 ! FUNCTION: EnumPropsA
1178 ! FUNCTION: EnumPropsExA
1179 ! FUNCTION: EnumPropsExW
1180 ! FUNCTION: EnumPropsW
1181 ! FUNCTION: EnumThreadWindows
1182 ! FUNCTION: EnumWindows
1183 ! FUNCTION: EnumWindowStationsA
1184 ! FUNCTION: EnumWindowStationsW
1185 ! FUNCTION: EqualRect
1186 ! FUNCTION: ExcludeUpdateRgn
1187 ! FUNCTION: ExitWindowsEx
1188 FUNCTION: int FillRect ( HDC hDC, RECT* lprc, HBRUSH hbr ) ;
1189 FUNCTION: HWND FindWindowA ( c-string lpClassName, c-string lpWindowName ) ;
1190 FUNCTION: HWND FindWindowExA ( HWND hwndParent, HWND childAfter, c-string lpClassName, c-string lpWindowName ) ;
1191 ! FUNCTION: FindWindowExW
1192 ! FUNCTION: FindWindowW
1193 ! FUNCTION: FlashWindow
1194 ! FUNCTION: FlashWindowEx
1195 ! FUNCTION: FrameRect
1196 ! FUNCTION: FreeDDElParam
1197 ! FUNCTION: GetActiveWindow
1198 ! FUNCTION: GetAltTabInfo
1199 ! FUNCTION: GetAltTabInfoA
1200 ! FUNCTION: GetAltTabInfoW
1201 ! FUNCTION: GetAncestor
1202 ! FUNCTION: GetAppCompatFlags
1203 ! FUNCTION: GetAppCompatFlags2
1204 ! FUNCTION: GetAsyncKeyState
1205 FUNCTION: HWND GetCapture ( ) ;
1206 ! FUNCTION: GetCaretBlinkTime
1207 ! FUNCTION: GetCaretPos
1208 FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx ) ;
1209 ALIAS: GetClassInfo GetClassInfoW
1210
1211 FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
1212 ALIAS: GetClassInfoEx GetClassInfoExW
1213
1214 FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex ) ;
1215 ALIAS: GetClassLong GetClassLongW
1216 ALIAS: GetClassLongPtr GetClassLongW
1217
1218
1219 ! FUNCTION: GetClassNameA
1220 ! FUNCTION: GetClassNameW
1221 ! FUNCTION: GetClassWord
1222 FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect ) ;
1223
1224 FUNCTION: HANDLE GetClipboardData ( UINT uFormat ) ;
1225
1226 ! FUNCTION: GetClipboardFormatNameA
1227 ! FUNCTION: GetClipboardFormatNameW
1228 FUNCTION: HWND GetClipboardOwner ( ) ;
1229 FUNCTION: DWORD GetClipboardSequenceNumber ( ) ;
1230 ! FUNCTION: GetClipboardViewer
1231 ! FUNCTION: GetClipCursor
1232 ! FUNCTION: GetComboBoxInfo
1233 ! FUNCTION: GetCursor
1234 ! FUNCTION: GetCursorFrameInfo
1235 ! FUNCTION: GetCursorInfo
1236 ! FUNCTION: GetCursorPos
1237 FUNCTION: HDC GetDC ( HWND hWnd ) ;
1238 FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags ) ;
1239 ! FUNCTION: GetDesktopWindow
1240 ! FUNCTION: GetDialogBaseUnits
1241 ! FUNCTION: GetDlgCtrlID
1242 ! FUNCTION: GetDlgItem
1243 ! FUNCTION: GetDlgItemInt
1244 ! FUNCTION: GetDlgItemTextA
1245 ! FUNCTION: GetDlgItemTextW
1246 FUNCTION: uint GetDoubleClickTime ( ) ;
1247 FUNCTION: HWND GetFocus ( ) ;
1248 ! FUNCTION: GetForegroundWindow
1249 ! FUNCTION: GetGuiResources
1250 ! FUNCTION: GetGUIThreadInfo
1251 ! FUNCTION: GetIconInfo
1252 ! FUNCTION: GetInputDesktop
1253 ! FUNCTION: GetInputState
1254 ! FUNCTION: GetInternalWindowPos
1255 ! FUNCTION: GetKBCodePage
1256 ! FUNCTION: GetKeyboardLayout
1257 ! FUNCTION: GetKeyboardLayoutList
1258 ! FUNCTION: GetKeyboardLayoutNameA
1259 ! FUNCTION: GetKeyboardLayoutNameW
1260 ! FUNCTION: GetKeyboardState
1261 ! FUNCTION: GetKeyboardType
1262 ! FUNCTION: GetKeyNameTextA
1263 ! FUNCTION: GetKeyNameTextW
1264 FUNCTION: SHORT GetKeyState ( int nVirtKey ) ;
1265 ! FUNCTION: GetLastActivePopup
1266 ! FUNCTION: GetLastInputInfo
1267 ! FUNCTION: GetLayeredWindowAttributes
1268 ! FUNCTION: GetListBoxInfo
1269 ! FUNCTION: GetMenu
1270 ! FUNCTION: GetMenuBarInfo
1271 ! FUNCTION: GetMenuCheckMarkDimensions
1272 ! FUNCTION: GetMenuContextHelpId
1273 ! FUNCTION: GetMenuDefaultItem
1274 ! FUNCTION: GetMenuInfo
1275 ! FUNCTION: GetMenuItemCount
1276 ! FUNCTION: GetMenuItemID
1277 ! FUNCTION: GetMenuItemInfoA
1278 ! FUNCTION: GetMenuItemInfoW
1279 ! FUNCTION: GetMenuItemRect
1280 ! FUNCTION: GetMenuState
1281 ! FUNCTION: GetMenuStringA
1282 ! FUNCTION: GetMenuStringW
1283
1284 FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
1285 ALIAS: GetMessage GetMessageW
1286
1287 ! FUNCTION: GetMessageExtraInfo
1288 ! FUNCTION: GetMessagePos
1289 ! FUNCTION: GetMessageTime
1290 ! FUNCTION: GetMonitorInfoA
1291
1292 FUNCTION: BOOL GetMonitorInfoW ( HMONITOR hMonitor, LPMONITORINFO lpmi ) ;
1293 ALIAS: GetMonitorInfo GetMonitorInfoW
1294
1295 ! FUNCTION: GetMouseMovePointsEx
1296 ! FUNCTION: GetNextDlgGroupItem
1297 ! FUNCTION: GetNextDlgTabItem
1298 ! FUNCTION: GetOpenClipboardWindow
1299 FUNCTION: HWND GetParent ( HWND hWnd ) ;
1300 FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats ) ;
1301 ! FUNCTION: GetProcessDefaultLayout
1302 ! FUNCTION: GetProcessWindowStation
1303 ! FUNCTION: GetProgmanWindow
1304 ! FUNCTION: GetPropA
1305 ! FUNCTION: GetPropW
1306 ! FUNCTION: GetQueueStatus
1307 FUNCTION: UINT GetRawInputBuffer ( PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader ) ;
1308 FUNCTION: UINT GetRawInputData ( HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader ) ;
1309 FUNCTION: UINT GetRawInputDeviceInfoA ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize ) ;
1310 FUNCTION: UINT GetRawInputDeviceInfoW ( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize ) ;
1311 ALIAS: GetRawInputDeviceInfo GetRawInputDeviceInfoW
1312 FUNCTION: UINT GetRawInputDeviceList ( PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize ) ;
1313 FUNCTION: UINT GetRegisteredRawInputDevices ( PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize ) ;
1314 ! FUNCTION: GetReasonTitleFromReasonCode
1315 ! FUNCTION: GetScrollBarInfo
1316 ! FUNCTION: GetScrollInfo
1317 ! FUNCTION: GetScrollPos
1318 ! FUNCTION: GetScrollRange
1319 ! FUNCTION: GetShellWindow
1320 ! FUNCTION: GetSubMenu
1321 FUNCTION: COLORREF GetSysColor ( int nIndex ) ;
1322 FUNCTION: HBRUSH GetSysColorBrush ( int nIndex ) ;
1323 FUNCTION: HMENU GetSystemMenu ( HWND hWnd, BOOL bRevert ) ;
1324 ! FUNCTION: GetSystemMetrics
1325 ! FUNCTION: GetTabbedTextExtentA
1326 ! FUNCTION: GetTabbedTextExtentW
1327 ! FUNCTION: GetTaskmanWindow
1328 ! FUNCTION: GetThreadDesktop
1329 ! FUNCTION: GetTitleBarInfo
1330
1331
1332 FUNCTION: HWND GetTopWindow ( HWND hWnd ) ;
1333 ! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase ) ;
1334 FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase ) ;
1335
1336
1337 ! FUNCTION: GetUserObjectInformationA
1338 ! FUNCTION: GetUserObjectInformationW
1339 ! FUNCTION: GetUserObjectSecurity
1340 FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd ) ;
1341 ! FUNCTION: GetWindowContextHelpId
1342 ! FUNCTION: GetWindowDC
1343 ! FUNCTION: GetWindowInfo
1344 ! FUNCTION: GetWindowLongA
1345 ! FUNCTION: GetWindowLongW
1346 FUNCTION: LONG_PTR GetWindowLongW ( HANDLE hWnd, int index ) ;
1347 ALIAS: GetWindowLong GetWindowLongW
1348 ! FUNCTION: GetWindowModuleFileName
1349 ! FUNCTION: GetWindowModuleFileNameA
1350 ! FUNCTION: GetWindowModuleFileNameW
1351 ! FUNCTION: GetWindowPlacement
1352 FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect ) ;
1353 ! FUNCTION: GetWindowRgn
1354 ! FUNCTION: GetWindowRgnBox
1355 FUNCTION: int GetWindowTextA ( HWND hWnd, char* lpString, int nMaxCount ) ;
1356 ! FUNCTION: GetWindowTextLengthA
1357 ! FUNCTION: GetWindowTextLengthW
1358 ! FUNCTION: GetWindowTextW
1359 FUNCTION: DWORD GetWindowThreadProcessId ( HWND hWnd, void* lpdwProcessId ) ;
1360 ! FUNCTION: GetWindowWord
1361 ! FUNCTION: GetWinStationInfo
1362 ! FUNCTION: GrayStringA
1363 ! FUNCTION: GrayStringW
1364 ! FUNCTION: HideCaret
1365 ! FUNCTION: HiliteMenuItem
1366 ! FUNCTION: ImpersonateDdeClientWindow
1367 ! FUNCTION: IMPGetIMEA
1368 ! FUNCTION: IMPGetIMEW
1369 ! FUNCTION: IMPQueryIMEA
1370 ! FUNCTION: IMPQueryIMEW
1371 ! FUNCTION: IMPSetIMEA
1372 ! FUNCTION: IMPSetIMEW
1373 ! FUNCTION: InflateRect
1374 ! FUNCTION: InitializeLpkHooks
1375 ! FUNCTION: InitializeWin32EntryTable
1376 ! FUNCTION: InSendMessage
1377 ! FUNCTION: InSendMessageEx
1378 ! FUNCTION: InsertMenuA
1379 ! FUNCTION: InsertMenuItemA
1380 ! FUNCTION: InsertMenuItemW
1381 ! FUNCTION: InsertMenuW
1382 ! FUNCTION: InternalGetWindowText
1383 ! FUNCTION: IntersectRect
1384 ! FUNCTION: InvalidateRect
1385 ! FUNCTION: InvalidateRgn
1386 ! FUNCTION: InvertRect
1387 ! FUNCTION: IsCharAlphaA
1388 ! FUNCTION: IsCharAlphaNumericA
1389 ! FUNCTION: IsCharAlphaNumericW
1390 ! FUNCTION: IsCharAlphaW
1391 ! FUNCTION: IsCharLowerA
1392 ! FUNCTION: IsCharLowerW
1393 ! FUNCTION: IsCharUpperA
1394 ! FUNCTION: IsCharUpperW
1395 FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd ) ;
1396 FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format ) ;
1397 ! FUNCTION: IsDialogMessage
1398 ! FUNCTION: IsDialogMessageA
1399 ! FUNCTION: IsDialogMessageW
1400 ! FUNCTION: IsDlgButtonChecked
1401 FUNCTION: BOOL IsGUIThread ( BOOL bConvert ) ;
1402 FUNCTION: BOOL IsHungAppWindow ( HWND hWnd ) ;
1403 FUNCTION: BOOL IsIconic ( HWND hWnd ) ;
1404 FUNCTION: BOOL IsMenu ( HMENU hMenu ) ;
1405 ! FUNCTION: BOOL IsRectEmpty
1406 ! FUNCTION: BOOL IsServerSideWindow
1407 FUNCTION: BOOL IsWindow ( HWND hWnd ) ;
1408 ! FUNCTION: BOOL IsWindowEnabled
1409 ! FUNCTION: BOOL IsWindowInDestroy
1410 FUNCTION: BOOL IsWindowUnicode ( HWND hWnd ) ;
1411 FUNCTION: BOOL IsWindowVisible ( HWND hWnd ) ;
1412 ! FUNCTION: BOOL IsWinEventHookInstalled
1413 FUNCTION: BOOL IsZoomed ( HWND hWnd ) ;
1414 ! FUNCTION: keybd_event
1415 ! FUNCTION: KillSystemTimer
1416 ! FUNCTION: KillTimer
1417 ! FUNCTION: LoadAcceleratorsA
1418 FUNCTION: HACCEL LoadAcceleratorsW ( HINSTANCE hInstance, LPCTSTR lpTableName ) ;
1419 ! FUNCTION: LoadBitmapA
1420 ! FUNCTION: LoadBitmapW
1421 ! FUNCTION: LoadCursorFromFileA
1422 ! FUNCTION: LoadCursorFromFileW
1423
1424
1425 ! FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName ) ;
1426 FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, ushort lpCursorName ) ;
1427 ALIAS: LoadCursor LoadCursorW
1428
1429 ! FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
1430 FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
1431 ALIAS: LoadIcon LoadIconW
1432
1433 ! FUNCTION: LoadImageA
1434 ! FUNCTION: LoadImageW
1435 ! FUNCTION: LoadKeyboardLayoutA
1436 ! FUNCTION: LoadKeyboardLayoutEx
1437 ! FUNCTION: LoadKeyboardLayoutW
1438 ! FUNCTION: LoadLocalFonts
1439 ! FUNCTION: LoadMenuA
1440 ! FUNCTION: LoadMenuIndirectA
1441 ! FUNCTION: LoadMenuIndirectW
1442 ! FUNCTION: LoadMenuW
1443 ! FUNCTION: LoadRemoteFonts
1444 ! FUNCTION: LoadStringA
1445 ! FUNCTION: LoadStringW
1446 ! FUNCTION: LockSetForegroundWindow
1447 ! FUNCTION: LockWindowStation
1448 ! FUNCTION: LockWindowUpdate
1449 ! FUNCTION: LockWorkStation
1450 ! FUNCTION: LookupIconIdFromDirectory
1451 ! FUNCTION: LookupIconIdFromDirectoryEx
1452 ! FUNCTION: MapDialogRect
1453
1454 FUNCTION: UINT MapVirtualKeyW ( UINT uCode, UINT uMapType ) ;
1455 ALIAS: MapVirtualKey MapVirtualKeyW
1456
1457 FUNCTION: UINT MapVirtualKeyExW ( UINT uCode, UINT uMapType, HKL dwhkl ) ;
1458 ALIAS: MapVirtualKeyEx MapVirtualKeyExW
1459
1460 ! FUNCTION: MapWindowPoints
1461 ! FUNCTION: MB_GetString
1462 ! FUNCTION: MBToWCSEx
1463 ! FUNCTION: MenuItemFromPoint
1464 ! FUNCTION: MenuWindowProcA
1465 ! FUNCTION: MenuWindowProcW
1466
1467 ! -1 is Simple beep
1468 FUNCTION: BOOL MessageBeep ( UINT uType ) ;
1469
1470 FUNCTION: int MessageBoxA ( 
1471                 HWND hWnd,
1472                 LPCSTR lpText,
1473                 LPCSTR lpCaption,
1474                 UINT uType ) ;
1475
1476 FUNCTION: int MessageBoxW (
1477                 HWND hWnd,
1478                 LPCWSTR lpText,
1479                 LPCWSTR lpCaption,
1480                 UINT uType) ;
1481
1482 FUNCTION: int MessageBoxExA ( HWND hWnd,
1483                 LPCSTR lpText,
1484                 LPCSTR lpCaption,
1485                 UINT uType,
1486                 WORD wLanguageId
1487                 ) ;
1488
1489 FUNCTION: int MessageBoxExW (
1490                 HWND hWnd,
1491                 LPCWSTR lpText,
1492                 LPCWSTR lpCaption,
1493                 UINT uType,
1494                 WORD wLanguageId ) ;
1495
1496 ! FUNCTION: int MessageBoxIndirectA ( MSGBOXPARAMSA* params ) ;
1497 ! FUNCTION: int MessageBoxIndirectW ( MSGBOXPARAMSW* params ) ;
1498
1499
1500 ALIAS: MessageBox MessageBoxW
1501
1502 ALIAS: MessageBoxEx MessageBoxExW
1503
1504 ! : MessageBoxIndirect
1505     ! \ MessageBoxIndirectW \ MessageBoxIndirectA unicode-exec ;
1506
1507 ! FUNCTION: MessageBoxTimeoutA ! dllexported, not in header
1508 ! FUNCTION: MessageBoxTimeoutW ! dllexported, not in header
1509
1510 ! FUNCTION: ModifyMenuA
1511 ! FUNCTION: ModifyMenuW
1512 ! FUNCTION: MonitorFromPoint
1513 ! FUNCTION: MonitorFromRect
1514 FUNCTION: HMONITOR MonitorFromWindow ( HWND hWnd, DWORD dwFlags ) ;
1515 ! FUNCTION: mouse_event
1516
1517
1518 FUNCTION: BOOL MoveWindow (
1519     HWND hWnd,
1520     int X,
1521     int Y,
1522     int nWidth,
1523     int nHeight,
1524     BOOL bRepaint ) ;
1525
1526 ! FUNCTION: MsgWaitForMultipleObjects
1527 ! FUNCTION: MsgWaitForMultipleObjectsEx
1528 ! FUNCTION: NotifyWinEvent
1529 ! FUNCTION: OemKeyScan
1530 ! FUNCTION: OemToCharA
1531 ! FUNCTION: OemToCharBuffA
1532 ! FUNCTION: OemToCharBuffW
1533 ! FUNCTION: OemToCharW
1534 ! FUNCTION: OffsetRect
1535 FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner ) ;
1536 ! FUNCTION: OpenDesktopA
1537 ! FUNCTION: OpenDesktopW
1538 ! FUNCTION: OpenIcon
1539 ! FUNCTION: OpenInputDesktop
1540 ! FUNCTION: OpenWindowStationA
1541 ! FUNCTION: OpenWindowStationW
1542 ! FUNCTION: PackDDElParam
1543 ! FUNCTION: PaintDesktop
1544 ! FUNCTION: PaintMenuBar
1545 FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
1546 FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
1547 ALIAS: PeekMessage PeekMessageW
1548
1549 ! FUNCTION: PostMessageA
1550 ! FUNCTION: PostMessageW
1551 FUNCTION: void PostQuitMessage ( int nExitCode ) ;
1552 ! FUNCTION: PostThreadMessageA
1553 ! FUNCTION: PostThreadMessageW
1554 ! FUNCTION: PrintWindow
1555 ! FUNCTION: PrivateExtractIconExA
1556 ! FUNCTION: PrivateExtractIconExW
1557 ! FUNCTION: PrivateExtractIconsA
1558 ! FUNCTION: PrivateExtractIconsW
1559 ! FUNCTION: PrivateSetDbgTag
1560 ! FUNCTION: PrivateSetRipFlags
1561 ! FUNCTION: PtInRect
1562 ! FUNCTION: QuerySendMessage
1563 ! FUNCTION: QueryUserCounters
1564 ! FUNCTION: RealChildWindowFromPoint
1565 ! FUNCTION: RealGetWindowClass
1566 ! FUNCTION: RealGetWindowClassA
1567 ! FUNCTION: RealGetWindowClassW
1568 ! FUNCTION: ReasonCodeNeedsBugID
1569 ! FUNCTION: ReasonCodeNeedsComment
1570 ! FUNCTION: RecordShutdownReason
1571 ! FUNCTION: RedrawWindow
1572
1573 FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass ) ;
1574 FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass ) ;
1575 FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx ) ;
1576 FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx ) ;
1577
1578 ALIAS: RegisterClass RegisterClassW
1579 ALIAS: RegisterClassEx RegisterClassExW
1580
1581 ! FUNCTION: RegisterClipboardFormatA
1582 ! FUNCTION: RegisterClipboardFormatW
1583 FUNCTION: HANDLE RegisterDeviceNotificationA ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags ) ;
1584 FUNCTION: HANDLE RegisterDeviceNotificationW ( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags ) ;
1585 ALIAS: RegisterDeviceNotification RegisterDeviceNotificationW
1586 ! FUNCTION: RegisterHotKey
1587 ! FUNCTION: RegisterLogonProcess
1588 ! FUNCTION: RegisterMessagePumpHook
1589 FUNCTION: BOOL RegisterRawInputDevices ( PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize ) ;
1590 ! FUNCTION: RegisterServicesProcess
1591 ! FUNCTION: RegisterShellHookWindow
1592 ! FUNCTION: RegisterSystemThread
1593 ! FUNCTION: RegisterTasklist
1594 ! FUNCTION: RegisterUserApiHook
1595 ! FUNCTION: RegisterWindowMessageA
1596 ! FUNCTION: RegisterWindowMessageW
1597 FUNCTION: BOOL ReleaseCapture ( ) ;
1598 FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
1599 ! FUNCTION: RemoveMenu
1600 ! FUNCTION: RemovePropA
1601 ! FUNCTION: RemovePropW
1602 ! FUNCTION: ReplyMessage
1603 ! FUNCTION: ResolveDesktopForWOW
1604 ! FUNCTION: ReuseDDElParam
1605 ! FUNCTION: ScreenToClient
1606 ! FUNCTION: ScrollChildren
1607 ! FUNCTION: ScrollDC
1608 ! FUNCTION: ScrollWindow
1609 ! FUNCTION: ScrollWindowEx
1610 ! FUNCTION: SendDlgItemMessageA
1611 ! FUNCTION: SendDlgItemMessageW
1612 ! FUNCTION: SendIMEMessageExA
1613 ! FUNCTION: SendIMEMessageExW
1614 ! FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize ) ;
1615 FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
1616 ALIAS: SendMessage SendMessageW
1617 ! FUNCTION: SendMessageCallbackA
1618 ! FUNCTION: SendMessageCallbackW
1619 ! FUNCTION: SendMessageTimeoutA
1620 ! FUNCTION: SendMessageTimeoutW
1621 ! FUNCTION: SendNotifyMessageA
1622 ! FUNCTION: SendNotifyMessageW
1623 ! FUNCTION: SetActiveWindow
1624 FUNCTION: HWND SetCapture ( HWND hWnd ) ;
1625 ! FUNCTION: SetCaretBlinkTime
1626 ! FUNCTION: SetCaretPos
1627
1628 FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
1629 ALIAS: SetClassLongPtr SetClassLongW
1630 ALIAS: SetClassLong SetClassLongW
1631
1632 ! FUNCTION: SetClassWord
1633 FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem ) ;
1634 ! FUNCTION: SetClipboardViewer
1635 ! FUNCTION: SetConsoleReserveKeys
1636 ! FUNCTION: SetCursor
1637 ! FUNCTION: SetCursorContents
1638 ! FUNCTION: SetCursorPos
1639 ! FUNCTION: SetDebugErrorLevel
1640 ! FUNCTION: SetDeskWallpaper
1641 ! FUNCTION: SetDlgItemInt
1642 ! FUNCTION: SetDlgItemTextA
1643 ! FUNCTION: SetDlgItemTextW
1644 ! FUNCTION: SetDoubleClickTime
1645 FUNCTION: HWND SetFocus ( HWND hWnd ) ;
1646 FUNCTION: BOOL SetForegroundWindow ( HWND hWnd ) ;
1647 ! FUNCTION: SetInternalWindowPos
1648 ! FUNCTION: SetKeyboardState
1649 ! type is ignored
1650 FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType ) ; 
1651 : SetLastError ( errcode -- ) 0 SetLastErrorEx ; inline
1652 ! FUNCTION: SetLayeredWindowAttributes
1653 ! FUNCTION: SetLogonNotifyWindow
1654 ! FUNCTION: SetMenu
1655 ! FUNCTION: SetMenuContextHelpId
1656 ! FUNCTION: SetMenuDefaultItem
1657 ! FUNCTION: SetMenuInfo
1658 ! FUNCTION: SetMenuItemBitmaps
1659 ! FUNCTION: SetMenuItemInfoA
1660 ! FUNCTION: SetMenuItemInfoW
1661 ! FUNCTION: SetMessageExtraInfo
1662 ! FUNCTION: SetMessageQueue
1663 ! FUNCTION: SetParent
1664 ! FUNCTION: SetProcessDefaultLayout
1665 ! FUNCTION: SetProcessWindowStation
1666 ! FUNCTION: SetProgmanWindow
1667 ! FUNCTION: SetPropA
1668 ! FUNCTION: SetPropW
1669 ! FUNCTION: SetRect
1670 ! FUNCTION: SetRectEmpty
1671 ! FUNCTION: SetScrollInfo
1672 ! FUNCTION: SetScrollPos
1673 ! FUNCTION: SetScrollRange
1674 ! FUNCTION: SetShellWindow
1675 ! FUNCTION: SetShellWindowEx
1676 ! FUNCTION: SetSysColors
1677 ! FUNCTION: SetSysColorsTemp
1678 ! FUNCTION: SetSystemCursor
1679 ! FUNCTION: SetSystemMenu
1680 ! FUNCTION: SetSystemTimer
1681 ! FUNCTION: SetTaskmanWindow
1682 ! FUNCTION: SetThreadDesktop
1683 ! FUNCTION: SetTimer
1684 ! FUNCTION: SetUserObjectInformationA
1685 ! FUNCTION: SetUserObjectInformationW
1686 ! FUNCTION: SetUserObjectSecurity
1687 ! FUNCTION: SetWindowContextHelpId
1688 ! FUNCTION: SetWindowLongA
1689 ! FUNCTION: SetWindowLongW
1690 FUNCTION: LONG_PTR SetWindowLongW ( HANDLE hWnd, int index, LONG_PTR dwNewLong ) ;
1691 ALIAS: SetWindowLong SetWindowLongW
1692 ! FUNCTION: SetWindowPlacement
1693 FUNCTION: BOOL SetWindowPos ( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags ) ;
1694
1695 : HWND_BOTTOM ( -- alien ) 1 <alien> ;
1696 : HWND_NOTOPMOST ( -- alien ) -2 <alien> ;
1697 CONSTANT: HWND_TOP f
1698 : HWND_TOPMOST ( -- alien ) -1 <alien> ;
1699
1700 ! FUNCTION: SetWindowRgn
1701 ! FUNCTION: SetWindowsHookA
1702 ! FUNCTION: SetWindowsHookExA
1703 ! FUNCTION: SetWindowsHookExW
1704 ! FUNCTION: SetWindowsHookW
1705 ! FUNCTION: SetWindowStationUser
1706 ! FUNCTION: SetWindowTextA
1707 ! FUNCTION: SetWindowTextW
1708 ! FUNCTION: SetWindowWord
1709 ! FUNCTION: SetWinEventHook
1710 ! FUNCTION: ShowCaret
1711 FUNCTION: int ShowCursor ( BOOL show ) ;
1712 ! FUNCTION: ShowOwnedPopups
1713 ! FUNCTION: ShowScrollBar
1714 ! FUNCTION: ShowStartGlass
1715
1716 FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow ) ;
1717
1718 ! FUNCTION: ShowWindowAsync
1719 ! FUNCTION: SoftModalMessageBox
1720 ! FUNCTION: SubtractRect
1721 ! FUNCTION: SwapMouseButton
1722 ! FUNCTION: SwitchDesktop
1723 ! FUNCTION: SwitchToThisWindow
1724 ! FUNCTION: SystemParametersInfoA
1725
1726 FUNCTION: BOOL SystemParametersInfoW ( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni ) ;
1727 ALIAS: SystemParametersInfo SystemParametersInfoW
1728
1729 ! FUNCTION: TabbedTextOutA
1730 ! FUNCTION: TabbedTextOutW
1731 ! FUNCTION: TileChildWindows
1732 ! FUNCTION: TileWindows
1733 ! FUNCTION: ToAscii
1734 ! FUNCTION: ToAsciiEx
1735 ! FUNCTION: ToUnicode
1736 ! FUNCTION: ToUnicodeEx
1737 FUNCTION: BOOL TrackMouseEvent ( LPTRACKMOUSEEVENT lpEventTrack ) ;
1738 ! FUNCTION: TrackPopupMenu
1739 ! FUNCTION: TrackPopupMenuEx
1740 ! FUNCTION: TranslateAccelerator
1741 ! FUNCTION: TranslateAcceleratorA
1742 FUNCTION: int TranslateAcceleratorW ( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg ) ;
1743 ALIAS: TranslateAccelerator TranslateAcceleratorW
1744
1745 ! FUNCTION: TranslateMDISysAccel
1746 FUNCTION: BOOL TranslateMessage ( MSG* lpMsg ) ;
1747
1748 ! FUNCTION: UnhookWindowsHook
1749 ! FUNCTION: UnhookWindowsHookEx
1750 ! FUNCTION: UnhookWinEvent
1751 ! FUNCTION: UnionRect
1752 ! FUNCTION: UnloadKeyboardLayout
1753 ! FUNCTION: UnlockWindowStation
1754 ! FUNCTION: UnpackDDElParam
1755 FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance ) ;
1756 ALIAS: UnregisterClass UnregisterClassW
1757 FUNCTION: BOOL UnregisterDeviceNotification ( HANDLE hDevNotify ) ;
1758 ! FUNCTION: UnregisterHotKey
1759 ! FUNCTION: UnregisterMessagePumpHook
1760 ! FUNCTION: UnregisterUserApiHook
1761 ! FUNCTION: UpdateLayeredWindow
1762 ! FUNCTION: UpdatePerUserSystemParameters
1763
1764 FUNCTION: BOOL UpdateWindow ( HWND hWnd ) ;
1765
1766 ! FUNCTION: User32InitializeImmEntryTable
1767 ! FUNCTION: UserClientDllInitialize
1768 ! FUNCTION: UserHandleGrantAccess
1769 ! FUNCTION: UserLpkPSMTextOut
1770 ! FUNCTION: UserLpkTabbedTextOut
1771 ! FUNCTION: UserRealizePalette
1772 ! FUNCTION: UserRegisterWowHandlers
1773 ! FUNCTION: ValidateRect
1774 ! FUNCTION: ValidateRgn
1775 ! FUNCTION: VkKeyScanA
1776 ! FUNCTION: VkKeyScanExA
1777 ! FUNCTION: VkKeyScanExW
1778 ! FUNCTION: VkKeyScanW
1779 ! FUNCTION: VRipOutput
1780 ! FUNCTION: VTagOutput
1781 ! FUNCTION: WaitForInputIdle
1782 ! FUNCTION: WaitMessage
1783 ! FUNCTION: WCSToMBEx
1784 ! FUNCTION: Win32PoolAllocationStats
1785 ! FUNCTION: WindowFromDC
1786 ! FUNCTION: WindowFromPoint
1787 ! FUNCTION: WinHelpA
1788 ! FUNCTION: WinHelpW
1789 ! FUNCTION: WINNLSEnableIME
1790 ! FUNCTION: WINNLSGetEnableStatus
1791 ! FUNCTION: WINNLSGetIMEHotkey
1792 ! FUNCTION: wsprintfA
1793 ! FUNCTION: wsprintfW
1794 ! FUNCTION: wvsprintfA
1795 ! FUNCTION: wvsprintfW
1796
1797 : msgbox ( str -- )
1798     f swap "DebugMsg" MB_OK MessageBox drop ;