OSDN Git Service

024438a3c7cb14142d0d36fa9b98b539065132c9
[mingw/mingw-org-wsl.git] / w32api / include / winuser.h
1 /*
2  * winuser.h
3  *
4  * General user interface manifest constants, type definitions, and
5  * function declarations.
6  *
7  * $Id$
8  *
9  * Written by Anders Norlander <anorland@hem2.passagen.se>
10  * Copyright (C) 1998-2012, 2016, MinGW.org Project
11  *
12  *
13  * Permission is hereby granted, free of charge, to any person obtaining a
14  * copy of this software and associated documentation files (the "Software"),
15  * to deal in the Software without restriction, including without limitation
16  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
17  * and/or sell copies of the Software, and to permit persons to whom the
18  * Software is furnished to do so, subject to the following conditions:
19  *
20  * The above copyright notice and this permission notice (including the next
21  * paragraph) shall be included in all copies or substantial portions of the
22  * Software.
23  *
24  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30  * DEALINGS IN THE SOFTWARE.
31  *
32  */
33 #ifndef _WINUSER_H
34 #pragma GCC system_header
35 #define _WINUSER_H
36
37 /* Define a temporary inclusion guard macro, to permit selective inclusion
38  * of formerly duplicated content from its primary source headers.
39  */
40 #define __WINUSER_H_SOURCED__
41
42 _BEGIN_C_DECLS
43
44 #ifndef WINUSERAPI
45 #ifdef __W32API_USE_DLLIMPORT__
46 #define WINUSERAPI  DECLSPEC_IMPORT
47 #else
48 #define WINUSERAPI
49 #endif
50 #endif
51
52 #define MNGO_NOINTERFACE                                 0x00
53 #define MNGO_NOERROR                                     0x01
54 #define MNGOF_TOPGAP                                     0x01
55 #define MNGOF_BOTTOMGAP                                  0x02
56
57 #define WC_DIALOG                                 MAKEINTATOM(0x8002)
58 #define FALT                                               16
59 #define FCONTROL                                            8
60 #define FNOINVERT                                           2
61 #define FSHIFT                                              4
62 #define FVIRTKEY                                            1
63 #define ATF_TIMEOUTON                                       1
64 #define ATF_ONOFFFEEDBACK                                   2
65 #define ATF_AVAILABLE                                       4   /* may be obsolete */
66 #define WH_MIN                                            (-1)
67 #define WH_MSGFILTER                                      (-1)
68 #define WH_JOURNALRECORD                                    0
69 #define WH_JOURNALPLAYBACK                                  1
70 #define WH_KEYBOARD                                         2
71 #define WH_GETMESSAGE                                       3
72 #define WH_CALLWNDPROC                                      4
73 #define WH_CBT                                              5
74 #define WH_SYSMSGFILTER                                     6
75 #define WH_MOUSE                                            7
76 #define WH_HARDWARE                                         8
77 #define WH_DEBUG                                            9
78 #define WH_SHELL                                           10
79 #define WH_FOREGROUNDIDLE                                  11
80 #define WH_CALLWNDPROCRET                                  12
81 #define WH_KEYBOARD_LL                                     13
82 #define WH_MOUSE_LL                                        14
83 #define WH_MAX                                             14
84 #define WH_MINHOOK                                       WH_MIN
85 #define WH_MAXHOOK                                       WH_MAX
86 #define HC_ACTION                                           0
87 #define HC_GETNEXT                                          1
88 #define HC_SKIP                                             2
89 #define HC_NOREMOVE                                         3
90 #define HC_NOREM                                            3
91 #define HC_SYSMODALON                                       4
92 #define HC_SYSMODALOFF                                      5
93 #define HCBT_MOVESIZE                                       0
94 #define HCBT_MINMAX                                         1
95 #define HCBT_QS                                             2
96 #define HCBT_CREATEWND                                      3
97 #define HCBT_DESTROYWND                                     4
98 #define HCBT_ACTIVATE                                       5
99 #define HCBT_CLICKSKIPPED                                   6
100 #define HCBT_KEYSKIPPED                                     7
101 #define HCBT_SYSCOMMAND                                     8
102 #define HCBT_SETFOCUS                                       9
103 #define CF_TEXT                                             1
104 #define CF_BITMAP                                           2
105 #define CF_METAFILEPICT                                     3
106 #define CF_SYLK                                             4
107 #define CF_DIF                                              5
108 #define CF_TIFF                                             6
109 #define CF_OEMTEXT                                          7
110 #define CF_DIB                                              8
111 #define CF_PALETTE                                          9
112 #define CF_PENDATA                                         10
113 #define CF_RIFF                                            11
114 #define CF_WAVE                                            12
115 #define CF_UNICODETEXT                                     13
116 #define CF_ENHMETAFILE                                     14
117 #define CF_HDROP                                           15
118 #define CF_LOCALE                                          16
119
120 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
121 #define CF_DIBV5                                           17
122 #define CF_MAX                                             18
123 #else
124 #define CF_MAX                                             17
125 #endif
126
127 #define CF_OWNERDISPLAY                                   128
128 #define CF_DSPTEXT                                        129
129 #define CF_DSPBITMAP                                      130
130 #define CF_DSPMETAFILEPICT                                131
131 #define CF_DSPENHMETAFILE                                 142
132 #define CF_PRIVATEFIRST                                   512
133 #define CF_PRIVATELAST                                    767
134 #define CF_GDIOBJFIRST                                    768
135 #define CF_GDIOBJLAST                                    1023
136 #define HKL_NEXT                                            1
137 #define HKL_PREV                                            0
138 #define KLF_ACTIVATE                                        1
139 #define KLF_SUBSTITUTE_OK                                   2
140 #define KLF_UNLOADPREVIOUS                                  4
141 #define KLF_REORDER                                         8
142 #define KLF_REPLACELANG                                    16
143 #define KLF_NOTELLSHELL                                   128
144 #define KLF_SETFORPROCESS                                 256
145 #define KL_NAMELENGTH                                       9
146 #define MF_ENABLED                                          0
147 #define MF_GRAYED                                           1
148 #define MF_DISABLED                                         2
149 #define MF_BITMAP                                           4
150 #define MF_CHECKED                                          8
151 #define MF_MENUBARBREAK                                    32
152 #define MF_MENUBREAK                                       64
153 #define MF_OWNERDRAW                                      256
154 #define MF_POPUP                                           16
155 #define MF_SEPARATOR                                    0x800
156 #define MF_STRING                                           0
157 #define MF_UNCHECKED                                        0
158 #define MF_DEFAULT                                       4096
159 #define MF_SYSMENU                                     0x2000
160 #define MF_HELP                                        0x4000
161 #define MF_END                                            128
162 #define MF_RIGHTJUSTIFY                                0x4000
163 #define MF_MOUSESELECT                                 0x8000
164 #define MF_INSERT                                           0
165 #define MF_CHANGE                                         128
166 #define MF_APPEND                                         256
167 #define MF_DELETE                                         512
168 #define MF_REMOVE                                        4096
169 #define MF_USECHECKBITMAPS                                512
170 #define MF_UNHILITE                                         0
171 #define MF_HILITE                                         128
172
173 /* To reduce maintainence, and to avoid any possibility that we might
174  * introduce inconsistent definitions, we selectively...
175  */
176 #include <dbt.h>
177 /*
178  * ...to obtain definitions for:
179  *
180  *    BSM_ALLCOMPONENTS, BSM_APPLICATIONS, BSM_ALLDESKTOPS,
181  *    BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK,
182  *    BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_NOHANG,
183  *    BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY,
184  *
185  * with the addition of this pair, which require Win2K or later:
186  *
187  *    BSF_ALLOWSFW, BSF_SENDNOTIFYMESSAGE,
188  *
189  * and these, which require WinXP or later:
190  *
191  *    BSF_LUID, and BSF_RETURNHDESK
192  *
193  * (end of selective <dpt.h> inclusion).
194  *
195  */
196 #define BROADCAST_QUERY_DENY                       1112363332
197 #define ENUM_CURRENT_SETTINGS                     ((DWORD)(-1))
198 #define ENUM_REGISTRY_SETTINGS                    ((DWORD)(-2))
199 #define CDS_UPDATEREGISTRY                                  1
200 #define CDS_TEST                                            2
201 #define CDS_FULLSCREEN                                      4
202 #define CDS_GLOBAL                                          8
203 #define CDS_SET_PRIMARY                                    16
204 #define CDS_RESET                                  0x40000000
205 #define CDS_SETRECT                                0x20000000
206 #define CDS_NORESET                                0x10000000
207 #define DISP_CHANGE_SUCCESSFUL                              0
208 #define DISP_CHANGE_RESTART                                 1
209 #define DISP_CHANGE_FAILED                                (-1)
210 #define DISP_CHANGE_BADMODE                               (-2)
211 #define DISP_CHANGE_NOTUPDATED                            (-3)
212 #define DISP_CHANGE_BADFLAGS                              (-4)
213 #define DISP_CHANGE_BADPARAM                              (-5)
214 #define DISP_CHANGE_BADDUALVIEW                           (-6)
215 #define BST_CHECKED                                         1
216 #define BST_INDETERMINATE                                   2
217 #define BST_UNCHECKED                                       0
218 #define BST_FOCUS                                           8
219 #define BST_PUSHED                                          4
220 #define MF_BYCOMMAND                                        0
221 #define MF_BYPOSITION                                    1024
222 #define MF_UNCHECKED                                        0
223 #define MF_HILITE                                         128
224 #define MF_UNHILITE                                         0
225 #define CWP_ALL                                             0
226 #define CWP_SKIPINVISIBLE                                   1
227 #define CWP_SKIPDISABLED                                    2
228 #define CWP_SKIPTRANSPARENT                                 4
229 #define IMAGE_BITMAP                                        0
230 #define IMAGE_ICON                                          1
231 #define IMAGE_CURSOR                                        2
232 #define IMAGE_ENHMETAFILE                                   3
233 #define DF_ALLOWOTHERACCOUNTHOOK                            1
234 #define DESKTOP_CREATEMENU                                  4
235 #define DESKTOP_CREATEWINDOW                                2
236 #define DESKTOP_ENUMERATE                                  64
237 #define DESKTOP_HOOKCONTROL                                 8
238 #define DESKTOP_JOURNALPLAYBACK                            32
239 #define DESKTOP_JOURNALRECORD                              16
240 #define DESKTOP_READOBJECTS                                 1
241 #define DESKTOP_SWITCHDESKTOP                             256
242 #define DESKTOP_WRITEOBJECTS                              128
243 #define CW_USEDEFAULT                              0x80000000
244 #define WS_BORDER                                    0x800000
245 #define WS_CAPTION                                   0xC00000
246 #define WS_CHILD                                   0x40000000
247 #define WS_CHILDWINDOW                             0x40000000
248 #define WS_CLIPCHILDREN                             0x2000000
249 #define WS_CLIPSIBLINGS                             0x4000000
250 #define WS_DISABLED                                 0x8000000
251 #define WS_DLGFRAME                                  0x400000
252 #define WS_GROUP                                      0x20000
253 #define WS_HSCROLL                                   0x100000
254 #define WS_ICONIC                                  0x20000000
255 #define WS_MAXIMIZE                                 0x1000000
256 #define WS_MAXIMIZEBOX                                0x10000
257 #define WS_MINIMIZE                                0x20000000
258 #define WS_MINIMIZEBOX                                0x20000
259 #define WS_OVERLAPPED                                       0
260 #define WS_OVERLAPPEDWINDOW                          0xCF0000
261 #define WS_POPUP                                   0x80000000
262 #define WS_POPUPWINDOW                             0x80880000
263 #define WS_SIZEBOX                                    0x40000
264 #define WS_SYSMENU                                    0x80000
265 #define WS_TABSTOP                                    0x10000
266 #define WS_THICKFRAME                                 0x40000
267 #define WS_TILED                                            0
268 #define WS_TILEDWINDOW                               0xCF0000
269 #define WS_VISIBLE                                 0x10000000
270 #define WS_VSCROLL                                   0x200000
271 #define MDIS_ALLCHILDSTYLES                                 1
272 #define BS_3STATE                                           5
273 #define BS_AUTO3STATE                                       6
274 #define BS_AUTOCHECKBOX                                     3
275 #define BS_AUTORADIOBUTTON                                  9
276 #define BS_BITMAP                                         128
277 #define BS_BOTTOM                                       0x800
278 #define BS_CENTER                                       0x300
279 #define BS_CHECKBOX                                         2
280 #define BS_DEFPUSHBUTTON                                    1
281 #define BS_GROUPBOX                                         7
282 #define BS_ICON                                            64
283 #define BS_LEFT                                           256
284 #define BS_LEFTTEXT                                        32
285 #define BS_MULTILINE                                   0x2000
286 #define BS_NOTIFY                                      0x4000
287 #define BS_OWNERDRAW                                      0xB
288 #define BS_PUSHBUTTON                                       0
289 #define BS_PUSHLIKE                                      4096
290 #define BS_RADIOBUTTON                                      4
291 #define BS_RIGHT                                          512
292 #define BS_RIGHTBUTTON                                     32
293 #define BS_TEXT                                             0
294 #define BS_TOP                                          0x400
295 #define BS_USERBUTTON                                       8
296 #define BS_VCENTER                                      0xC00
297 #define BS_FLAT                                        0x8000
298 #define CBS_AUTOHSCROLL                                    64
299 #define CBS_DISABLENOSCROLL                             0x800
300 #define CBS_DROPDOWN                                        2
301 #define CBS_DROPDOWNLIST                                    3
302 #define CBS_HASSTRINGS                                    512
303 #define CBS_LOWERCASE                                  0x4000
304 #define CBS_NOINTEGRALHEIGHT                            0x400
305 #define CBS_OEMCONVERT                                    128
306 #define CBS_OWNERDRAWFIXED                                 16
307 #define CBS_OWNERDRAWVARIABLE                              32
308 #define CBS_SIMPLE                                          1
309 #define CBS_SORT                                          256
310 #define CBS_UPPERCASE                                  0x2000
311 #define ES_AUTOHSCROLL                                    128
312 #define ES_AUTOVSCROLL                                     64
313 #define ES_CENTER                                           1
314 #define ES_LEFT                                             0
315 #define ES_LOWERCASE                                       16
316 #define ES_MULTILINE                                        4
317 #define ES_NOHIDESEL                                      256
318 #define ES_NUMBER                                      0x2000
319 #define ES_OEMCONVERT                                   0x400
320 #define ES_PASSWORD                                        32
321 #define ES_READONLY                                     0x800
322 #define ES_RIGHT                                            2
323 #define ES_UPPERCASE                                        8
324 #define ES_WANTRETURN                                    4096
325 #define LBS_DISABLENOSCROLL                              4096
326 #define LBS_EXTENDEDSEL                                 0x800
327 #define LBS_HASSTRINGS                                     64
328 #define LBS_MULTICOLUMN                                   512
329 #define LBS_MULTIPLESEL                                     8
330 #define LBS_NODATA                                     0x2000
331 #define LBS_NOINTEGRALHEIGHT                              256
332 #define LBS_NOREDRAW                                        4
333 #define LBS_NOSEL                                      0x4000
334 #define LBS_NOTIFY                                          1
335 #define LBS_OWNERDRAWFIXED                                 16
336 #define LBS_OWNERDRAWVARIABLE                              32
337 #define LBS_SORT                                            2
338 #define LBS_STANDARD                                 0xA00003
339 #define LBS_USETABSTOPS                                   128
340 #define LBS_WANTKEYBOARDINPUT                           0x400
341 #define SBS_BOTTOMALIGN                                     4
342 #define SBS_HORZ                                            0
343 #define SBS_LEFTALIGN                                       2
344 #define SBS_RIGHTALIGN                                      4
345 #define SBS_SIZEBOX                                         8
346 #define SBS_SIZEBOXBOTTOMRIGHTALIGN                         4
347 #define SBS_SIZEBOXTOPLEFTALIGN                             2
348 #define SBS_SIZEGRIP                                       16
349 #define SBS_TOPALIGN                                        2
350 #define SBS_VERT                                            1
351 #define SS_BITMAP                                          14
352 #define SS_BLACKFRAME                                       7
353 #define SS_BLACKRECT                                        4
354 #define SS_CENTER                                           1
355 #define SS_CENTERIMAGE                                    512
356 #define SS_ENHMETAFILE                                     15
357 #define SS_ETCHEDFRAME                                     18
358 #define SS_ETCHEDHORZ                                      16
359 #define SS_ETCHEDVERT                                      17
360 #define SS_GRAYFRAME                                        8
361 #define SS_GRAYRECT                                         5
362 #define SS_ICON                                             3
363 #define SS_LEFT                                             0
364 #define SS_LEFTNOWORDWRAP                                 0xC
365 #define SS_NOPREFIX                                       128
366 #define SS_NOTIFY                                         256
367 #define SS_OWNERDRAW                                      0xD
368 #define SS_REALSIZEIMAGE                                0x800
369 #define SS_RIGHT                                            2
370 #define SS_RIGHTJUST                                    0x400
371 #define SS_SIMPLE                                          11
372 #define SS_SUNKEN                                        4096
373 #define SS_WHITEFRAME                                       9
374 #define SS_WHITERECT                                        6
375 #define SS_USERITEM                                        10
376 #define SS_TYPEMASK                                0x0000001FL
377 #define SS_ENDELLIPSIS                             0x00004000L
378 #define SS_PATHELLIPSIS                            0x00008000L
379 #define SS_WORDELLIPSIS                            0x0000C000L
380 #define SS_ELLIPSISMASK                            0x0000C000L
381 #define DS_3DLOOK                                           4
382 #define DS_ABSALIGN                                         1
383 #define DS_CENTER                                       0x800
384 #define DS_CENTERMOUSE                                   4096
385 #define DS_CONTEXTHELP                                 0x2000
386 #define DS_CONTROL                                      0x400
387 #define DS_FIXEDSYS                                         8
388 #define DS_LOCALEDIT                                       32
389 #define DS_MODALFRAME                                     128
390 #define DS_NOFAILCREATE                                    16
391 #define DS_NOIDLEMSG                                      256
392 #define DS_SETFONT                                         64
393 #define DS_SETFOREGROUND                                  512
394 #define DS_SYSMODAL                                         2
395 #define DS_SHELLFONT                            (DS_SETFONT | DS_FIXEDSYS)
396 #define WS_EX_ACCEPTFILES                                  16
397 #define WS_EX_APPWINDOW                               0x40000
398 #define WS_EX_CLIENTEDGE                                  512
399 #define WS_EX_COMPOSITED                            0x2000000   /* XP */
400 #define WS_EX_CONTEXTHELP                               0x400
401 #define WS_EX_CONTROLPARENT                           0x10000
402 #define WS_EX_DLGMODALFRAME                                 1
403 #define WS_EX_LAYERED                                 0x80000   /* W2K */
404 #define WS_EX_LAYOUTRTL                              0x400000   /* W98, W2K */
405 #define WS_EX_LEFT                                          0
406 #define WS_EX_LEFTSCROLLBAR                            0x4000
407 #define WS_EX_LTRREADING                                    0
408 #define WS_EX_MDICHILD                                     64
409 #define WS_EX_NOACTIVATE                            0x8000000   /* W2K */
410 #define WS_EX_NOINHERITLAYOUT                        0x100000   /* W2K */
411 #define WS_EX_NOPARENTNOTIFY                                4
412 #define WS_EX_OVERLAPPEDWINDOW                          0x300
413 #define WS_EX_PALETTEWINDOW                             0x188
414 #define WS_EX_RIGHT                                    0x1000
415 #define WS_EX_RIGHTSCROLLBAR                                0
416 #define WS_EX_RTLREADING                               0x2000
417 #define WS_EX_STATICEDGE                              0x20000
418 #define WS_EX_TOOLWINDOW                                  128
419 #define WS_EX_TOPMOST                                       8
420 #define WS_EX_TRANSPARENT                                  32
421 #define WS_EX_WINDOWEDGE                                  256
422 #define WINSTA_ALL_ACCESS                                 895
423 #define WINSTA_ACCESSCLIPBOARD                              4
424 #define WINSTA_ACCESSGLOBALATOMS                           32
425 #define WINSTA_CREATEDESKTOP                                8
426 #define WINSTA_ENUMDESKTOPS                                 1
427 #define WINSTA_ENUMERATE                                  256
428 #define WINSTA_EXITWINDOWS                                 64
429 #define WINSTA_READATTRIBUTES                               2
430 #define WINSTA_READSCREEN                                 512
431 #define WINSTA_WRITEATTRIBUTES                             16
432 #define DDL_READWRITE                                       0
433 #define DDL_READONLY                                        1
434 #define DDL_HIDDEN                                          2
435 #define DDL_SYSTEM                                          4
436 #define DDL_DIRECTORY                                      16
437 #define DDL_ARCHIVE                                        32
438 #define DDL_POSTMSGS                                     8192
439 #define DDL_DRIVES                                      16384
440 #define DDL_EXCLUSIVE                                   32768
441 #define DC_ACTIVE                                  0x00000001
442 #define DC_SMALLCAP                                0x00000002
443 #define DC_ICON                                    0x00000004
444 #define DC_TEXT                                    0x00000008
445 #define DC_INBUTTON                                0x00000010
446
447 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
448 #define DC_GRADIENT                                0x00000020
449 #endif
450
451 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
452 #define DC_BUTTONS                                 0x00001000
453 #endif
454
455 /* Where are these documented? */
456 #define DC_CAPTION                       (DC_ICON | DC_TEXT | DC_BUTTONS)
457 #define DC_NC                                   (DC_CAPTION | DC_FRAME)
458
459 #define BDR_RAISEDOUTER                                     1
460 #define BDR_SUNKENOUTER                                     2
461 #define BDR_RAISEDINNER                                     4
462 #define BDR_SUNKENINNER                                     8
463 #define BDR_OUTER                                           3
464 #define BDR_INNER                                         0xC
465 #define BDR_RAISED                                          5
466 #define BDR_SUNKEN                                         10
467 #define EDGE_RAISED                        (BDR_RAISEDOUTER | BDR_RAISEDINNER)
468 #define EDGE_SUNKEN                        (BDR_SUNKENOUTER | BDR_SUNKENINNER)
469 #define EDGE_ETCHED                        (BDR_SUNKENOUTER | BDR_RAISEDINNER)
470 #define EDGE_BUMP                          (BDR_RAISEDOUTER | BDR_SUNKENINNER)
471 #define BF_LEFT                                             1
472 #define BF_TOP                                              2
473 #define BF_RIGHT                                            4
474 #define BF_BOTTOM                                           8
475 #define BF_TOPLEFT                                  (BF_TOP | BF_LEFT)
476 #define BF_TOPRIGHT                                 (BF_TOP | BF_RIGHT)
477 #define BF_BOTTOMLEFT                            (BF_BOTTOM | BF_LEFT)
478 #define BF_BOTTOMRIGHT                           (BF_BOTTOM | BF_RIGHT)
479 #define BF_RECT                           (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
480 #define BF_DIAGONAL                                        16
481 #define BF_DIAGONAL_ENDTOPRIGHT            (BF_DIAGONAL | BF_TOP | BF_RIGHT)
482 #define BF_DIAGONAL_ENDTOPLEFT                 (BF_DIAGONAL | BF_TOP | BF_LEFT)
483 #define BF_DIAGONAL_ENDBOTTOMLEFT              (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
484 #define BF_DIAGONAL_ENDBOTTOMRIGHT         (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
485 #define BF_MIDDLE                                       0x800
486 #define BF_SOFT                                        0x1000
487 #define BF_ADJUST                                      0x2000
488 #define BF_FLAT                                        0x4000
489 #define BF_MONO                                        0x8000
490 #define DFC_CAPTION                                         1
491 #define DFC_MENU                                            2
492 #define DFC_SCROLL                                          3
493 #define DFC_BUTTON                                          4
494
495 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
496 #define DFC_POPUPMENU                                       5
497 #endif  /* >= _WIN32_WINNT_WIN2K */
498
499 #define DFCS_CAPTIONCLOSE                                   0
500 #define DFCS_CAPTIONMIN                                     1
501 #define DFCS_CAPTIONMAX                                     2
502 #define DFCS_CAPTIONRESTORE                                 3
503 #define DFCS_CAPTIONHELP                                    4
504 #define DFCS_MENUARROW                                      0
505 #define DFCS_MENUCHECK                                      1
506 #define DFCS_MENUBULLET                                     2
507 #define DFCS_MENUARROWRIGHT                                 4
508 #define DFCS_SCROLLUP                                       0
509 #define DFCS_SCROLLDOWN                                     1
510 #define DFCS_SCROLLLEFT                                     2
511 #define DFCS_SCROLLRIGHT                                    3
512 #define DFCS_SCROLLCOMBOBOX                                 5
513 #define DFCS_SCROLLSIZEGRIP                                 8
514 #define DFCS_SCROLLSIZEGRIPRIGHT                           16
515 #define DFCS_BUTTONCHECK                                    0
516 #define DFCS_BUTTONRADIOIMAGE                               1
517 #define DFCS_BUTTONRADIOMASK                                2
518 #define DFCS_BUTTONRADIO                                    4
519 #define DFCS_BUTTON3STATE                                   8
520 #define DFCS_BUTTONPUSH                                    16
521 #define DFCS_INACTIVE                                     256
522 #define DFCS_PUSHED                                       512
523 #define DFCS_CHECKED                                     1024
524
525 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
526 #define DFCS_TRANSPARENT                                0x800
527 #define DFCS_HOT                                       0x1000
528 #endif
529
530 #define DFCS_ADJUSTRECT                                0x2000
531 #define DFCS_FLAT                                      0x4000
532 #define DFCS_MONO                                      0x8000
533 #define DST_COMPLEX                                         0
534 #define DST_TEXT                                            1
535 #define DST_PREFIXTEXT                                      2
536 #define DST_ICON                                            3
537 #define DST_BITMAP                                          4
538 #define DSS_NORMAL                                          0
539 #define DSS_UNION                                          16
540 #define DSS_DISABLED                                       32
541 #define DSS_MONO                                          128
542 #define DSS_RIGHT                                      0x8000
543 #define DT_BOTTOM                                           8
544 #define DT_CALCRECT                                      1024
545 #define DT_CENTER                                           1
546 #define DT_EDITCONTROL                                   8192
547 #define DT_END_ELLIPSIS                                 32768
548 #define DT_PATH_ELLIPSIS                                16384
549 #define DT_WORD_ELLIPSIS                              0x40000
550 #define DT_EXPANDTABS                                      64
551 #define DT_EXTERNALLEADING                                512
552 #define DT_LEFT                                             0
553 #define DT_MODIFYSTRING                                 65536
554 #define DT_NOCLIP                                         256
555 #define DT_NOPREFIX                                      2048
556 #define DT_RIGHT                                            2
557 #define DT_RTLREADING                                  131072
558 #define DT_SINGLELINE                                      32
559 #define DT_TABSTOP                                        128
560 #define DT_TOP                                              0
561 #define DT_VCENTER                                          4
562 #define DT_WORDBREAK                                       16
563 #define DT_INTERNAL                                      4096
564 #define WB_ISDELIMITER                                      2
565 #define WB_LEFT                                             0
566 #define WB_RIGHT                                            1
567 #define SB_HORZ                                             0
568 #define SB_VERT                                             1
569 #define SB_CTL                                              2
570 #define SB_BOTH                                             3
571 #define ESB_DISABLE_BOTH                                    3
572 #define ESB_DISABLE_DOWN                                    2
573 #define ESB_DISABLE_LEFT                                    1
574 #define ESB_DISABLE_LTUP                                    1
575 #define ESB_DISABLE_RIGHT                                   2
576 #define ESB_DISABLE_RTDN                                    2
577 #define ESB_DISABLE_UP                                      1
578 #define ESB_ENABLE_BOTH                                     0
579 #define SB_LINEUP                                           0
580 #define SB_LINEDOWN                                         1
581 #define SB_LINELEFT                                         0
582 #define SB_LINERIGHT                                        1
583 #define SB_PAGEUP                                           2
584 #define SB_PAGEDOWN                                         3
585 #define SB_PAGELEFT                                         2
586 #define SB_PAGERIGHT                                        3
587 #define SB_THUMBPOSITION                                    4
588 #define SB_THUMBTRACK                                       5
589 #define SB_ENDSCROLL                                        8
590 #define SB_LEFT                                             6
591 #define SB_RIGHT                                            7
592 #define SB_BOTTOM                                           7
593 #define SB_TOP                                              6
594 #define IS_INTRESOURCE(i)                     (((ULONG_PTR)(i) >> 16) == 0)
595 #define MAKEINTRESOURCEA(i)                    (LPSTR)((DWORD)((WORD)(i)))
596 #define MAKEINTRESOURCEW(i)                   (LPWSTR)((DWORD)((WORD)(i)))
597
598 #ifndef XFree86Server
599 # define RT_CURSOR                                 MAKEINTRESOURCE(1)
600 # define RT_FONT                                   MAKEINTRESOURCE(8)
601 #endif  /* ! XFree86Server */
602
603 #define RT_BITMAP                                  MAKEINTRESOURCE(2)
604 #define RT_ICON                                    MAKEINTRESOURCE(3)
605 #define RT_MENU                                    MAKEINTRESOURCE(4)
606 #define RT_DIALOG                                  MAKEINTRESOURCE(5)
607 #define RT_STRING                                  MAKEINTRESOURCE(6)
608 #define RT_FONTDIR                                 MAKEINTRESOURCE(7)
609 #define RT_ACCELERATOR                             MAKEINTRESOURCE(9)
610 #define RT_RCDATA                                  MAKEINTRESOURCE(10)
611 #define RT_MESSAGETABLE                            MAKEINTRESOURCE(11)
612 #define DIFFERENCE                                         11
613 #define RT_GROUP_CURSOR                  MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE)
614 #define RT_GROUP_ICON                    MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE)
615 #define RT_VERSION                                 MAKEINTRESOURCE(16)
616 #define RT_DLGINCLUDE                              MAKEINTRESOURCE(17)
617 #define RT_PLUGPLAY                                MAKEINTRESOURCE(19)
618 #define RT_VXD                                     MAKEINTRESOURCE(20)
619 #define RT_ANICURSOR                               MAKEINTRESOURCE(21)
620 #define RT_ANIICON                                 MAKEINTRESOURCE(22)
621 #define RT_HTML                                    MAKEINTRESOURCE(23)
622
623 #ifndef RC_INVOKED
624 #define RT_MANIFEST                                             MAKEINTRESOURCE(24)
625 #define CREATEPROCESS_MANIFEST_RESOURCE_ID                      MAKEINTRESOURCE(1)
626 #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID                     MAKEINTRESOURCE(2)
627 #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID      MAKEINTRESOURCE(3)
628
629 #else
630 #define RT_MANIFEST                                                     24
631 #define CREATEPROCESS_MANIFEST_RESOURCE_ID                               1
632 #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID                              2
633 #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID               3
634 #endif
635
636 #define EWX_FORCE                                           4
637 #define EWX_LOGOFF                                          0
638 #define EWX_POWEROFF                                        8
639 #define EWX_REBOOT                                          2
640 #define EWX_SHUTDOWN                                        1
641
642 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
643 #define EWX_FORCEIFHUNG                                    16
644 #endif
645
646 #define CS_BYTEALIGNCLIENT                               4096
647 #define CS_BYTEALIGNWINDOW                               8192
648 #define CS_KEYCVTWINDOW                                     4
649 #define CS_NOKEYCVT                                       256
650 #define CS_CLASSDC                                         64
651 #define CS_DBLCLKS                                          8
652 #define CS_GLOBALCLASS                                  16384
653 #define CS_HREDRAW                                          2
654 #define CS_NOCLOSE                                        512
655 #define CS_OWNDC                                           32
656 #define CS_PARENTDC                                       128
657 #define CS_SAVEBITS                                      2048
658 #define CS_VREDRAW                                          1
659 #define CS_IME                                        0x10000
660
661 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
662 #define CS_DROPSHADOW                                 0x20000
663 #endif
664
665 #define GCW_ATOM                                         (-32)
666 #define GCL_CBCLSEXTRA                                   (-20)
667 #define GCL_CBWNDEXTRA                                   (-18)
668 #define GCL_HBRBACKGROUND                                (-10)
669 #define GCL_HCURSOR                                      (-12)
670 #define GCL_HICON                                        (-14)
671 #define GCL_HICONSM                                      (-34)
672 #define GCL_HMODULE                                      (-16)
673 #define GCL_MENUNAME                                      (-8)
674 #define GCL_STYLE                                        (-26)
675 #define GCL_WNDPROC                                      (-24)
676 #define GCLP_MENUNAME                                     (-8)
677 #define GCLP_HBRBACKGROUND                               (-10)
678 #define GCLP_HCURSOR                                     (-12)
679 #define GCLP_HICON                                       (-14)
680 #define GCLP_HMODULE                                     (-16)
681 #define GCLP_WNDPROC                                     (-24)
682 #define GCLP_HICONSM                                     (-34)
683
684 #if 0
685 /* This is supposed to be defined by the program using it, not defined
686  * in the w32api headers.  I've left it here for documentation purposes.
687  */
688 #ifndef IDC_STATIC  /* May be predefined by resource compiler. */
689 #define IDC_STATIC                                        (-1)
690 #endif
691 #endif
692
693 #define IDC_ARROW                               MAKEINTRESOURCE(32512)
694 #define IDC_IBEAM                               MAKEINTRESOURCE(32513)
695 #define IDC_WAIT                                MAKEINTRESOURCE(32514)
696 #define IDC_CROSS                               MAKEINTRESOURCE(32515)
697 #define IDC_UPARROW                             MAKEINTRESOURCE(32516)
698 #define IDC_SIZENWSE                            MAKEINTRESOURCE(32642)
699 #define IDC_SIZENESW                            MAKEINTRESOURCE(32643)
700 #define IDC_SIZEWE                              MAKEINTRESOURCE(32644)
701 #define IDC_SIZENS                              MAKEINTRESOURCE(32645)
702 #define IDC_SIZEALL                             MAKEINTRESOURCE(32646)
703 #define IDC_NO                                  MAKEINTRESOURCE(32648)
704 #define IDC_HAND                                MAKEINTRESOURCE(32649)
705 #define IDC_APPSTARTING                         MAKEINTRESOURCE(32650)
706 #define IDC_HELP                                MAKEINTRESOURCE(32651)
707 #define IDC_ICON                                MAKEINTRESOURCE(32641)
708 #define IDC_SIZE                                MAKEINTRESOURCE(32640)
709
710 #ifndef RC_INVOKED
711 #define IDI_APPLICATION                         MAKEINTRESOURCE(32512)
712 #define IDI_HAND                                MAKEINTRESOURCE(32513)
713 #define IDI_QUESTION                            MAKEINTRESOURCE(32514)
714 #define IDI_EXCLAMATION                         MAKEINTRESOURCE(32515)
715 #define IDI_ASTERISK                            MAKEINTRESOURCE(32516)
716 #define IDI_WINLOGO                             MAKEINTRESOURCE(32517)
717
718 #else
719 #define IDI_APPLICATION                                 32512
720 #define IDI_HAND                                        32513
721 #define IDI_QUESTION                                    32514
722 #define IDI_EXCLAMATION                                 32515
723 #define IDI_ASTERISK                                    32516
724 #define IDI_WINLOGO                                     32517
725 #endif
726
727 #define IDI_WARNING                                 IDI_EXCLAMATION
728 #define IDI_ERROR                                   IDI_HAND
729 #define IDI_INFORMATION                             IDI_ASTERISK
730 #define MIIM_STATE                                          1
731 #define MIIM_ID                                             2
732 #define MIIM_SUBMENU                                        4
733 #define MIIM_CHECKMARKS                                     8
734 #define MIIM_TYPE                                          16
735 #define MIIM_DATA                                          32
736 #define MIIM_STRING                                        64
737 #define MIIM_BITMAP                                       128
738 #define MIIM_FTYPE                                        256
739
740 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
741 #define MIM_MAXHEIGHT                                       1
742 #define MIM_BACKGROUND                                      2
743 #define MIM_HELPID                                          4
744 #define MIM_MENUDATA                                        8
745 #define MIM_STYLE                                          16
746 #define MIM_APPLYTOSUBMENUS                        0x80000000L
747 #define MNS_NOCHECK                                0x80000000
748 #define MNS_MODELESS                               0x40000000
749 #define MNS_DRAGDROP                               0x20000000
750 #define MNS_AUTODISMISS                            0x10000000
751 #define MNS_NOTIFYBYPOS                            0x08000000
752 #define MNS_CHECKORBMP                             0x04000000
753 #endif
754
755 #define MFT_BITMAP                                          4
756 #define MFT_MENUBARBREAK                                   32
757 #define MFT_MENUBREAK                                      64
758 #define MFT_OWNERDRAW                                     256
759 #define MFT_RADIOCHECK                                    512
760 #define MFT_RIGHTJUSTIFY                               0x4000
761 #define MFT_SEPARATOR                                   0x800
762 #define MFT_RIGHTORDER                                 0x2000L
763 #define MFT_STRING                                          0
764 #define MFS_CHECKED                                         8
765 #define MFS_DEFAULT                                      4096
766 #define MFS_DISABLED                                        3
767 #define MFS_ENABLED                                         0
768 #define MFS_GRAYED                                          3
769 #define MFS_HILITE                                        128
770 #define MFS_UNCHECKED                                       0
771 #define MFS_UNHILITE                                        0
772 #define GW_HWNDNEXT                                         2
773 #define GW_HWNDPREV                                         3
774 #define GW_CHILD                                            5
775 #define GW_HWNDFIRST                                        0
776 #define GW_HWNDLAST                                         1
777 #define GW_OWNER                                            4
778 #define SW_HIDE                                             0
779 #define SW_NORMAL                                           1
780 #define SW_SHOWNORMAL                                       1
781 #define SW_SHOWMINIMIZED                                    2
782 #define SW_MAXIMIZE                                         3
783 #define SW_SHOWMAXIMIZED                                    3
784 #define SW_SHOWNOACTIVATE                                   4
785 #define SW_SHOW                                             5
786 #define SW_MINIMIZE                                         6
787 #define SW_SHOWMINNOACTIVE                                  7
788 #define SW_SHOWNA                                           8
789 #define SW_RESTORE                                          9
790 #define SW_SHOWDEFAULT                                     10
791 #define SW_FORCEMINIMIZE                                   11
792 #define SW_MAX                                             11
793 #define MB_USERICON                                       128
794 #define MB_ICONASTERISK                                    64
795 #define MB_ICONEXCLAMATION                               0x30
796 #define MB_ICONWARNING                                   0x30
797 #define MB_ICONERROR                                       16
798 #define MB_ICONHAND                                        16
799 #define MB_ICONQUESTION                                    32
800 #define MB_OK                                               0
801 #define MB_ABORTRETRYIGNORE                                 2
802 #define MB_APPLMODAL                                        0
803 #define MB_DEFAULT_DESKTOP_ONLY                       0x20000
804 #define MB_HELP                                        0x4000
805 #define MB_RIGHT                                      0x80000
806 #define MB_RTLREADING                                0x100000
807 #define MB_TOPMOST                                    0x40000
808 #define MB_DEFBUTTON1                                       0
809 #define MB_DEFBUTTON2                                     256
810 #define MB_DEFBUTTON3                                     512
811 #define MB_DEFBUTTON4                                   0x300
812 #define MB_ICONINFORMATION                                 64
813 #define MB_ICONSTOP                                        16
814 #define MB_OKCANCEL                                         1
815 #define MB_RETRYCANCEL                                      5
816
817 #ifdef _WIN32_WINNT
818 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
819 #define MB_SERVICE_NOTIFICATION                    0x00200000
820
821 #else
822 #define MB_SERVICE_NOTIFICATION                    0x00040000
823 #endif
824
825 #define MB_SERVICE_NOTIFICATION_NT3X               0x00040000
826 #endif
827
828 #define MB_SETFOREGROUND                              0x10000
829 #define MB_SYSTEMMODAL                                   4096
830 #define MB_TASKMODAL                                   0x2000
831 #define MB_YESNO                                            4
832 #define MB_YESNOCANCEL                                      3
833 #define MB_ICONMASK                                       240
834 #define MB_DEFMASK                                       3840
835 #define MB_MODEMASK                                0x00003000
836 #define MB_MISCMASK                                0x0000C000
837 #define MB_NOFOCUS                                 0x00008000
838 #define MB_TYPEMASK                                        15
839 #define MB_TOPMOST                                    0x40000
840
841 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
842 #define MB_CANCELTRYCONTINUE                                6
843 #endif
844
845 #define IDOK                                                1
846 #define IDCANCEL                                            2
847 #define IDABORT                                             3
848 #define IDRETRY                                             4
849 #define IDIGNORE                                            5
850 #define IDYES                                               6
851 #define IDNO                                                7
852
853 #if WINVER >= _WIN32_WINNT_NT4 /* || _WIN32_WINDOWS_95 */
854 #define IDCLOSE                                             8
855 #define IDHELP                                              9
856 #endif
857
858 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
859 #define IDTRYAGAIN                                         10
860 #define IDCONTINUE                                         11
861 #endif
862
863 #define GWL_EXSTYLE                                      (-20)
864 #define GWL_STYLE                                        (-16)
865 #define GWL_WNDPROC                                       (-4)
866 #define GWLP_WNDPROC                                      (-4)
867 #define GWL_HINSTANCE                                     (-6)
868 #define GWLP_HINSTANCE                                    (-6)
869 #define GWL_HWNDPARENT                                    (-8)
870 #define GWLP_HWNDPARENT                                   (-8)
871 #define GWL_ID                                           (-12)
872 #define GWLP_ID                                          (-12)
873 #define GWL_USERDATA                                     (-21)
874 #define GWLP_USERDATA                                    (-21)
875 #define DWL_DLGPROC                                         4
876 #define DWLP_DLGPROC                                        4
877 #define DWL_MSGRESULT                                       0
878 #define DWLP_MSGRESULT                                      0
879 #define DWL_USER                                            8
880 #define DWLP_USER                                           8
881
882 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
883 #define QS_ALLEVENTS                                     1215
884 #define QS_ALLINPUT                                      1279
885 #else
886 #define QS_ALLEVENTS                                      191
887 #define QS_ALLINPUT                                       255
888 #endif
889
890 #define QS_ALLPOSTMESSAGE                                 256
891 #define QS_HOTKEY                                         128
892
893 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
894 #define QS_INPUT                                         1031
895 #else
896 #define QS_INPUT                                            7
897 #endif
898
899 #define QS_KEY                                              1
900 #define QS_MOUSE                                            6
901 #define QS_MOUSEBUTTON                                      4
902 #define QS_MOUSEMOVE                                        2
903 #define QS_PAINT                                           32
904 #define QS_POSTMESSAGE                                      8
905
906 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
907 #define QS_RAWINPUT                                      1024
908 #endif
909
910 #define QS_SENDMESSAGE                                     64
911 #define QS_TIMER                                           16
912 #define MWMO_WAITALL                                        1
913 #define MWMO_ALERTABLE                                      2
914 #define MWMO_INPUTAVAILABLE                                 4
915 #define COLOR_3DDKSHADOW                                   21
916 #define COLOR_3DFACE                                       15
917 #define COLOR_3DHILIGHT                                    20
918 #define COLOR_3DHIGHLIGHT                                  20
919 #define COLOR_3DLIGHT                                      22
920 #define COLOR_BTNHILIGHT                                   20
921 #define COLOR_3DSHADOW                                     16
922 #define COLOR_ACTIVEBORDER                                 10
923 #define COLOR_ACTIVECAPTION                                 2
924 #define COLOR_APPWORKSPACE                                 12
925 #define COLOR_BACKGROUND                                    1
926 #define COLOR_DESKTOP                                       1
927 #define COLOR_BTNFACE                                      15
928 #define COLOR_BTNHIGHLIGHT                                 20
929 #define COLOR_BTNSHADOW                                    16
930 #define COLOR_BTNTEXT                                      18
931 #define COLOR_CAPTIONTEXT                                   9
932 #define COLOR_GRAYTEXT                                     17
933 #define COLOR_HIGHLIGHT                                    13
934 #define COLOR_HIGHLIGHTTEXT                                14
935 #define COLOR_INACTIVEBORDER                               11
936 #define COLOR_INACTIVECAPTION                               3
937 #define COLOR_INACTIVECAPTIONTEXT                          19
938 #define COLOR_INFOBK                                       24
939 #define COLOR_INFOTEXT                                     23
940 #define COLOR_MENU                                          4
941 #define COLOR_MENUTEXT                                      7
942 #define COLOR_SCROLLBAR                                     0
943 #define COLOR_WINDOW                                        5
944 #define COLOR_WINDOWFRAME                                   6
945 #define COLOR_WINDOWTEXT                                    8
946 #define COLOR_HOTLIGHT                                     26
947 #define COLOR_GRADIENTACTIVECAPTION                        27
948 #define COLOR_GRADIENTINACTIVECAPTION                      28
949 #define CTLCOLOR_MSGBOX                                     0
950 #define CTLCOLOR_EDIT                                       1
951 #define CTLCOLOR_LISTBOX                                    2
952 #define CTLCOLOR_BTN                                        3
953 #define CTLCOLOR_DLG                                        4
954 #define CTLCOLOR_SCROLLBAR                                  5
955 #define CTLCOLOR_STATIC                                     6
956 #define CTLCOLOR_MAX                                        7
957 #define SM_CXSCREEN                                         0
958 #define SM_CYSCREEN                                         1
959 #define SM_CXVSCROLL                                        2
960 #define SM_CYHSCROLL                                        3
961 #define SM_CYCAPTION                                        4
962 #define SM_CXBORDER                                         5
963 #define SM_CYBORDER                                         6
964 #define SM_CXDLGFRAME                                       7
965 #define SM_CXFIXEDFRAME                                     7
966 #define SM_CYDLGFRAME                                       8
967 #define SM_CYFIXEDFRAME                                     8
968 #define SM_CYVTHUMB                                         9
969 #define SM_CXHTHUMB                                        10
970 #define SM_CXICON                                          11
971 #define SM_CYICON                                          12
972 #define SM_CXCURSOR                                        13
973 #define SM_CYCURSOR                                        14
974 #define SM_CYMENU                                          15
975 #define SM_CXFULLSCREEN                                    16
976 #define SM_CYFULLSCREEN                                    17
977 #define SM_CYKANJIWINDOW                                   18
978 #define SM_MOUSEPRESENT                                    19
979 #define SM_CYVSCROLL                                       20
980 #define SM_CXHSCROLL                                       21
981 #define SM_DEBUG                                           22
982 #define SM_SWAPBUTTON                                      23
983 #define SM_RESERVED1                                       24
984 #define SM_RESERVED2                                       25
985 #define SM_RESERVED3                                       26
986 #define SM_RESERVED4                                       27
987 #define SM_CXMIN                                           28
988 #define SM_CYMIN                                           29
989 #define SM_CXSIZE                                          30
990 #define SM_CYSIZE                                          31
991 #define SM_CXSIZEFRAME                                     32
992 #define SM_CXFRAME                                         32
993 #define SM_CYSIZEFRAME                                     33
994 #define SM_CYFRAME                                         33
995 #define SM_CXMINTRACK                                      34
996 #define SM_CYMINTRACK                                      35
997 #define SM_CXDOUBLECLK                                     36
998 #define SM_CYDOUBLECLK                                     37
999 #define SM_CXICONSPACING                                   38
1000 #define SM_CYICONSPACING                                   39
1001 #define SM_MENUDROPALIGNMENT                               40
1002 #define SM_PENWINDOWS                                      41
1003 #define SM_DBCSENABLED                                     42
1004 #define SM_CMOUSEBUTTONS                                   43
1005 #define SM_SECURE                                          44
1006 #define SM_CXEDGE                                          45
1007 #define SM_CYEDGE                                          46
1008 #define SM_CXMINSPACING                                    47
1009 #define SM_CYMINSPACING                                    48
1010 #define SM_CXSMICON                                        49
1011 #define SM_CYSMICON                                        50
1012 #define SM_CYSMCAPTION                                     51
1013 #define SM_CXSMSIZE                                        52
1014 #define SM_CYSMSIZE                                        53
1015 #define SM_CXMENUSIZE                                      54
1016 #define SM_CYMENUSIZE                                      55
1017 #define SM_ARRANGE                                         56
1018 #define SM_CXMINIMIZED                                     57
1019 #define SM_CYMINIMIZED                                     58
1020 #define SM_CXMAXTRACK                                      59
1021 #define SM_CYMAXTRACK                                      60
1022 #define SM_CXMAXIMIZED                                     61
1023 #define SM_CYMAXIMIZED                                     62
1024 #define SM_NETWORK                                         63
1025 #define SM_CLEANBOOT                                       67
1026 #define SM_CXDRAG                                          68
1027 #define SM_CYDRAG                                          69
1028 #define SM_SHOWSOUNDS                                      70
1029 #define SM_CXMENUCHECK                                     71
1030 #define SM_CYMENUCHECK                                     72
1031 #define SM_SLOWMACHINE                                     73
1032 #define SM_MIDEASTENABLED                                  74
1033 #define SM_MOUSEWHEELPRESENT                               75
1034 #define SM_XVIRTUALSCREEN                                  76
1035 #define SM_YVIRTUALSCREEN                                  77
1036 #define SM_CXVIRTUALSCREEN                                 78
1037 #define SM_CYVIRTUALSCREEN                                 79
1038 #define SM_CMONITORS                                       80
1039 #define SM_SAMEDISPLAYFORMAT                               81
1040 #define SM_IMMENABLED                                      82
1041 #define SM_CXFOCUSBORDER                                   83
1042 #define SM_CYFOCUSBORDER                                   84
1043 #define SM_TABLETPC                                        86
1044 #define SM_MEDIACENTER                                     87
1045 #define SM_STARTER                                         88
1046 #define SM_SERVERR2                                        89
1047
1048 #if _WIN32_WINNT < _WIN32_WINNT_NT4
1049 #define SM_CMETRICS                                        76
1050 #else
1051 #define SM_CMETRICS                                        88
1052 #endif
1053
1054 #define SM_REMOTESESSION                               0x1000
1055 #define ARW_BOTTOMLEFT                                      0
1056 #define ARW_BOTTOMRIGHT                                     1
1057 #define ARW_HIDE                                            8
1058 #define ARW_TOPLEFT                                         2
1059 #define ARW_TOPRIGHT                                        3
1060 #define ARW_DOWN                                            4
1061 #define ARW_LEFT                                            0
1062 #define ARW_RIGHT                                           0
1063 #define ARW_UP                                              4
1064 #define UOI_FLAGS                                           1
1065 #define UOI_NAME                                            2
1066 #define UOI_TYPE                                            3
1067 #define UOI_USER_SID                                        4
1068 #define LR_DEFAULTCOLOR                                     0
1069 #define LR_MONOCHROME                                       1
1070 #define LR_COLOR                                            2
1071 #define LR_COPYRETURNORG                                    4
1072 #define LR_COPYDELETEORG                                    8
1073 #define LR_LOADFROMFILE                                    16
1074 #define LR_LOADTRANSPARENT                                 32
1075 #define LR_LOADREALSIZE                                   128
1076 #define LR_DEFAULTSIZE                                 0x0040
1077 #define LR_VGACOLOR                                    0x0080
1078 #define LR_LOADMAP3DCOLORS                               4096
1079 #define LR_CREATEDIBSECTION                              8192
1080 #define LR_COPYFROMRESOURCE                            0x4000
1081 #define LR_SHARED                                       32768
1082 #define KEYEVENTF_EXTENDEDKEY                      0x00000001
1083 #define KEYEVENTF_KEYUP                            0x00000002
1084
1085 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1086 #define KEYEVENTF_UNICODE                          0x00000004
1087 #define KEYEVENTF_SCANCODE                         0x00000008
1088 #endif
1089
1090 #define OBM_BTNCORNERS                                  32758
1091 #define OBM_BTSIZE                                      32761
1092 #define OBM_CHECK                                       32760
1093 #define OBM_CHECKBOXES                                  32759
1094 #define OBM_CLOSE                                       32754
1095 #define OBM_COMBO                                       32738
1096 #define OBM_DNARROW                                     32752
1097 #define OBM_DNARROWD                                    32742
1098 #define OBM_DNARROWI                                    32736
1099 #define OBM_LFARROW                                     32750
1100 #define OBM_LFARROWI                                    32734
1101 #define OBM_LFARROWD                                    32740
1102 #define OBM_MNARROW                                     32739
1103 #define OBM_OLD_CLOSE                                   32767
1104 #define OBM_OLD_DNARROW                                 32764
1105 #define OBM_OLD_LFARROW                                 32762
1106 #define OBM_OLD_REDUCE                                  32757
1107 #define OBM_OLD_RESTORE                                 32755
1108 #define OBM_OLD_RGARROW                                 32763
1109 #define OBM_OLD_UPARROW                                 32765
1110 #define OBM_OLD_ZOOM                                    32756
1111 #define OBM_REDUCE                                      32749
1112 #define OBM_REDUCED                                     32746
1113 #define OBM_RESTORE                                     32747
1114 #define OBM_RESTORED                                    32744
1115 #define OBM_RGARROW                                     32751
1116 #define OBM_RGARROWD                                    32741
1117 #define OBM_RGARROWI                                    32735
1118 #define OBM_SIZE                                        32766
1119 #define OBM_UPARROW                                     32753
1120 #define OBM_UPARROWD                                    32743
1121 #define OBM_UPARROWI                                    32737
1122 #define OBM_ZOOM                                        32748
1123 #define OBM_ZOOMD                                       32745
1124 #define OCR_NORMAL                                      32512
1125 #define OCR_IBEAM                                       32513
1126 #define OCR_WAIT                                        32514
1127 #define OCR_CROSS                                       32515
1128 #define OCR_UP                                          32516
1129 #define OCR_SIZE                                        32640
1130 #define OCR_ICON                                        32641
1131 #define OCR_SIZENWSE                                    32642
1132 #define OCR_SIZENESW                                    32643
1133 #define OCR_SIZEWE                                      32644
1134 #define OCR_SIZENS                                      32645
1135 #define OCR_SIZEALL                                     32646
1136 #define OCR_NO                                          32648
1137 #define OCR_APPSTARTING                                 32650
1138 #define OIC_SAMPLE                                      32512
1139 #define OIC_HAND                                        32513
1140 #define OIC_QUES                                        32514
1141 #define OIC_BANG                                        32515
1142 #define OIC_NOTE                                        32516
1143 #define OIC_WINLOGO                                     32517
1144 #define OIC_WARNING                                  OIC_BANG
1145 #define OIC_ERROR                                    OIC_HAND
1146 #define OIC_INFORMATION                              OIC_NOTE
1147 #define HELPINFO_MENUITEM                                   2
1148 #define HELPINFO_WINDOW                                     1
1149 #define MSGF_DIALOGBOX                                      0
1150 #define MSGF_MESSAGEBOX                                     1
1151 #define MSGF_MENU                                           2
1152 #define MSGF_MOVE                                           3
1153 #define MSGF_SIZE                                           4
1154 #define MSGF_SCROLLBAR                                      5
1155 #define MSGF_NEXTWINDOW                                     6
1156 #define MSGF_MAINLOOP                                       8
1157 #define MSGF_USER                                        4096
1158 #define MOUSEEVENTF_MOVE                           0x00000001
1159 #define MOUSEEVENTF_LEFTDOWN                       0x00000002
1160 #define MOUSEEVENTF_LEFTUP                         0x00000004
1161 #define MOUSEEVENTF_RIGHTDOWN                      0x00000008
1162 #define MOUSEEVENTF_RIGHTUP                        0x00000010
1163 #define MOUSEEVENTF_MIDDLEDOWN                     0x00000020
1164 #define MOUSEEVENTF_MIDDLEUP                       0x00000040
1165 #define MOUSEEVENTF_ABSOLUTE                       0x00008000
1166
1167 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
1168 #define MOUSEEVENTF_WHEEL                          0x00000800
1169 #endif
1170
1171 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1172 #define MOUSEEVENTF_XDOWN                          0x00000080
1173 #define MOUSEEVENTF_XUP                            0x00000100
1174 #endif
1175
1176 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
1177 /* The following group of definitions were formerly duplicated from
1178  * header <pbt.h>, which is now declared obsolete.
1179  */
1180 #define PBT_APMQUERYSUSPEND                                 0
1181 #define PBT_APMQUERYSTANDBY                                 1
1182 #define PBT_APMQUERYSUSPENDFAILED                           2
1183 #define PBT_APMQUERYSTANDBYFAILED                           3
1184 #define PBT_APMSUSPEND                                      4
1185 #define PBT_APMSTANDBY                                      5
1186 #define PBT_APMRESUMECRITICAL                               6
1187 #define PBT_APMRESUMESUSPEND                                7
1188 #define PBT_APMRESUMESTANDBY                                8
1189 #define PBT_APMBATTERYLOW                                   9
1190 #define PBT_APMPOWERSTATUSCHANGE                           10
1191 #define PBT_APMOEMEVENT                                    11
1192 #define PBT_APMRESUMEAUTOMATIC                             18
1193 #define PBTF_APMRESUMEFROMFAILURE                           1
1194 #endif
1195
1196 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
1197 #define PBT_POWERSETTINGCHANGE                          32787
1198 #endif
1199 /* end pbt.h */
1200
1201 #define PM_NOREMOVE                                         0
1202 #define PM_REMOVE                                           1
1203 #define PM_NOYIELD                                          2
1204
1205 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1206 # define PM_QS_INPUT                              (QS_INPUT << 16)
1207 # define PM_QS_POSTMESSAGE          ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16)
1208 # define PM_QS_PAINT                              (QS_PAINT << 16)
1209 # define PM_QS_SENDMESSAGE                  (QS_SENDMESSAGE << 16)
1210 #endif
1211
1212 #define HWND_BROADCAST                         ((HWND)(0xFFFF))
1213 #define HWND_BOTTOM                                 ((HWND)(1))
1214 #define HWND_NOTOPMOST                             ((HWND)(-2))
1215 #define HWND_TOP                                    ((HWND)(0))
1216 #define HWND_TOPMOST                               ((HWND)(-1))
1217 #define HWND_DESKTOP                                ((HWND)(0))
1218
1219 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1220 #define HWND_MESSAGE                               ((HWND)(-3))
1221 #endif
1222
1223 #define RDW_ERASE                                           4
1224 #define RDW_FRAME                                        1024
1225 #define RDW_INTERNALPAINT                                   2
1226 #define RDW_INVALIDATE                                      1
1227 #define RDW_NOERASE                                        32
1228 #define RDW_NOFRAME                                      2048
1229 #define RDW_NOINTERNALPAINT                                16
1230 #define RDW_VALIDATE                                        8
1231 #define RDW_ERASENOW                                      512
1232 #define RDW_UPDATENOW                                     256
1233 #define RDW_ALLCHILDREN                                   128
1234 #define RDW_NOCHILDREN                                     64
1235 #define SMTO_ABORTIFHUNG                               0x0002
1236 #define SMTO_BLOCK                                     0x0001
1237 #define SMTO_NORMAL                                    0x0000
1238
1239 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1240 #define SMTO_NOTIMEOUTIFNOTHUNG                        0x0008
1241 #endif
1242
1243 #define SIF_DISABLENOSCROLL                            0x0008
1244 #define SIF_PAGE                                       0x0002
1245 #define SIF_POS                                        0x0004
1246 #define SIF_RANGE                                      0x0001
1247 #define SIF_TRACKPOS                                   0x0010
1248 #define SIF_ALL                    (SIF_PAGE | SIF_POS | SIF_RANGE | SIF_TRACKPOS)
1249 #define SWP_DRAWFRAME                                  0x0020
1250 #define SWP_FRAMECHANGED                               0x0020
1251 #define SWP_HIDEWINDOW                                 0x0080
1252 #define SWP_NOACTIVATE                                 0x0010
1253 #define SWP_NOCOPYBITS                                 0x0100
1254 #define SWP_NOMOVE                                     0x0002
1255 #define SWP_NOSIZE                                     0x0001
1256 #define SWP_NOREDRAW                                   0x0008
1257 #define SWP_NOZORDER                                   0x0004
1258 #define SWP_SHOWWINDOW                                 0x0040
1259 #define SWP_NOOWNERZORDER                              0x0200
1260 #define SWP_NOREPOSITION                         SWP_NOOWNERZORDER
1261 #define SWP_NOSENDCHANGING                             0x0400
1262 #define SWP_DEFERERASE                                 0x2000
1263 #define SWP_ASYNCWINDOWPOS                             0x4000
1264 #define HSHELL_ACTIVATESHELLWINDOW                          3
1265 #define HSHELL_ENDTASK                                     10
1266 #define HSHELL_GETMINRECT                                   5
1267 #define HSHELL_LANGUAGE                                     8
1268 #define HSHELL_REDRAW                                       6
1269 #define HSHELL_TASKMAN                                      7
1270 #define HSHELL_WINDOWACTIVATED                              4
1271 #define HSHELL_WINDOWCREATED                                1
1272 #define HSHELL_WINDOWDESTROYED                              2
1273
1274 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1275 #define HSHELL_ACCESSIBILITYSTATE                          11
1276 #define HSHELL_APPCOMMAND                                  12
1277 #define HSHELL_RUDEAPPACTIVATED                         32772
1278 #define HSHELL_FLASH                                    32774
1279 #endif
1280
1281 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
1282 #define HSHELL_WINDOWREPLACED                              13
1283 #define HSHELL_WINDOWREPLACING                             14
1284 #endif
1285
1286 #define SPI_GETACCESSTIMEOUT                           0x003C
1287 #define SPI_GETACTIVEWINDOWTRACKING                    0x1000
1288 #define SPI_GETACTIVEWNDTRKTIMEOUT                       8194
1289 #define SPI_GETACTIVEWNDTRKZORDER                      0x100C
1290 #define SPI_GETANIMATION                               0x0048
1291 #define SPI_GETBEEP                                    0x0001
1292 #define SPI_GETBLOCKSENDINPUTRESETS                    0x1026
1293 #define SPI_GETBORDER                                  0x0005
1294 #define SPI_GETCARETWIDTH                              0x2006
1295 #define SPI_GETCOMBOBOXANIMATION                       0x1004
1296 #define SPI_GETCURSORSHADOW                            0x101A
1297 #define SPI_GETDEFAULTINPUTLANG                        0x0059
1298 #define SPI_GETDESKWALLPAPER                           0x0073
1299 #define SPI_GETDRAGFULLWINDOWS                         0x0026
1300 #define SPI_GETFASTTASKSWITCH                          0x0023
1301 #define SPI_GETFILTERKEYS                              0x0032
1302 #define SPI_GETFONTSMOOTHING                           0x004A
1303 #define SPI_GETFOREGROUNDFLASHCOUNT                    0x2004
1304 #define SPI_GETFOREGROUNDLOCKTIMEOUT                   0x2000
1305 #define SPI_GETGRADIENTCAPTIONS                        0x1008
1306 #define SPI_GETGRIDGRANULARITY                         0x0012
1307 #define SPI_GETHIGHCONTRAST                            0x0042
1308 #define SPI_GETHOTTRACKING                             0x100E
1309 #define SPI_GETICONMETRICS                             0x002D
1310 #define SPI_GETICONTITLELOGFONT                        0x001F
1311 #define SPI_GETICONTITLEWRAP                           0x0019
1312 #define SPI_GETKEYBOARDCUES                            0x100A
1313 #define SPI_GETKEYBOARDDELAY                           0x0016
1314 #define SPI_GETKEYBOARDPREF                            0x0044
1315 #define SPI_GETKEYBOARDSPEED                           0x000A
1316 #define SPI_GETLISTBOXSMOOTHSCROLLING                  0x1006
1317 #define SPI_GETLOWPOWERACTIVE                          0x0053
1318 #define SPI_GETLOWPOWERTIMEOUT                         0x004F
1319 #define SPI_GETMENUANIMATION                           0x1002
1320 #define SPI_GETMENUDROPALIGNMENT                       0x001B
1321 #define SPI_GETMENUFADE                                0x1012
1322 #define SPI_GETMENUSHOWDELAY                           0x006A
1323 #define SPI_GETMENUUNDERLINES                   SPI_GETKEYBOARDCUES
1324 #define SPI_GETMINIMIZEDMETRICS                        0x002B
1325 #define SPI_GETMOUSE                                   0x0003
1326 #define SPI_GETMOUSEHOVERHEIGHT                        0x0064
1327 #define SPI_GETMOUSEHOVERTIME                          0x0066
1328 #define SPI_GETMOUSEHOVERWIDTH                         0x0062
1329 #define SPI_GETMOUSEKEYS                               0x0036
1330 #define SPI_GETMOUSESPEED                              0x0070
1331 #define SPI_GETMOUSETRAILS                             0x005E
1332 #define SPI_GETNONCLIENTMETRICS                        0x0029
1333 #define SPI_GETPOWEROFFACTIVE                          0x0054
1334 #define SPI_GETPOWEROFFTIMEOUT                         0x0050
1335 #define SPI_GETSCREENREADER                            0x0046
1336 #define SPI_GETSCREENSAVEACTIVE                        0x0010
1337 #define SPI_GETSCREENSAVERRUNNING                      0x0072
1338 #define SPI_GETSCREENSAVETIMEOUT                       0x000E
1339 #define SPI_GETSELECTIONFADE                           0x1014
1340 #define SPI_GETSERIALKEYS                              0x003E
1341 #define SPI_GETSHOWIMEUI                               0x006E
1342 #define SPI_GETSHOWSOUNDS                              0x0038
1343 #define SPI_GETSNAPTODEFBUTTON                         0x005F
1344 #define SPI_GETSOUNDSENTRY                             0x0040
1345 #define SPI_GETSTICKYKEYS                              0x003A
1346 #define SPI_GETTOGGLEKEYS                              0x0034
1347 #define SPI_GETTOOLTIPANIMATION                        0x1016
1348 #define SPI_GETTOOLTIPFADE                             0x1018
1349 #define SPI_GETUIEFFECTS                               0x103E
1350 #define SPI_GETWHEELSCROLLLINES                        0x0068
1351 #define SPI_GETWINDOWSEXTENSION                        0x005C
1352 #define SPI_GETWORKAREA                                0x0030
1353 #define SPI_ICONHORIZONTALSPACING                      0x000D
1354 #define SPI_ICONVERTICALSPACING                        0x0018
1355 #define SPI_LANGDRIVER                                 0x000C
1356 #define SPI_SETACCESSTIMEOUT                           0x003D
1357 #define SPI_SETACTIVEWINDOWTRACKING                    0x1001
1358 #define SPI_SETACTIVEWNDTRKTIMEOUT                       8195
1359 #define SPI_SETACTIVEWNDTRKZORDER                      0x100D
1360 #define SPI_SETANIMATION                               0x0049
1361 #define SPI_SETBEEP                                    0x0002
1362 #define SPI_SETBLOCKSENDINPUTRESETS                    0x1027
1363 #define SPI_SETBORDER                                  0x0006
1364 #define SPI_SETCARETWIDTH                              0x2007
1365 #define SPI_SETCOMBOBOXANIMATION                       0x1005
1366 #define SPI_SETCURSORS                                 0x0057
1367 #define SPI_SETCURSORSHADOW                            0x101B
1368 #define SPI_SETDEFAULTINPUTLANG                        0x005A
1369 #define SPI_SETDESKPATTERN                             0x0015
1370 #define SPI_SETDESKWALLPAPER                           0x0014
1371 #define SPI_SETDOUBLECLICKTIME                         0x0020
1372 #define SPI_SETDOUBLECLKHEIGHT                         0x001E
1373 #define SPI_SETDOUBLECLKWIDTH                          0x001D
1374 #define SPI_SETDRAGFULLWINDOWS                         0x0025
1375 #define SPI_SETDRAGHEIGHT                              0x004D
1376 #define SPI_SETDRAGWIDTH                               0x004C
1377 #define SPI_SETFASTTASKSWITCH                          0x0024
1378 #define SPI_SETFILTERKEYS                              0x0033
1379 #define SPI_SETFONTSMOOTHING                           0x004B
1380 #define SPI_SETFOREGROUNDFLASHCOUNT                    0x2005
1381 #define SPI_SETFOREGROUNDLOCKTIMEOUT                   0x2001
1382 #define SPI_SETGRADIENTCAPTIONS                        0x1009
1383 #define SPI_SETGRIDGRANULARITY                         0x0013
1384 #define SPI_SETHANDHELD                                0x004E
1385 #define SPI_SETHIGHCONTRAST                            0x0043
1386 #define SPI_SETHOTTRACKING                             0x100F
1387 #define SPI_SETICONMETRICS                             0x002E
1388 #define SPI_SETICONS                                   0x0058
1389 #define SPI_SETICONTITLELOGFONT                        0x0022
1390 #define SPI_SETICONTITLEWRAP                           0x001A
1391 #define SPI_SETKEYBOARDCUES                            0x100B
1392 #define SPI_SETKEYBOARDDELAY                           0x0017
1393 #define SPI_SETKEYBOARDPREF                            0x0045
1394 #define SPI_SETKEYBOARDSPEED                           0x000B
1395 #define SPI_SETLANGTOGGLE                              0x005B
1396 #define SPI_SETLISTBOXSMOOTHSCROLLING                  0x1007
1397 #define SPI_SETLOWPOWERACTIVE                          0x0055
1398 #define SPI_SETLOWPOWERTIMEOUT                         0x0051
1399 #define SPI_SETMENUANIMATION                           0x1003
1400 #define SPI_SETMENUDROPALIGNMENT                       0x001C
1401 #define SPI_SETMENUFADE                                0x1013
1402 #define SPI_SETMENUSHOWDELAY                           0x006B
1403 #define SPI_SETMENUUNDERLINES                   SPI_SETKEYBOARDCUES
1404 #define SPI_SETMINIMIZEDMETRICS                        0x002C
1405 #define SPI_SETMOUSE                                   0x0004
1406 #define SPI_SETMOUSEBUTTONSWAP                         0x0021
1407 #define SPI_SETMOUSEHOVERHEIGHT                        0x0065
1408 #define SPI_SETMOUSEHOVERTIME                          0x0067
1409 #define SPI_SETMOUSEHOVERWIDTH                         0x0063
1410 #define SPI_SETMOUSEKEYS                               0x0037
1411 #define SPI_SETMOUSESPEED                              0x0071
1412 #define SPI_SETMOUSETRAILS                             0x005D
1413 #define SPI_SETNONCLIENTMETRICS                        0x002A
1414 #define SPI_SETPENWINDOWS                              0x0031
1415 #define SPI_SETPOWEROFFACTIVE                          0x0056
1416 #define SPI_SETPOWEROFFTIMEOUT                         0x0052
1417 #define SPI_SETSCREENREADER                            0x0047
1418 #define SPI_SETSCREENSAVEACTIVE                        0x0011
1419 #define SPI_SETSCREENSAVERRUNNING                      0x0061
1420 #define SPI_SETSCREENSAVETIMEOUT                       0x000F
1421 #define SPI_SETSELECTIONFADE                           0x1015
1422 #define SPI_SETSERIALKEYS                              0x003F
1423 #define SPI_SETSHOWIMEUI                               0x006F
1424 #define SPI_SETSHOWSOUNDS                              0x0039
1425 #define SPI_SETSNAPTODEFBUTTON                         0x0060
1426 #define SPI_SETSOUNDSENTRY                             0x0041
1427 #define SPI_SETSTICKYKEYS                              0x003B
1428 #define SPI_SETTOGGLEKEYS                              0x0035
1429 #define SPI_SETTOOLTIPANIMATION                        0x1017
1430 #define SPI_SETTOOLTIPFADE                             0x1019
1431 #define SPI_SETUIEFFECTS                               0x103F
1432 #define SPI_SETWHEELSCROLLLINES                        0x0069
1433 #define SPI_SETWORKAREA                                0x002F
1434
1435 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
1436 #define SPI_GETDROPSHADOW                              0x1024
1437 #define SPI_GETFLATMENU                                0x1022
1438 #define SPI_GETFOCUSBORDERHEIGHT                       0x2010
1439 #define SPI_GETFOCUSBORDERWIDTH                        0x200E
1440 #define SPI_GETFONTSMOOTHINGCONTRAST                   0x200C
1441 #define SPI_GETFONTSMOOTHINGTYPE                       0x200A
1442 #define SPI_GETMOUSECLICKLOCK                          0x101E
1443 #define SPI_GETMOUSECLICKLOCKTIME                      0x2008
1444 #define SPI_GETMOUSESONAR                              0x101C
1445 #define SPI_GETMOUSEVANISH                             0x1020
1446 #define SPI_SETDROPSHADOW                              0x1025
1447 #define SPI_SETFLATMENU                                0x1023
1448 #define SPI_SETFOCUSBORDERHEIGHT                       0x2011
1449 #define SPI_SETFOCUSBORDERWIDTH                        0x200F
1450 #define SPI_SETFONTSMOOTHINGCONTRAST                   0x200D
1451 #define SPI_SETFONTSMOOTHINGTYPE                       0x200B
1452 #define SPI_SETMOUSECLICKLOCK                          0x101F
1453 #define SPI_SETMOUSECLICKLOCKTIME                      0x2009
1454 #define SPI_SETMOUSESONAR                              0x101D
1455 #define SPI_SETMOUSEVANISH                             0x1021
1456 #endif
1457
1458 #define SPIF_UPDATEINIFILE                             0x0001
1459 #define SPIF_SENDCHANGE                                0x0002
1460 #define SPIF_SENDWININICHANGE                      SPIF_SENDCHANGE
1461 #define ATF_ONOFFFEEDBACK                                   2
1462 #define ATF_TIMEOUTON                                       1
1463 #define WM_APP                                          32768
1464 #define WM_ACTIVATE                                         6
1465 #define WM_ACTIVATEAPP                                     28
1466
1467 /* FIXME/CHECK: Are WM_AFX{FIRST, LAST} valid for WINVER < 0x400? */
1468
1469 #define WM_AFXFIRST                                       864
1470 #define WM_AFXLAST                                        895
1471 #define WM_ASKCBFORMATNAME                                780
1472 #define WM_CANCELJOURNAL                                   75
1473 #define WM_CANCELMODE                                      31
1474 #define WM_CAPTURECHANGED                                 533
1475 #define WM_CHANGECBCHAIN                                  781
1476 #define WM_CHAR                                           258
1477 #define WM_CHARTOITEM                                      47
1478 #define WM_CHILDACTIVATE                                   34
1479 #define WM_CLEAR                                          771
1480 #define WM_CLOSE                                           16
1481 #define WM_COMMAND                                        273
1482 #define WM_COMMNOTIFY                                      68   /* obsolete */
1483 #define WM_COMPACTING                                      65
1484 #define WM_COMPAREITEM                                     57
1485 #define WM_CONTEXTMENU                                    123
1486 #define WM_COPY                                           769
1487 #define WM_COPYDATA                                        74
1488 #define WM_CREATE                                           1
1489 #define WM_CTLCOLORBTN                                    309
1490 #define WM_CTLCOLORDLG                                    310
1491 #define WM_CTLCOLOREDIT                                   307
1492 #define WM_CTLCOLORLISTBOX                                308
1493 #define WM_CTLCOLORMSGBOX                                 306
1494 #define WM_CTLCOLORSCROLLBAR                              311
1495 #define WM_CTLCOLORSTATIC                                 312
1496 #define WM_CUT                                            768
1497 #define WM_DEADCHAR                                       259
1498 #define WM_DELETEITEM                                      45
1499 #define WM_DESTROY                                          2
1500 #define WM_DESTROYCLIPBOARD                               775
1501 #define WM_DEVICECHANGE                                   537
1502 #define WM_DEVMODECHANGE                                   27
1503 #define WM_DISPLAYCHANGE                                  126
1504 #define WM_DRAWCLIPBOARD                                  776
1505 #define WM_DRAWITEM                                        43
1506 #define WM_DROPFILES                                      563
1507 #define WM_ENABLE                                          10
1508 #define WM_ENDSESSION                                      22
1509 #define WM_ENTERIDLE                                      289
1510 #define WM_ENTERMENULOOP                                  529
1511 #define WM_ENTERSIZEMOVE                                  561
1512 #define WM_ERASEBKGND                                      20
1513 #define WM_EXITMENULOOP                                   530
1514 #define WM_EXITSIZEMOVE                                   562
1515 #define WM_FONTCHANGE                                      29
1516 #define WM_GETDLGCODE                                     135
1517 #define WM_GETFONT                                         49
1518 #define WM_GETHOTKEY                                       51
1519 #define WM_GETICON                                        127
1520 #define WM_GETMINMAXINFO                                   36
1521 #define WM_GETTEXT                                         13
1522 #define WM_GETTEXTLENGTH                                   14
1523
1524 /* FIXME/CHECK: Are WM_HANDHEL{FIRST, LAST} valid for WINVER < 0x400? */
1525
1526 #define WM_HANDHELDFIRST                                  856
1527 #define WM_HANDHELDLAST                                   863
1528 #define WM_HELP                                            83
1529 #define WM_HOTKEY                                         786
1530 #define WM_HSCROLL                                        276
1531 #define WM_HSCROLLCLIPBOARD                               782
1532 #define WM_ICONERASEBKGND                                  39
1533 #define WM_INITDIALOG                                     272
1534 #define WM_INITMENU                                       278
1535 #define WM_INITMENUPOPUP                                  279
1536
1537 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
1538 #define WM_INPUT                                       0x00FF
1539 #endif
1540
1541 #define WM_INPUTLANGCHANGE                                 81
1542 #define WM_INPUTLANGCHANGEREQUEST                          80
1543 #define WM_KEYDOWN                                        256
1544 #define WM_KEYUP                                          257
1545 #define WM_KILLFOCUS                                        8
1546 #define WM_MDIACTIVATE                                    546
1547 #define WM_MDICASCADE                                     551
1548 #define WM_MDICREATE                                      544
1549 #define WM_MDIDESTROY                                     545
1550 #define WM_MDIGETACTIVE                                   553
1551 #define WM_MDIICONARRANGE                                 552
1552 #define WM_MDIMAXIMIZE                                    549
1553 #define WM_MDINEXT                                        548
1554 #define WM_MDIREFRESHMENU                                 564
1555 #define WM_MDIRESTORE                                     547
1556 #define WM_MDISETMENU                                     560
1557 #define WM_MDITILE                                        550
1558 #define WM_MEASUREITEM                                     44
1559
1560 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1561 #define WM_GETOBJECT                                   0x003D
1562 #define WM_CHANGEUISTATE                               0x0127
1563 #define WM_UPDATEUISTATE                               0x0128
1564 #define WM_QUERYUISTATE                                0x0129
1565 #define WM_UNINITMENUPOPUP                             0x0125
1566 #define WM_MENURBUTTONUP                                  290
1567 #define WM_MENUCOMMAND                                 0x0126
1568 #define WM_MENUGETOBJECT                               0x0124
1569 #define WM_MENUDRAG                                    0x0123
1570 #define WM_APPCOMMAND                                  0x0319
1571 #endif
1572
1573 #define WM_MENUCHAR                                       288
1574 #define WM_MENUSELECT                                     287
1575 #define WM_NEXTMENU                                       531
1576 #define WM_MOVE                                             3
1577 #define WM_MOVING                                         534
1578 #define WM_NCACTIVATE                                     134
1579 #define WM_NCCALCSIZE                                     131
1580 #define WM_NCCREATE                                       129
1581 #define WM_NCDESTROY                                      130
1582 #define WM_NCHITTEST                                      132
1583 #define WM_NCLBUTTONDBLCLK                                163
1584 #define WM_NCLBUTTONDOWN                                  161
1585 #define WM_NCLBUTTONUP                                    162
1586 #define WM_NCMBUTTONDBLCLK                                169
1587 #define WM_NCMBUTTONDOWN                                  167
1588 #define WM_NCMBUTTONUP                                    168
1589
1590 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1591 #define WM_NCXBUTTONDOWN                                  171
1592 #define WM_NCXBUTTONUP                                    172
1593 #define WM_NCXBUTTONDBLCLK                                173
1594 #define WM_NCMOUSEHOVER                                0x02A0
1595 #define WM_NCMOUSELEAVE                                0x02A2
1596 #endif
1597
1598 #define WM_NCMOUSEMOVE                                    160
1599 #define WM_NCPAINT                                        133
1600 #define WM_NCRBUTTONDBLCLK                                166
1601 #define WM_NCRBUTTONDOWN                                  164
1602 #define WM_NCRBUTTONUP                                    165
1603 #define WM_NEXTDLGCTL                                      40
1604 #define WM_NEXTMENU                                       531
1605 #define WM_NOTIFY                                          78
1606 #define WM_NOTIFYFORMAT                                    85
1607 #define WM_NULL                                             0
1608 #define WM_PAINT                                           15
1609 #define WM_PAINTCLIPBOARD                                 777
1610 #define WM_PAINTICON                                       38
1611 #define WM_PALETTECHANGED                                 785
1612 #define WM_PALETTEISCHANGING                              784
1613 #define WM_PARENTNOTIFY                                   528
1614 #define WM_PASTE                                          770
1615 #define WM_PENWINFIRST                                    896
1616 #define WM_PENWINLAST                                     911
1617 #define WM_POWER                                           72
1618 #define WM_POWERBROADCAST                                 536
1619 #define WM_PRINT                                          791
1620 #define WM_PRINTCLIENT                                    792
1621 #define WM_QUERYDRAGICON                                   55
1622 #define WM_QUERYENDSESSION                                 17
1623 #define WM_QUERYNEWPALETTE                                783
1624 #define WM_QUERYOPEN                                       19
1625 #define WM_QUEUESYNC                                       35
1626 #define WM_QUIT                                            18
1627 #define WM_RENDERALLFORMATS                               774
1628 #define WM_RENDERFORMAT                                   773
1629 #define WM_SETCURSOR                                       32
1630 #define WM_SETFOCUS                                         7
1631 #define WM_SETFONT                                         48
1632 #define WM_SETHOTKEY                                       50
1633 #define WM_SETICON                                        128
1634 #define WM_SETREDRAW                                       11
1635 #define WM_SETTEXT                                         12
1636 #define WM_SETTINGCHANGE                                   26
1637 #define WM_SHOWWINDOW                                      24
1638 #define WM_SIZE                                             5
1639 #define WM_SIZECLIPBOARD                                  779
1640 #define WM_SIZING                                         532
1641 #define WM_SPOOLERSTATUS                                   42
1642 #define WM_STYLECHANGED                                   125
1643 #define WM_STYLECHANGING                                  124
1644 #define WM_SYSCHAR                                        262
1645 #define WM_SYSCOLORCHANGE                                  21
1646 #define WM_SYSCOMMAND                                     274
1647 #define WM_SYSDEADCHAR                                    263
1648 #define WM_SYSKEYDOWN                                     260
1649 #define WM_SYSKEYUP                                       261
1650 #define WM_TCARD                                           82
1651 #define WM_THEMECHANGED                                   794
1652 #define WM_TIMECHANGE                                      30
1653 #define WM_TIMER                                          275
1654 #define WM_UNDO                                           772
1655 #define WM_USER                                          1024
1656 #define WM_USERCHANGED                                     84
1657 #define WM_VKEYTOITEM                                      46
1658 #define WM_VSCROLL                                        277
1659 #define WM_VSCROLLCLIPBOARD                               778
1660 #define WM_WINDOWPOSCHANGED                                71
1661 #define WM_WINDOWPOSCHANGING                               70
1662 #define WM_WININICHANGE                                    26
1663 #define WM_KEYFIRST                                       256
1664
1665 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
1666 #define WM_KEYLAST                                        265
1667 #define WM_UNICHAR                                        265
1668 #define UNICODE_NOCHAR                                 0xFFFF
1669
1670 #else
1671 #define WM_KEYLAST                                        264
1672 #endif
1673
1674 #define WM_SYNCPAINT                                      136
1675 #define WM_MOUSEACTIVATE                                   33
1676 #define WM_MOUSEMOVE                                      512
1677 #define WM_LBUTTONDOWN                                    513
1678 #define WM_LBUTTONUP                                      514
1679 #define WM_LBUTTONDBLCLK                                  515
1680 #define WM_RBUTTONDOWN                                    516
1681 #define WM_RBUTTONUP                                      517
1682 #define WM_RBUTTONDBLCLK                                  518
1683 #define WM_MBUTTONDOWN                                    519
1684 #define WM_MBUTTONUP                                      520
1685 #define WM_MBUTTONDBLCLK                                  521
1686 #define WM_MOUSEWHEEL                                     522
1687 #define WM_MOUSEFIRST                                     512
1688
1689 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1690 #define WM_XBUTTONDOWN                                    523
1691 #define WM_XBUTTONUP                                      524
1692 #define WM_XBUTTONDBLCLK                                  525
1693 #define WM_MOUSELAST                                      525
1694
1695 #else
1696 #define WM_MOUSELAST                                      522
1697 #endif
1698
1699 #define WM_MOUSEHOVER                                   0x2A1
1700 #define WM_MOUSELEAVE                                   0x2A3
1701
1702 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
1703 #define WHEEL_DELTA                                       120
1704 #define GET_WHEEL_DELTA_WPARAM(wparam)          ((short)(HIWORD(wparam)))
1705 #define WHEEL_PAGESCROLL                                UINT_MAX
1706 #endif
1707
1708 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
1709 #define WM_TOUCHMOVE                                      576
1710 #define WM_TOUCHDOWN                                      577
1711 #define WM_TOUCHUP                                        578
1712 #endif
1713
1714 #define BM_CLICK                                          245
1715 #define BM_GETCHECK                                       240
1716 #define BM_GETIMAGE                                       246
1717 #define BM_GETSTATE                                       242
1718 #define BM_SETCHECK                                       241
1719 #define BM_SETIMAGE                                       247
1720 #define BM_SETSTATE                                       243
1721 #define BM_SETSTYLE                                       244
1722 #define BN_CLICKED                                          0
1723 #define BN_DBLCLK                                           5
1724 #define BN_DISABLE                                          4
1725 #define BN_DOUBLECLICKED                                    5
1726 #define BN_HILITE                                           2
1727 #define BN_KILLFOCUS                                        7
1728 #define BN_PAINT                                            1
1729 #define BN_PUSHED                                           2
1730 #define BN_SETFOCUS                                         6
1731 #define BN_UNHILITE                                         3
1732 #define BN_UNPUSHED                                         3
1733 #define CB_ADDSTRING                                      323
1734 #define CB_DELETESTRING                                   324
1735 #define CB_DIR                                            325
1736 #define CB_FINDSTRING                                     332
1737 #define CB_FINDSTRINGEXACT                                344
1738 #define CB_GETCOUNT                                       326
1739 #define CB_GETCURSEL                                      327
1740 #define CB_GETDROPPEDCONTROLRECT                          338
1741 #define CB_GETDROPPEDSTATE                                343
1742 #define CB_GETDROPPEDWIDTH                                351
1743 #define CB_GETEDITSEL                                     320
1744 #define CB_GETEXTENDEDUI                                  342
1745 #define CB_GETHORIZONTALEXTENT                            349
1746 #define CB_GETITEMDATA                                    336
1747 #define CB_GETITEMHEIGHT                                  340
1748 #define CB_GETLBTEXT                                      328
1749 #define CB_GETLBTEXTLEN                                   329
1750 #define CB_GETLOCALE                                      346
1751 #define CB_GETTOPINDEX                                    347
1752 #define CB_INITSTORAGE                                    353
1753 #define CB_INSERTSTRING                                   330
1754 #define CB_LIMITTEXT                                      321
1755 #define CB_RESETCONTENT                                   331
1756 #define CB_SELECTSTRING                                   333
1757 #define CB_SETCURSEL                                      334
1758 #define CB_SETDROPPEDWIDTH                                352
1759 #define CB_SETEDITSEL                                     322
1760 #define CB_SETEXTENDEDUI                                  341
1761 #define CB_SETHORIZONTALEXTENT                            350
1762 #define CB_SETITEMDATA                                    337
1763 #define CB_SETITEMHEIGHT                                  339
1764 #define CB_SETLOCALE                                      345
1765 #define CB_SETTOPINDEX                                    348
1766 #define CB_SHOWDROPDOWN                                   335
1767
1768 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
1769 #define CB_SETMINVISIBLE                               0x1701
1770 #define CB_GETMINVISIBLE                               0x1702
1771 #endif
1772
1773 #define CBN_CLOSEUP                                         8
1774 #define CBN_DBLCLK                                          2
1775 #define CBN_DROPDOWN                                        7
1776 #define CBN_EDITCHANGE                                      5
1777 #define CBN_EDITUPDATE                                      6
1778 #define CBN_ERRSPACE                                      (-1)
1779 #define CBN_KILLFOCUS                                       4
1780 #define CBN_SELCHANGE                                       1
1781 #define CBN_SELENDCANCEL                                   10
1782 #define CBN_SELENDOK                                        9
1783 #define CBN_SETFOCUS                                        3
1784 #define EM_CANUNDO                                        198
1785 #define EM_CHARFROMPOS                                    215
1786 #define EM_EMPTYUNDOBUFFER                                205
1787 #define EM_FMTLINES                                       200
1788 #define EM_GETFIRSTVISIBLELINE                            206
1789 #define EM_GETHANDLE                                      189
1790 #define EM_GETLIMITTEXT                                   213
1791 #define EM_GETLINE                                        196
1792 #define EM_GETLINECOUNT                                   186
1793 #define EM_GETMARGINS                                     212
1794 #define EM_GETMODIFY                                      184
1795 #define EM_GETPASSWORDCHAR                                210
1796 #define EM_GETRECT                                        178
1797 #define EM_GETSEL                                         176
1798 #define EM_GETTHUMB                                       190
1799 #define EM_GETWORDBREAKPROC                               209
1800 #define EM_LIMITTEXT                                      197
1801 #define EM_LINEFROMCHAR                                   201
1802 #define EM_LINEINDEX                                      187
1803 #define EM_LINELENGTH                                     193
1804 #define EM_LINESCROLL                                     182
1805 #define EM_POSFROMCHAR                                    214
1806 #define EM_REPLACESEL                                     194
1807 #define EM_SCROLL                                         181
1808 #define EM_SCROLLCARET                                    183
1809 #define EM_SETHANDLE                                      188
1810 #define EM_SETLIMITTEXT                                   197
1811 #define EM_SETMARGINS                                     211
1812 #define EM_SETMODIFY                                      185
1813 #define EM_SETPASSWORDCHAR                                204
1814 #define EM_SETREADONLY                                    207
1815 #define EM_SETRECT                                        179
1816 #define EM_SETRECTNP                                      180
1817 #define EM_SETSEL                                         177
1818 #define EM_SETTABSTOPS                                    203
1819 #define EM_SETWORDBREAKPROC                               208
1820 #define EM_UNDO                                           199
1821
1822 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1823 #define EM_GETIMESTATUS                                   217
1824 #define EM_SETIMESTATUS                                   216
1825 #endif
1826
1827 #define EN_CHANGE                                         768
1828 #define EN_ERRSPACE                                      1280
1829 #define EN_HSCROLL                                       1537
1830 #define EN_KILLFOCUS                                      512
1831 #define EN_MAXTEXT                                       1281
1832 #define EN_SETFOCUS                                       256
1833 #define EN_UPDATE                                        1024
1834 #define EN_VSCROLL                                       1538
1835 #define LB_ADDFILE                                        406
1836 #define LB_ADDSTRING                                      384
1837 #define LB_DELETESTRING                                   386
1838 #define LB_DIR                                            397
1839 #define LB_FINDSTRING                                     399
1840 #define LB_FINDSTRINGEXACT                                418
1841 #define LB_GETANCHORINDEX                                 413
1842 #define LB_GETCARETINDEX                                  415
1843 #define LB_GETCOUNT                                       395
1844 #define LB_GETCURSEL                                      392
1845 #define LB_GETHORIZONTALEXTENT                            403
1846 #define LB_GETITEMDATA                                    409
1847 #define LB_GETITEMHEIGHT                                  417
1848 #define LB_GETITEMRECT                                    408
1849 #define LB_GETLOCALE                                      422
1850 #define LB_GETSEL                                         391
1851 #define LB_GETSELCOUNT                                    400
1852 #define LB_GETSELITEMS                                    401
1853 #define LB_GETTEXT                                        393
1854 #define LB_GETTEXTLEN                                     394
1855 #define LB_GETTOPINDEX                                    398
1856 #define LB_INITSTORAGE                                    424
1857 #define LB_INSERTSTRING                                   385
1858 #define LB_ITEMFROMPOINT                                  425
1859 #define LB_RESETCONTENT                                   388
1860 #define LB_SELECTSTRING                                   396
1861 #define LB_SELITEMRANGE                                   411
1862 #define LB_SELITEMRANGEEX                                 387
1863 #define LB_SETANCHORINDEX                                 412
1864 #define LB_SETCARETINDEX                                  414
1865 #define LB_SETCOLUMNWIDTH                                 405
1866 #define LB_SETCOUNT                                       423
1867 #define LB_SETCURSEL                                      390
1868 #define LB_SETHORIZONTALEXTENT                            404
1869 #define LB_SETITEMDATA                                    410
1870 #define LB_SETITEMHEIGHT                                  416
1871 #define LB_SETLOCALE                                      421
1872 #define LB_SETSEL                                         389
1873 #define LB_SETTABSTOPS                                    402
1874 #define LB_SETTOPINDEX                                    407
1875 #define LBN_DBLCLK                                          2
1876 #define LBN_ERRSPACE                                      (-2)
1877 #define LBN_KILLFOCUS                                       5
1878 #define LBN_SELCANCEL                                       3
1879 #define LBN_SELCHANGE                                       1
1880 #define LBN_SETFOCUS                                        4
1881 #define SBM_ENABLE_ARROWS                                 228
1882 #define SBM_GETPOS                                        225
1883 #define SBM_GETRANGE                                      227
1884 #define SBM_GETSCROLLINFO                                 234
1885 #define SBM_SETPOS                                        224
1886 #define SBM_SETRANGE                                      226
1887 #define SBM_SETRANGEREDRAW                                230
1888 #define SBM_SETSCROLLINFO                                 233
1889 #define STM_GETICON                                       369
1890 #define STM_GETIMAGE                                      371
1891 #define STM_SETICON                                       368
1892 #define STM_SETIMAGE                                      370
1893 #define STN_CLICKED                                         0
1894 #define STN_DBLCLK                                          1
1895 #define STN_DISABLE                                         3
1896 #define STN_ENABLE                                          2
1897 #define DM_GETDEFID                                      WM_USER
1898 #define DM_SETDEFID                                     (WM_USER+1)
1899 #define DM_REPOSITION                                   (WM_USER+2)
1900 #define PSM_PAGEINFO                                    (WM_USER+100)
1901 #define PSM_SHEETINFO                                   (WM_USER+101)
1902 #define PSI_SETACTIVE                                       1
1903 #define PSI_KILLACTIVE                                      2
1904 #define PSI_APPLY                                           3
1905 #define PSI_RESET                                           4
1906 #define PSI_HASHELP                                         5
1907 #define PSI_HELP                                            6
1908 #define PSI_CHANGED                                         1
1909 #define PSI_GUISTART                                        2
1910 #define PSI_REBOOT                                          3
1911 #define PSI_GETSIBLINGS                                     4
1912 #define DCX_WINDOW                                          1
1913 #define DCX_CACHE                                           2
1914 #define DCX_PARENTCLIP                                     32
1915 #define DCX_CLIPSIBLINGS                                   16
1916 #define DCX_CLIPCHILDREN                                    8
1917 #define DCX_NORESETATTRS                                    4
1918 #define DCX_INTERSECTUPDATE                             0x200
1919 #define DCX_LOCKWINDOWUPDATE                            0x400
1920 #define DCX_EXCLUDERGN                                     64
1921 #define DCX_INTERSECTRGN                                  128
1922 #define DCX_VALIDATE                                 0x200000
1923 #define GMDI_GOINTOPOPUPS                                   2
1924 #define GMDI_USEDISABLED                                    1
1925 #define FKF_AVAILABLE                                       2
1926 #define FKF_CLICKON                                        64
1927 #define FKF_FILTERKEYSON                                    1
1928 #define FKF_HOTKEYACTIVE                                    4
1929 #define FKF_HOTKEYSOUND                                    16
1930 #define FKF_CONFIRMHOTKEY                                   8
1931 #define FKF_INDICATOR                                      32
1932 #define HCF_HIGHCONTRASTON                                  1
1933 #define HCF_AVAILABLE                                       2
1934 #define HCF_HOTKEYACTIVE                                    4
1935 #define HCF_CONFIRMHOTKEY                                   8
1936 #define HCF_HOTKEYSOUND                                    16
1937 #define HCF_INDICATOR                                      32
1938 #define HCF_HOTKEYAVAILABLE                                64
1939 #define MKF_AVAILABLE                                       2
1940 #define MKF_CONFIRMHOTKEY                                   8
1941 #define MKF_HOTKEYACTIVE                                    4
1942 #define MKF_HOTKEYSOUND                                    16
1943 #define MKF_INDICATOR                                      32
1944 #define MKF_MOUSEKEYSON                                     1
1945 #define MKF_MODIFIERS                                      64
1946 #define MKF_REPLACENUMBERS                                128
1947 #define SERKF_ACTIVE                                        8   /* may be obsolete */
1948 #define SERKF_AVAILABLE                                     2
1949 #define SERKF_INDICATOR                                     4
1950 #define SERKF_SERIALKEYSON                                  1
1951 #define SSF_AVAILABLE                                       2
1952 #define SSF_SOUNDSENTRYON                                   1
1953 #define SSTF_BORDER                                         2
1954 #define SSTF_CHARS                                          1
1955 #define SSTF_DISPLAY                                        3
1956 #define SSTF_NONE                                           0
1957 #define SSGF_DISPLAY                                        3
1958 #define SSGF_NONE                                           0
1959 #define SSWF_CUSTOM                                         4
1960 #define SSWF_DISPLAY                                        3
1961 #define SSWF_NONE                                           0
1962 #define SSWF_TITLE                                          1
1963 #define SSWF_WINDOW                                         2
1964 #define SKF_AUDIBLEFEEDBACK                                64
1965 #define SKF_AVAILABLE                                       2
1966 #define SKF_CONFIRMHOTKEY                                   8
1967 #define SKF_HOTKEYACTIVE                                    4
1968 #define SKF_HOTKEYSOUND                                    16
1969 #define SKF_INDICATOR                                      32
1970 #define SKF_STICKYKEYSON                                    1
1971 #define SKF_TRISTATE                                      128
1972 #define SKF_TWOKEYSOFF                                    256
1973 #define TKF_AVAILABLE                                       2
1974 #define TKF_CONFIRMHOTKEY                                   8
1975 #define TKF_HOTKEYACTIVE                                    4
1976 #define TKF_HOTKEYSOUND                                    16
1977 #define TKF_TOGGLEKEYSON                                    1
1978 #define MDITILE_SKIPDISABLED                                2
1979 #define MDITILE_HORIZONTAL                                  1
1980 #define MDITILE_VERTICAL                                    0
1981 #define VK_LBUTTON                                          1
1982 #define VK_RBUTTON                                          2
1983 #define VK_CANCEL                                           3
1984 #define VK_MBUTTON                                          4
1985
1986 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
1987 #define VK_XBUTTON1                                         5
1988 #define VK_XBUTTON2                                         6
1989 #endif
1990
1991 #define VK_BACK                                             8
1992 #define VK_TAB                                              9
1993 #define VK_CLEAR                                           12
1994 #define VK_RETURN                                          13
1995 #define VK_SHIFT                                           16
1996 #define VK_CONTROL                                         17
1997 #define VK_MENU                                            18
1998 #define VK_PAUSE                                           19
1999 #define VK_CAPITAL                                         20
2000 #define VK_KANA                                          0x15
2001 #define VK_HANGEUL                                       0x15
2002 #define VK_HANGUL                                        0x15
2003 #define VK_JUNJA                                         0x17
2004 #define VK_FINAL                                         0x18
2005 #define VK_HANJA                                         0x19
2006 #define VK_KANJI                                         0x19
2007 #define VK_ESCAPE                                        0x1B
2008 #define VK_CONVERT                                       0x1C
2009 #define VK_NONCONVERT                                    0x1D
2010 #define VK_ACCEPT                                        0x1E
2011 #define VK_MODECHANGE                                    0x1F
2012 #define VK_SPACE                                           32
2013 #define VK_PRIOR                                           33
2014 #define VK_NEXT                                            34
2015 #define VK_END                                             35
2016 #define VK_HOME                                            36
2017 #define VK_LEFT                                            37
2018 #define VK_UP                                              38
2019 #define VK_RIGHT                                           39
2020 #define VK_DOWN                                            40
2021 #define VK_SELECT                                          41
2022 #define VK_PRINT                                           42
2023 #define VK_EXECUTE                                         43
2024 #define VK_SNAPSHOT                                        44
2025 #define VK_INSERT                                          45
2026 #define VK_DELETE                                          46
2027 #define VK_HELP                                            47
2028 #define VK_LWIN                                          0x5B
2029 #define VK_RWIN                                          0x5C
2030 #define VK_APPS                                          0x5D
2031 #define VK_SLEEP                                         0x5F
2032 #define VK_NUMPAD0                                       0x60
2033 #define VK_NUMPAD1                                       0x61
2034 #define VK_NUMPAD2                                       0x62
2035 #define VK_NUMPAD3                                       0x63
2036 #define VK_NUMPAD4                                       0x64
2037 #define VK_NUMPAD5                                       0x65
2038 #define VK_NUMPAD6                                       0x66
2039 #define VK_NUMPAD7                                       0x67
2040 #define VK_NUMPAD8                                       0x68
2041 #define VK_NUMPAD9                                       0x69
2042 #define VK_MULTIPLY                                      0x6A
2043 #define VK_ADD                                           0x6B
2044 #define VK_SEPARATOR                                     0x6C
2045 #define VK_SUBTRACT                                      0x6D
2046 #define VK_DECIMAL                                       0x6E
2047 #define VK_DIVIDE                                        0x6F
2048 #define VK_F1                                            0x70
2049 #define VK_F2                                            0x71
2050 #define VK_F3                                            0x72
2051 #define VK_F4                                            0x73
2052 #define VK_F5                                            0x74
2053 #define VK_F6                                            0x75
2054 #define VK_F7                                            0x76
2055 #define VK_F8                                            0x77
2056 #define VK_F9                                            0x78
2057 #define VK_F10                                           0x79
2058 #define VK_F11                                           0x7A
2059 #define VK_F12                                           0x7B
2060 #define VK_F13                                           0x7C
2061 #define VK_F14                                           0x7D
2062 #define VK_F15                                           0x7E
2063 #define VK_F16                                           0x7F
2064 #define VK_F17                                           0x80
2065 #define VK_F18                                           0x81
2066 #define VK_F19                                           0x82
2067 #define VK_F20                                           0x83
2068 #define VK_F21                                           0x84
2069 #define VK_F22                                           0x85
2070 #define VK_F23                                           0x86
2071 #define VK_F24                                           0x87
2072 #define VK_NUMLOCK                                       0x90
2073 #define VK_SCROLL                                        0x91
2074 #define VK_LSHIFT                                        0xA0
2075 #define VK_RSHIFT                                        0xA1
2076 #define VK_LCONTROL                                      0xA2
2077 #define VK_RCONTROL                                      0xA3
2078 #define VK_LMENU                                         0xA4
2079 #define VK_RMENU                                         0xA5
2080
2081 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2082 #define VK_BROWSER_BACK                                  0xA6
2083 #define VK_BROWSER_FORWARD                               0xA7
2084 #define VK_BROWSER_REFRESH                               0xA8
2085 #define VK_BROWSER_STOP                                  0xA9
2086 #define VK_BROWSER_SEARCH                                0xAA
2087 #define VK_BROWSER_FAVORITES                             0xAB
2088 #define VK_BROWSER_HOME                                  0xAC
2089 #define VK_VOLUME_MUTE                                   0xAD
2090 #define VK_VOLUME_DOWN                                   0xAE
2091 #define VK_VOLUME_UP                                     0xAF
2092 #define VK_MEDIA_NEXT_TRACK                              0xB0
2093 #define VK_MEDIA_PREV_TRACK                              0xB1
2094 #define VK_MEDIA_STOP                                    0xB2
2095 #define VK_MEDIA_PLAY_PAUSE                              0xB3
2096 #define VK_LAUNCH_MAIL                                   0xB4
2097 #define VK_LAUNCH_MEDIA_SELECT                           0xB5
2098 #define VK_LAUNCH_APP1                                   0xB6
2099 #define VK_LAUNCH_APP2                                   0xB7
2100 #endif
2101
2102 #define VK_OEM_1                                         0xBA
2103
2104 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2105 #define VK_OEM_PLUS                                      0xBB
2106 #define VK_OEM_COMMA                                     0xBC
2107 #define VK_OEM_MINUS                                     0xBD
2108 #define VK_OEM_PERIOD                                    0xBE
2109 #endif
2110
2111 #define VK_OEM_2                                         0xBF
2112 #define VK_OEM_3                                         0xC0
2113 #define VK_OEM_4                                         0xDB
2114 #define VK_OEM_5                                         0xDC
2115 #define VK_OEM_6                                         0xDD
2116 #define VK_OEM_7                                         0xDE
2117 #define VK_OEM_8                                         0xDF
2118
2119 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2120 #define VK_OEM_102                                       0xE2
2121 #endif
2122
2123 #define VK_PROCESSKEY                                    0xE5
2124
2125 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2126 #define VK_PACKET                                        0xE7
2127 #endif
2128
2129 #define VK_ATTN                                          0xF6
2130 #define VK_CRSEL                                         0xF7
2131 #define VK_EXSEL                                         0xF8
2132 #define VK_EREOF                                         0xF9
2133 #define VK_PLAY                                          0xFA
2134 #define VK_ZOOM                                          0xFB
2135 #define VK_NONAME                                        0xFC
2136 #define VK_PA1                                           0xFD
2137 #define VK_OEM_CLEAR                                     0xFE
2138 #define TME_HOVER                                           1
2139 #define TME_LEAVE                                           2
2140 #define TME_QUERY                                  0x40000000
2141 #define TME_CANCEL                                 0x80000000
2142 #define HOVER_DEFAULT                              0xFFFFFFFF
2143 #define MK_LBUTTON                                          1
2144 #define MK_RBUTTON                                          2
2145 #define MK_SHIFT                                            4
2146 #define MK_CONTROL                                          8
2147 #define MK_MBUTTON                                         16
2148
2149 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2150 #define MK_XBUTTON1                                        32
2151 #define MK_XBUTTON2                                        64
2152 #endif
2153
2154 #define TPM_CENTERALIGN                                     4
2155 #define TPM_LEFTALIGN                                       0
2156 #define TPM_RIGHTALIGN                                      8
2157 #define TPM_LEFTBUTTON                                      0
2158 #define TPM_RIGHTBUTTON                                     2
2159 #define TPM_HORIZONTAL                                      0
2160 #define TPM_VERTICAL                                       64
2161 #define TPM_TOPALIGN                                        0
2162 #define TPM_VCENTERALIGN                                   16
2163 #define TPM_BOTTOMALIGN                                    32
2164 #define TPM_NONOTIFY                                      128
2165 #define TPM_RETURNCMD                                     256
2166
2167 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
2168 #define TPM_RECURSE                                         1
2169 #endif
2170
2171 #define HELP_COMMAND                                    0x102
2172 #define HELP_CONTENTS                                       3
2173 #define HELP_CONTEXT                                        1
2174 #define HELP_CONTEXTPOPUP                                   8
2175 #define HELP_FORCEFILE                                      9
2176 #define HELP_HELPONHELP                                     4
2177 #define HELP_INDEX                                          3
2178 #define HELP_KEY                                        0x101
2179 #define HELP_MULTIKEY                                   0x201
2180 #define HELP_PARTIALKEY                                 0x105
2181 #define HELP_QUIT                                           2
2182 #define HELP_SETCONTENTS                                    5
2183 #define HELP_SETINDEX                                       5
2184 #define HELP_SETWINPOS                                  0x203
2185 #define HELP_CONTEXTMENU                                  0xA
2186 #define HELP_FINDER                                       0xB
2187 #define HELP_WM_HELP                                      0xC
2188 #define HELP_TCARD                                     0x8000
2189 #define HELP_TCARD_DATA                                    16
2190 #define HELP_TCARD_OTHER_CALLER                          0x11
2191 #define IDH_NO_HELP                                     28440
2192 #define IDH_MISSING_CONTEXT                             28441
2193 #define IDH_GENERIC_HELP_BUTTON                         28442
2194 #define IDH_OK                                          28443
2195 #define IDH_CANCEL                                      28444
2196 #define IDH_HELP                                        28445
2197 #define LB_CTLCODE                                          0
2198 #define LB_OKAY                                             0
2199 #define LB_ERR                                            (-1)
2200 #define LB_ERRSPACE                                       (-2)
2201 #define CB_OKAY                                             0
2202 #define CB_ERR                                            (-1)
2203 #define CB_ERRSPACE                                       (-2)
2204 #define HIDE_WINDOW                                         0
2205 #define SHOW_OPENWINDOW                                     1
2206 #define SHOW_ICONWINDOW                                     2
2207 #define SHOW_FULLSCREEN                                     3
2208 #define SHOW_OPENNOACTIVATE                                 4
2209 #define SW_PARENTCLOSING                                    1
2210 #define SW_OTHERZOOM                                        2
2211 #define SW_PARENTOPENING                                    3
2212 #define SW_OTHERUNZOOM                                      4
2213 #define KF_EXTENDED                                       256
2214 #define KF_DLGMODE                                       2048
2215 #define KF_MENUMODE                                      4096
2216 #define KF_ALTDOWN                                       8192
2217 #define KF_REPEAT                                       16384
2218 #define KF_UP                                           32768
2219 #define WSF_VISIBLE                                         1
2220 #define PWR_OK                                              1
2221 #define PWR_FAIL                                          (-1)
2222 #define PWR_SUSPENDREQUEST                                  1
2223 #define PWR_SUSPENDRESUME                                   2
2224 #define PWR_CRITICALRESUME                                  3
2225 #define NFR_ANSI                                            1
2226 #define NFR_UNICODE                                         2
2227 #define NF_QUERY                                            3
2228 #define NF_REQUERY                                          4
2229 #define MENULOOP_WINDOW                                     0
2230 #define MENULOOP_POPUP                                      1
2231 #define WMSZ_LEFT                                           1
2232 #define WMSZ_RIGHT                                          2
2233 #define WMSZ_TOP                                            3
2234 #define WMSZ_TOPLEFT                                        4
2235 #define WMSZ_TOPRIGHT                                       5
2236 #define WMSZ_BOTTOM                                         6
2237 #define WMSZ_BOTTOMLEFT                                     7
2238 #define WMSZ_BOTTOMRIGHT                                    8
2239 #define HTERROR                                           (-2)
2240 #define HTTRANSPARENT                                     (-1)
2241 #define HTNOWHERE                                           0
2242 #define HTCLIENT                                            1
2243 #define HTCAPTION                                           2
2244 #define HTSYSMENU                                           3
2245 #define HTGROWBOX                                           4
2246 #define HTSIZE                                              4
2247 #define HTMENU                                              5
2248 #define HTHSCROLL                                           6
2249 #define HTVSCROLL                                           7
2250 #define HTMINBUTTON                                         8
2251 #define HTMAXBUTTON                                         9
2252 #define HTREDUCE                                            8
2253 #define HTZOOM                                              9
2254 #define HTLEFT                                             10
2255 #define HTSIZEFIRST                                        10
2256 #define HTRIGHT                                            11
2257 #define HTTOP                                              12
2258 #define HTTOPLEFT                                          13
2259 #define HTTOPRIGHT                                         14
2260 #define HTBOTTOM                                           15
2261 #define HTBOTTOMLEFT                                       16
2262 #define HTBOTTOMRIGHT                                      17
2263 #define HTSIZELAST                                         17
2264 #define HTBORDER                                           18
2265 #define HTOBJECT                                           19
2266 #define HTCLOSE                                            20
2267 #define HTHELP                                             21
2268 #define MA_ACTIVATE                                         1
2269 #define MA_ACTIVATEANDEAT                                   2
2270 #define MA_NOACTIVATE                                       3
2271 #define MA_NOACTIVATEANDEAT                                 4
2272 #define SIZE_RESTORED                                       0
2273 #define SIZE_MINIMIZED                                      1
2274 #define SIZE_MAXIMIZED                                      2
2275 #define SIZE_MAXSHOW                                        3
2276 #define SIZE_MAXHIDE                                        4
2277 #define SIZENORMAL                                          0
2278 #define SIZEICONIC                                          1
2279 #define SIZEFULLSCREEN                                      2
2280 #define SIZEZOOMSHOW                                        3
2281 #define SIZEZOOMHIDE                                        4
2282 #define WVR_ALIGNTOP                                       16
2283 #define WVR_ALIGNLEFT                                      32
2284 #define WVR_ALIGNBOTTOM                                    64
2285 #define WVR_ALIGNRIGHT                                    128
2286 #define WVR_HREDRAW                                       256
2287 #define WVR_VREDRAW                                       512
2288 #define WVR_REDRAW                             (WVR_HREDRAW | WVR_VREDRAW)
2289 #define WVR_VALIDRECTS                                   1024
2290 #define PRF_CHECKVISIBLE                                    1
2291 #define PRF_NONCLIENT                                       2
2292 #define PRF_CLIENT                                          4
2293 #define PRF_ERASEBKGND                                      8
2294 #define PRF_CHILDREN                                       16
2295 #define PRF_OWNED                                          32
2296 #define IDANI_OPEN                                          1
2297 #define IDANI_CLOSE                                         2
2298 #define IDANI_CAPTION                                       3
2299 #define WPF_RESTORETOMAXIMIZED                              2
2300 #define WPF_SETMINPOSITION                                  1
2301 #define ODT_MENU                                            1
2302 #define ODT_LISTBOX                                         2
2303 #define ODT_COMBOBOX                                        3
2304 #define ODT_BUTTON                                          4
2305 #define ODT_STATIC                                          5
2306 #define ODA_DRAWENTIRE                                      1
2307 #define ODA_SELECT                                          2
2308 #define ODA_FOCUS                                           4
2309 #define ODS_SELECTED                                        1
2310 #define ODS_GRAYED                                          2
2311 #define ODS_DISABLED                                        4
2312 #define ODS_CHECKED                                         8
2313 #define ODS_FOCUS                                          16
2314 #define ODS_DEFAULT                                        32
2315 #define ODS_COMBOBOXEDIT                                 4096
2316 #define IDHOT_SNAPWINDOW                                  (-1)
2317 #define IDHOT_SNAPDESKTOP                                 (-2)
2318 #define DBWF_LPARAMPOINTER                             0x8000
2319 #define DLGWINDOWEXTRA                                     30
2320 #define MNC_IGNORE                                          0
2321 #define MNC_CLOSE                                           1
2322 #define MNC_EXECUTE                                         2
2323 #define MNC_SELECT                                          3
2324 #define DOF_EXECUTABLE                                 0x8001
2325 #define DOF_DOCUMENT                                   0x8002
2326 #define DOF_DIRECTORY                                  0x8003
2327 #define DOF_MULTIPLE                                   0x8004
2328 #define DOF_PROGMAN                                         1
2329 #define DOF_SHELLDATA                                       2
2330 #define DO_DROPFILE                                0x454C4946
2331 #define DO_PRINTFILE                               0x544E5250
2332 #define SW_SCROLLCHILDREN                                   1
2333 #define SW_INVALIDATE                                       2
2334 #define SW_ERASE                                            4
2335
2336 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
2337 #define SW_SMOOTHSCROLL                                0x0010
2338 #endif  /* >= _WIN32_WINDOWS_98 || >= _WIN32_WINNT_WIN2K */
2339
2340 #define SC_SIZE                                        0xF000
2341 #define SC_MOVE                                        0xF010
2342 #define SC_MINIMIZE                                    0xF020
2343 #define SC_ICON                                        0xf020
2344 #define SC_MAXIMIZE                                    0xF030
2345 #define SC_ZOOM                                        0xF030
2346 #define SC_NEXTWINDOW                                  0xF040
2347 #define SC_PREVWINDOW                                  0xF050
2348 #define SC_CLOSE                                       0xF060
2349 #define SC_VSCROLL                                     0xF070
2350 #define SC_HSCROLL                                     0xF080
2351 #define SC_MOUSEMENU                                   0xF090
2352 #define SC_KEYMENU                                     0xF100
2353 #define SC_ARRANGE                                     0xF110
2354 #define SC_RESTORE                                     0xF120
2355 #define SC_TASKLIST                                    0xF130
2356 #define SC_SCREENSAVE                                  0xF140
2357 #define SC_HOTKEY                                      0xF150
2358 #define SC_DEFAULT                                     0xF160
2359 #define SC_MONITORPOWER                                0xF170
2360 #define SC_CONTEXTHELP                                 0xF180
2361 #define SC_SEPARATOR                                   0xF00F
2362 #define EC_LEFTMARGIN                                       1
2363 #define EC_RIGHTMARGIN                                      2
2364 #define EC_USEFONTINFO                                 0xFFFF
2365 #define DC_HASDEFID                                    0x534B
2366 #define DLGC_WANTARROWS                                     1
2367 #define DLGC_WANTTAB                                        2
2368 #define DLGC_WANTALLKEYS                                    4
2369 #define DLGC_WANTMESSAGE                                    4
2370 #define DLGC_HASSETSEL                                      8
2371 #define DLGC_DEFPUSHBUTTON                                 16
2372 #define DLGC_UNDEFPUSHBUTTON                               32
2373 #define DLGC_RADIOBUTTON                                   64
2374 #define DLGC_WANTCHARS                                    128
2375 #define DLGC_STATIC                                       256
2376 #define DLGC_BUTTON                                    0x2000
2377 #define LB_CTLCODE                                          0
2378 #define WA_INACTIVE                                         0
2379 #define WA_ACTIVE                                           1
2380 #define WA_CLICKACTIVE                                      2
2381 #define ICON_SMALL                                          0
2382 #define ICON_BIG                                            1
2383
2384 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2385 #define ICON_SMALL2                                         2
2386 #endif
2387
2388 #define HBMMENU_CALLBACK                        ((HBITMAP)(-1))
2389 #define HBMMENU_SYSTEM                           ((HBITMAP)(1))
2390 #define HBMMENU_MBAR_RESTORE                     ((HBITMAP)(2))
2391 #define HBMMENU_MBAR_MINIMIZE                    ((HBITMAP)(3))
2392 #define HBMMENU_MBAR_CLOSE                       ((HBITMAP)(5))
2393 #define HBMMENU_MBAR_CLOSE_D                     ((HBITMAP)(6))
2394 #define HBMMENU_MBAR_MINIMIZE_D                  ((HBITMAP)(7))
2395 #define HBMMENU_POPUP_CLOSE                      ((HBITMAP)(8))
2396 #define HBMMENU_POPUP_RESTORE                    ((HBITMAP)(9))
2397 #define HBMMENU_POPUP_MAXIMIZE                  ((HBITMAP)(10))
2398 #define HBMMENU_POPUP_MINIMIZE                  ((HBITMAP)(11))
2399 #define MOD_ALT                                             1
2400 #define MOD_CONTROL                                         2
2401 #define MOD_SHIFT                                           4
2402 #define MOD_WIN                                             8
2403 #define MOD_IGNORE_ALL_MODIFIER                          1024
2404 #define MOD_ON_KEYUP                                     2048
2405 #define MOD_RIGHT                                       16384
2406 #define MOD_LEFT                                        32768
2407 #define LLKHF_EXTENDED                           (KF_EXTENDED >> 8)
2408 #define LLKHF_INJECTED                             0x00000010
2409 #define LLKHF_ALTDOWN                             (KF_ALTDOWN >> 8)
2410 #define LLKHF_UP                                       (KF_UP >> 8)
2411
2412 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2413 #define FLASHW_STOP                                         0
2414 #define FLASHW_CAPTION                                      1
2415 #define FLASHW_TRAY                                         2
2416 #define FLASHW_ALL                          (FLASHW_CAPTION | FLASHW_TRAY)
2417 #define FLASHW_TIMER                                        4
2418 #define FLASHW_TIMERNOFG                                   12
2419 #endif  /* >= _WIN32_WINNT_WIN2K */
2420
2421 #define CURSOR_SHOWING                             0x00000001
2422 #define WS_ACTIVECAPTION                           0x00000001
2423
2424 #if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
2425 #define INPUT_MOUSE                                0x00000000
2426 #define INPUT_KEYBOARD                             0x00000001
2427 #define INPUT_HARDWARE                             0x00000002
2428 #endif  /* >= _WIN32_WINNT_NT4SP3 */
2429
2430 #if WINVER >= _WIN32_WINNT_NT4 /* || _WIN32_WINDOWS_95 */
2431 #define ENDSESSION_LOGOFF                          0x80000000
2432 #endif
2433
2434 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2435 #define CHILDID_SELF                                        0
2436 #define OBJID_WINDOW                               0x00000000
2437 #define OBJID_SYSMENU                              0xFFFFFFFF
2438 #define OBJID_TITLEBAR                             0xFFFFFFFE
2439 #define OBJID_MENU                                 0xFFFFFFFD
2440 #define OBJID_CLIENT                               0xFFFFFFFC
2441 #define OBJID_VSCROLL                              0xFFFFFFFB
2442 #define OBJID_HSCROLL                              0xFFFFFFFA
2443 #define OBJID_SIZEGRIP                             0xFFFFFFF9
2444 #define OBJID_CARET                                0xFFFFFFF8
2445 #define OBJID_CURSOR                               0xFFFFFFF7
2446 #define OBJID_ALERT                                0xFFFFFFF6
2447 #define OBJID_SOUND                                0xFFFFFFF5
2448 #define GUI_CARETBLINKING                          0x00000001
2449 #define GUI_INMOVESIZE                             0x00000002
2450 #define GUI_INMENUMODE                             0x00000004
2451 #define GUI_SYSTEMMENUMODE                         0x00000008
2452 #define GUI_POPUPMENUMODE                          0x00000010
2453
2454 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2455 #define GUI_16BITTASK                              0x00000020
2456 #endif
2457
2458 #define WINEVENT_OUTOFCONTEXT                          0x0000
2459 #define WINEVENT_SKIPOWNTHREAD                         0x0001
2460 #define WINEVENT_SKIPOWNPROCESS                        0x0002
2461 #define WINEVENT_INCONTEXT                             0x0004
2462 #define AW_HOR_POSITIVE                            0x00000001
2463 #define AW_HOR_NEGATIVE                            0x00000002
2464 #define AW_VER_POSITIVE                            0x00000004
2465 #define AW_VER_NEGATIVE                            0x00000008
2466 #define AW_CENTER                                  0x00000010
2467 #define AW_HIDE                                    0x00010000
2468 #define AW_ACTIVATE                                0x00020000
2469 #define AW_SLIDE                                   0x00040000
2470 #define AW_BLEND                                   0x00080000
2471 #define DEVICE_NOTIFY_WINDOW_HANDLE                0x00000000
2472 #define DEVICE_NOTIFY_SERVICE_HANDLE               0x00000001
2473
2474 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2475 #define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES        0x00000004
2476 #endif
2477
2478 #define EVENT_MIN                                  0x00000001
2479 #define EVENT_SYSTEM_SOUND                         0x00000001
2480 #define EVENT_SYSTEM_ALERT                         0x00000002
2481 #define EVENT_SYSTEM_FOREGROUND                    0x00000003
2482 #define EVENT_SYSTEM_MENUSTART                     0x00000004
2483 #define EVENT_SYSTEM_MENUEND                       0x00000005
2484 #define EVENT_SYSTEM_MENUPOPUPSTART                0x00000006
2485 #define EVENT_SYSTEM_MENUPOPUPEND                  0x00000007
2486 #define EVENT_SYSTEM_CAPTURESTART                  0x00000008
2487 #define EVENT_SYSTEM_CAPTUREEND                    0x00000009
2488 #define EVENT_SYSTEM_MOVESIZESTART                 0x0000000A
2489 #define EVENT_SYSTEM_MOVESIZEEND                   0x0000000B
2490 #define EVENT_SYSTEM_CONTEXTHELPSTART              0x0000000C
2491 #define EVENT_SYSTEM_CONTEXTHELPEND                0x0000000D
2492 #define EVENT_SYSTEM_DRAGDROPSTART                 0x0000000E
2493 #define EVENT_SYSTEM_DRAGDROPEND                   0x0000000F
2494 #define EVENT_SYSTEM_DIALOGSTART                   0x00000010
2495 #define EVENT_SYSTEM_DIALOGEND                     0x00000011
2496 #define EVENT_SYSTEM_SCROLLINGSTART                0x00000012
2497 #define EVENT_SYSTEM_SCROLLINGEND                  0x00000013
2498 #define EVENT_SYSTEM_SWITCHSTART                   0x00000014
2499 #define EVENT_SYSTEM_SWITCHEND                     0x00000015
2500 #define EVENT_SYSTEM_MINIMIZESTART                 0x00000016
2501 #define EVENT_SYSTEM_MINIMIZEEND                   0x00000017
2502 #define EVENT_OBJECT_CREATE                        0x00008000
2503 #define EVENT_OBJECT_DESTROY                       0x00008001
2504 #define EVENT_OBJECT_SHOW                          0x00008002
2505 #define EVENT_OBJECT_HIDE                          0x00008003
2506 #define EVENT_OBJECT_REORDER                       0x00008004
2507 #define EVENT_OBJECT_FOCUS                         0x00008005
2508 #define EVENT_OBJECT_SELECTION                     0x00008006
2509 #define EVENT_OBJECT_SELECTIONADD                  0x00008007
2510 #define EVENT_OBJECT_SELECTIONREMOVE               0x00008008
2511 #define EVENT_OBJECT_SELECTIONWITHIN               0x00008009
2512 #define EVENT_OBJECT_STATECHANGE                   0x0000800A
2513 #define EVENT_OBJECT_LOCATIONCHANGE                0x0000800B
2514 #define EVENT_OBJECT_NAMECHANGE                    0x0000800C
2515 #define EVENT_OBJECT_DESCRIPTIONCHANGE             0x0000800D
2516 #define EVENT_OBJECT_VALUECHANGE                   0x0000800E
2517 #define EVENT_OBJECT_PARENTCHANGE                  0x0000800F
2518 #define EVENT_OBJECT_HELPCHANGE                    0x00008010
2519 #define EVENT_OBJECT_DEFACTIONCHANGE               0x00008011
2520 #define EVENT_OBJECT_ACCELERATORCHANGE             0x00008012
2521
2522 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2523 #define EVENT_CONSOLE_CARET                        0x00004001
2524 #define CONSOLE_CARET_SELECTION                    0x00000001
2525 #define CONSOLE_CARET_VISIBLE                      0x00000002
2526 #define EVENT_CONSOLE_UPDATE_REGION                0x00004002
2527 #define EVENT_CONSOLE_UPDATE_SIMPLE                0x00004003
2528 #define EVENT_CONSOLE_UPDATE_SCROLL                0x00004004
2529 #define EVENT_CONSOLE_LAYOUT                       0x00004005
2530 #define EVENT_CONSOLE_START_APPLICATION            0x00004006
2531 #define CONSOLE_APPLICATION_16BIT                  0x00000001
2532 #define EVENT_CONSOLE_END_APPLICATION              0x00004007
2533 #endif  /* >= _WIN32_WINNT_WINXP */
2534
2535 #define EVENT_MAX                                  0x7FFFFFFF
2536 #endif  /* >= _WIN32_WINNT_WIN2K */
2537
2538 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
2539 #define ASFW_ANY                                  ((DWORD)(-1))
2540 #define LSFW_LOCK                                           1
2541 #define LSFW_UNLOCK                                         2
2542 #endif
2543
2544 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2545 #define LWA_COLORKEY                                     0x01
2546 #define LWA_ALPHA                                        0x02
2547 #define ULW_COLORKEY                                     0x01
2548 #define ULW_ALPHA                                        0x02
2549 #define ULW_OPAQUE                                       0x04
2550 #endif
2551
2552 #define GA_PARENT                                           1
2553 #define GA_ROOT                                             2
2554 #define GA_ROOTOWNER                                        3
2555
2556 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
2557 #define MONITOR_DEFAULTTONULL                               0
2558 #define MONITOR_DEFAULTTOPRIMARY                            1
2559 #define MONITOR_DEFAULTTONEAREST                            2
2560 #define MONITORINFOF_PRIMARY                                1
2561 #define EDS_RAWMODE                                0x00000002
2562 #define ISMEX_NOSEND                               0x00000000
2563 #define ISMEX_CALLBACK                             0x00000004
2564 #define ISMEX_NOTIFY                               0x00000002
2565 #define ISMEX_REPLIED                              0x00000008
2566 #define ISMEX_SEND                                 0x00000001
2567 #endif
2568
2569 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2570 #define GR_GDIOBJECTS                                       0
2571 #define GR_USEROBJECTS                                      1
2572 #endif
2573
2574 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
2575 #define GMMP_USE_DISPLAY_POINTS                             1
2576 #define GMMP_USE_HIGH_RESOLUTION_POINTS                     2
2577 #endif
2578
2579 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2580 #define XBUTTON1                                       0x0001
2581 #define XBUTTON2                                       0x0002
2582 #endif
2583
2584 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2585 #define FE_FONTSMOOTHINGSTANDARD                       0x0001
2586 #define FE_FONTSMOOTHINGCLEARTYPE                      0x0002
2587 #define PW_CLIENTONLY                              0x00000001
2588 #define RIM_INPUT                                  0x00000000
2589 #define RIM_INPUTSINK                              0x00000001
2590 #define RIM_TYPEMOUSE                              0x00000000
2591 #define RIM_TYPEKEYBOARD                           0x00000001
2592 #define RIM_TYPEHID                                0x00000002
2593 #define MOUSE_MOVE_RELATIVE                        0x00000000
2594 #define MOUSE_MOVE_ABSOLUTE                        0x00000001
2595 #define MOUSE_VIRTUAL_DESKTOP                      0x00000002
2596 #define MOUSE_ATTRIBUTES_CHANGED                   0x00000004
2597 #define RI_MOUSE_LEFT_BUTTON_DOWN                      0x0001
2598 #define RI_MOUSE_LEFT_BUTTON_UP                        0x0002
2599 #define RI_MOUSE_RIGHT_BUTTON_DOWN                     0x0004
2600 #define RI_MOUSE_RIGHT_BUTTON_UP                       0x0008
2601 #define RI_MOUSE_MIDDLE_BUTTON_DOWN                    0x0010
2602 #define RI_MOUSE_MIDDLE_BUTTON_UP                      0x0020
2603 #define RI_MOUSE_BUTTON_1_DOWN                RI_MOUSE_LEFT_BUTTON_DOWN
2604 #define RI_MOUSE_BUTTON_1_UP                   RI_MOUSE_LEFT_BUTTON_UP
2605 #define RI_MOUSE_BUTTON_2_DOWN               RI_MOUSE_RIGHT_BUTTON_DOWN
2606 #define RI_MOUSE_BUTTON_2_UP                  RI_MOUSE_RIGHT_BUTTON_UP
2607 #define RI_MOUSE_BUTTON_3_DOWN               RI_MOUSE_MIDDLE_BUTTON_DOWN
2608 #define RI_MOUSE_BUTTON_3_UP                  RI_MOUSE_MIDDLE_BUTTON_UP
2609 #define RI_MOUSE_BUTTON_4_DOWN                         0x0040
2610 #define RI_MOUSE_BUTTON_4_UP                           0x0080
2611 #define RI_MOUSE_BUTTON_5_DOWN                         0x0100
2612 #define RI_MOUSE_BUTTON_5_UP                           0x0200
2613 #define RI_MOUSE_WHEEL                                 0x0400
2614 #define KEYBOARD_OVERRUN_MAKE_CODE                     0x00ff
2615 #define RI_KEY_MAKE                                    0x0000
2616 #define RI_KEY_BREAK                                   0x0001
2617 #define RI_KEY_E0                                      0x0002
2618 #define RI_KEY_E1                                      0x0004
2619 #define RI_KEY_TERMSRV_SET_LED                         0x0008
2620 #define RI_KEY_TERMSRV_SHADOW                          0x0010
2621 #define RID_INPUT                                  0x10000003
2622 #define RID_HEADER                                 0x10000005
2623 #define RIDI_PREPARSEDDATA                         0x20000005
2624 #define RIDI_DEVICENAME                            0x20000007
2625 #define RIDI_DEVICEINFO                            0x2000000B
2626 #define RIDEV_REMOVE                               0x00000001
2627 #define RIDEV_EXCLUDE                              0x00000010
2628 #define RIDEV_PAGEONLY                             0x00000020
2629 #define RIDEV_NOLEGACY                             0x00000030
2630 #define RIDEV_INPUTSINK                            0x00000100
2631 #define RIDEV_CAPTUREMOUSE                         0x00000200
2632 #define RIDEV_NOHOTKEYS                            0x00000200
2633 #define RIDEV_APPKEYS                              0x00000400
2634 #endif
2635
2636 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
2637 #define TOUCHEVENTF_DOWN                               0x0001
2638 #define TOUCHEVENTF_INRANGE                            0x0008
2639 #define TOUCHEVENTF_MOVE                               0x0002
2640 #define TOUCHEVENTF_NOCOALESCE                         0x0020
2641 #define TOUCHEVENTF_PALM                               0x0080
2642 #define TOUCHEVENTF_PEN                                0x0040
2643 #define TOUCHEVENTF_PRIMARY                            0x0010
2644 #define TOUCHEVENTF_UP                                 0x0004
2645
2646 #define TOUCHEVENTMASKF_CONTACTAREA                    0x0004
2647 #define TOUCHEVENTMASKF_EXTRAINFO                      0x0002
2648 #define TOUCHEVENTMASKF_TIMEFROMSYSTEM                 0x0001
2649 #endif
2650
2651 #define MAPVK_VK_TO_VSC                                     0
2652 #define MAPVK_VSC_TO_VK                                     1
2653 #define MAPVK_VK_TO_CHAR                                    2
2654 #define MAPVK_VSC_TO_VK_EX                                  3
2655 #define MAPVK_VK_TO_VSC_EX                                  4
2656
2657 #ifndef RC_INVOKED
2658 typedef BOOL (CALLBACK *DLGPROC) (HWND, UINT, WPARAM, LPARAM);
2659 typedef VOID (CALLBACK *TIMERPROC) (HWND, UINT, UINT_PTR, DWORD);
2660 typedef BOOL (CALLBACK *GRAYSTRINGPROC) (HDC, LPARAM, int);
2661 typedef LRESULT (CALLBACK *HOOKPROC) (int, WPARAM, LPARAM);
2662 typedef BOOL (CALLBACK *PROPENUMPROCA) (HWND, LPCSTR, HANDLE);
2663 typedef BOOL (CALLBACK *PROPENUMPROCW) (HWND, LPCWSTR, HANDLE);
2664 typedef BOOL (CALLBACK *PROPENUMPROCEXA) (HWND, LPSTR, HANDLE, DWORD);
2665 typedef BOOL (CALLBACK *PROPENUMPROCEXW) (HWND, LPWSTR, HANDLE, DWORD);
2666 typedef int (CALLBACK *EDITWORDBREAKPROCA) (LPSTR, int, int, int);
2667 typedef int (CALLBACK *EDITWORDBREAKPROCW) (LPWSTR, int, int, int);
2668 typedef LRESULT (CALLBACK *WNDPROC) (HWND, UINT, WPARAM, LPARAM);
2669 typedef BOOL (CALLBACK *DRAWSTATEPROC) (HDC, LPARAM, WPARAM, int, int);
2670 typedef BOOL (CALLBACK *WNDENUMPROC) (HWND, LPARAM);
2671 typedef BOOL (CALLBACK *ENUMWINDOWSPROC) (HWND, LPARAM);
2672 typedef BOOL (CALLBACK *MONITORENUMPROC) (HMONITOR, HDC, LPRECT, LPARAM);
2673 typedef BOOL (CALLBACK *NAMEENUMPROCA) (LPSTR, LPARAM);
2674 typedef BOOL (CALLBACK *NAMEENUMPROCW) (LPWSTR, LPARAM);
2675
2676 typedef NAMEENUMPROCA   DESKTOPENUMPROCA;
2677 typedef NAMEENUMPROCW   DESKTOPENUMPROCW;
2678 typedef NAMEENUMPROCA   WINSTAENUMPROCA;
2679 typedef NAMEENUMPROCW   WINSTAENUMPROCW;
2680
2681 typedef void (CALLBACK *SENDASYNCPROC) (HWND, UINT, DWORD, LRESULT);
2682
2683 DECLARE_HANDLE(HDWP);
2684 DECLARE_HANDLE(HDEVNOTIFY);
2685
2686 typedef struct tagMENUGETOBJECTINFO
2687 { DWORD                         dwFlags;
2688   UINT                          uPos;
2689   HMENU                         hmenu;
2690   PVOID                         riid;
2691   PVOID                         pvObj;
2692 } MENUGETOBJECTINFO, *PMENUGETOBJECTINFO;
2693
2694 typedef struct tagACCEL
2695 { BYTE                          fVirt;
2696   WORD                          key;
2697   WORD                          cmd;
2698 } ACCEL, *LPACCEL;
2699
2700 typedef struct tagACCESSTIMEOUT
2701 { UINT                          cbSize;
2702   DWORD                         dwFlags;
2703   DWORD                         iTimeOutMSec;
2704 } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
2705
2706 typedef struct tagANIMATIONINFO
2707 { UINT                          cbSize;
2708   int                           iMinAnimate;
2709 } ANIMATIONINFO, *LPANIMATIONINFO;
2710
2711 typedef struct tagCREATESTRUCTA
2712 { LPVOID                        lpCreateParams;
2713   HINSTANCE                     hInstance;
2714   HMENU                         hMenu;
2715   HWND                          hwndParent;
2716   int                           cy;
2717   int                           cx;
2718   int                           y;
2719   int                           x;
2720   LONG                          style;
2721   LPCSTR                        lpszName;
2722   LPCSTR                        lpszClass;
2723   DWORD                         dwExStyle;
2724 } CREATESTRUCTA, *LPCREATESTRUCTA;
2725
2726 typedef struct tagCREATESTRUCTW
2727 { LPVOID                        lpCreateParams;
2728   HINSTANCE                     hInstance;
2729   HMENU                         hMenu;
2730   HWND                          hwndParent;
2731   int                           cy;
2732   int                           cx;
2733   int                           y;
2734   int                           x;
2735   LONG                          style;
2736   LPCWSTR                       lpszName;
2737   LPCWSTR                       lpszClass;
2738   DWORD                         dwExStyle;
2739 } CREATESTRUCTW, *LPCREATESTRUCTW;
2740
2741 typedef struct tagCBT_CREATEWNDA
2742 { LPCREATESTRUCTA               lpcs;
2743   HWND                          hwndInsertAfter;
2744 } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
2745
2746 typedef struct tagCBT_CREATEWNDW
2747 { LPCREATESTRUCTW               lpcs;
2748   HWND                          hwndInsertAfter;
2749 } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
2750
2751 typedef struct tagCBTACTIVATESTRUCT
2752 { BOOL                          fMouse;
2753   HWND                          hWndActive;
2754 } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
2755
2756 typedef struct tagCLIENTCREATESTRUCT
2757 { HANDLE                        hWindowMenu;
2758   UINT                          idFirstChild;
2759 } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
2760
2761 typedef struct tagCOMPAREITEMSTRUCT
2762 { UINT                          CtlType;
2763   UINT                          CtlID;
2764   HWND                          hwndItem;
2765   UINT                          itemID1;
2766   DWORD                         itemData1;
2767   UINT                          itemID2;
2768   DWORD                         itemData2;
2769   DWORD                         dwLocaleId;
2770 } COMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT;
2771
2772 typedef struct tagCOPYDATASTRUCT
2773 { DWORD                         dwData;
2774   DWORD                         cbData;
2775   PVOID                         lpData;
2776 } COPYDATASTRUCT, *PCOPYDATASTRUCT;
2777
2778 typedef struct tagCURSORSHAPE
2779 { int                           xHotSpot;
2780   int                           yHotSpot;
2781   int                           cx;
2782   int                           cy;
2783   int                           cbWidth;
2784   BYTE                          Planes;
2785   BYTE                          BitsPixel;
2786 } CURSORSHAPE, *LPCURSORSHAPE;
2787
2788 typedef struct tagCWPRETSTRUCT
2789 { LRESULT                       lResult;
2790   LPARAM                        lParam;
2791   WPARAM                        wParam;
2792   DWORD                         message;
2793   HWND                          hwnd;
2794 } CWPRETSTRUCT;
2795
2796 typedef struct tagCWPSTRUCT
2797 { LPARAM                        lParam;
2798   WPARAM                        wParam;
2799   UINT                          message;
2800   HWND                          hwnd;
2801 } CWPSTRUCT, *PCWPSTRUCT;
2802
2803 typedef struct tagDEBUGHOOKINFO
2804 { DWORD                         idThread;
2805   DWORD                         idThreadInstaller;
2806   LPARAM                        lParam;
2807   WPARAM                        wParam;
2808   int                           code;
2809 } DEBUGHOOKINFO, *PDEBUGHOOKINFO, *LPDEBUGHOOKINFO;
2810
2811 typedef struct tagDELETEITEMSTRUCT
2812 { UINT                          CtlType;
2813   UINT                          CtlID;
2814   UINT                          itemID;
2815   HWND                          hwndItem;
2816   UINT                          itemData;
2817 } DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
2818
2819 #pragma pack(push,2)
2820
2821 typedef struct
2822 { DWORD                         style;
2823   DWORD                         dwExtendedStyle;
2824   short                         x;
2825   short                         y;
2826   short                         cx;
2827   short                         cy;
2828   WORD                          id;
2829 } DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE;
2830
2831 typedef struct
2832 { DWORD                         style;
2833   DWORD                         dwExtendedStyle;
2834   WORD                          cdit;
2835   short                         x;
2836   short                         y;
2837   short                         cx;
2838   short                         cy;
2839 } DLGTEMPLATE, *LPDLGTEMPLATE, *LPDLGTEMPLATEA, *LPDLGTEMPLATEW;
2840
2841 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
2842
2843 #pragma pack(pop)
2844
2845 typedef struct tagDRAWITEMSTRUCT
2846 { UINT                          CtlType;
2847   UINT                          CtlID;
2848   UINT                          itemID;
2849   UINT                          itemAction;
2850   UINT                          itemState;
2851   HWND                          hwndItem;
2852   HDC                           hDC;
2853   RECT                          rcItem;
2854   DWORD                         itemData;
2855 } DRAWITEMSTRUCT, *LPDRAWITEMSTRUCT, *PDRAWITEMSTRUCT;
2856
2857 typedef struct
2858 { UINT                          cbSize;
2859   int                           iTabLength;
2860   int                           iLeftMargin;
2861   int                           iRightMargin;
2862   UINT                          uiLengthDrawn;
2863 } DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
2864
2865 typedef struct tagPAINTSTRUCT
2866 { HDC                           hdc;
2867   BOOL                          fErase;
2868   RECT                          rcPaint;
2869   BOOL                          fRestore;
2870   BOOL                          fIncUpdate;
2871   BYTE                          rgbReserved[32];
2872 } PAINTSTRUCT, *LPPAINTSTRUCT;
2873
2874 typedef struct tagMSG
2875 { HWND                          hwnd;
2876   UINT                          message;
2877   WPARAM                        wParam;
2878   LPARAM                        lParam;
2879   DWORD                         time;
2880   POINT                         pt;
2881 } MSG, *LPMSG, *PMSG;
2882
2883 typedef struct _ICONINFO
2884 { BOOL                          fIcon;
2885   DWORD                         xHotspot;
2886   DWORD                         yHotspot;
2887   HBITMAP                       hbmMask;
2888   HBITMAP                       hbmColor;
2889 } ICONINFO, *PICONINFO;
2890
2891 typedef struct tagNMHDR
2892 { HWND                          hwndFrom;
2893   UINT                          idFrom;
2894   UINT                          code;
2895 } NMHDR, *LPNMHDR;
2896
2897 typedef struct _WNDCLASSA
2898 { UINT                          style;
2899   WNDPROC                       lpfnWndProc;
2900   int                           cbClsExtra;
2901   int                           cbWndExtra;
2902   HINSTANCE                     hInstance;
2903   HICON                         hIcon;
2904   HCURSOR                       hCursor;
2905   HBRUSH                        hbrBackground;
2906   LPCSTR                        lpszMenuName;
2907   LPCSTR                        lpszClassName;
2908 } WNDCLASSA, *LPWNDCLASSA, *PWNDCLASSA;
2909
2910 typedef struct _WNDCLASSW
2911 { UINT                          style;
2912   WNDPROC                       lpfnWndProc;
2913   int                           cbClsExtra;
2914   int                           cbWndExtra;
2915   HINSTANCE                     hInstance;
2916   HICON                         hIcon;
2917   HCURSOR                       hCursor;
2918   HBRUSH                        hbrBackground;
2919   LPCWSTR                       lpszMenuName;
2920   LPCWSTR                       lpszClassName;
2921 } WNDCLASSW, *LPWNDCLASSW, *PWNDCLASSW;
2922
2923 typedef struct _WNDCLASSEXA
2924 { UINT                          cbSize;
2925   UINT                          style;
2926   WNDPROC                       lpfnWndProc;
2927   int                           cbClsExtra;
2928   int                           cbWndExtra;
2929   HINSTANCE                     hInstance;
2930   HICON                         hIcon;
2931   HCURSOR                       hCursor;
2932   HBRUSH                        hbrBackground;
2933   LPCSTR                        lpszMenuName;
2934   LPCSTR                        lpszClassName;
2935   HICON                         hIconSm;
2936 } WNDCLASSEXA, *LPWNDCLASSEXA, *PWNDCLASSEXA;
2937
2938 typedef struct _WNDCLASSEXW
2939 { UINT                          cbSize;
2940   UINT                          style;
2941   WNDPROC                       lpfnWndProc;
2942   int                           cbClsExtra;
2943   int                           cbWndExtra;
2944   HINSTANCE                     hInstance;
2945   HICON                         hIcon;
2946   HCURSOR                       hCursor;
2947   HBRUSH                        hbrBackground;
2948   LPCWSTR                       lpszMenuName;
2949   LPCWSTR                       lpszClassName;
2950   HICON                         hIconSm;
2951 } WNDCLASSEXW, *LPWNDCLASSEXW, *PWNDCLASSEXW;
2952
2953 typedef struct tagMENUITEMINFOA
2954 { UINT                          cbSize;
2955   UINT                          fMask;
2956   UINT                          fType;
2957   UINT                          fState;
2958   UINT                          wID;
2959   HMENU                         hSubMenu;
2960   HBITMAP                       hbmpChecked;
2961   HBITMAP                       hbmpUnchecked;
2962   ULONG_PTR                     dwItemData;
2963   LPSTR                         dwTypeData;
2964   UINT                          cch;
2965 # if            _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2966   HBITMAP                       hbmpItem;
2967 # endif
2968 } MENUITEMINFOA, *LPMENUITEMINFOA;
2969
2970 typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
2971
2972 typedef struct tagMENUITEMINFOW
2973 { UINT                          cbSize;
2974   UINT                          fMask;
2975   UINT                          fType;
2976   UINT                          fState;
2977   UINT                          wID;
2978   HMENU                         hSubMenu;
2979   HBITMAP                       hbmpChecked;
2980   HBITMAP                       hbmpUnchecked;
2981   ULONG_PTR                     dwItemData;
2982   LPWSTR                        dwTypeData;
2983   UINT                          cch;
2984 # if            _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2985   HBITMAP                       hbmpItem;
2986 # endif
2987 } MENUITEMINFOW, *LPMENUITEMINFOW;
2988
2989 typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
2990
2991 typedef struct tagSCROLLINFO
2992 { UINT                          cbSize;
2993   UINT                          fMask;
2994   int                           nMin;
2995   int                           nMax;
2996   UINT                          nPage;
2997   int                           nPos;
2998   int                           nTrackPos;
2999 } SCROLLINFO, *LPSCROLLINFO;
3000
3001 typedef const SCROLLINFO *LPCSCROLLINFO;
3002
3003 typedef struct _WINDOWPLACEMENT
3004 { UINT                          length;
3005   UINT                          flags;
3006   UINT                          showCmd;
3007   POINT                         ptMinPosition;
3008   POINT                         ptMaxPosition;
3009   RECT                          rcNormalPosition;
3010 } WINDOWPLACEMENT, *LPWINDOWPLACEMENT, *PWINDOWPLACEMENT;
3011
3012 typedef struct
3013 { WORD                          versionNumber;
3014   WORD                          offset;
3015 } MENUITEMTEMPLATEHEADER;
3016
3017 typedef struct
3018 { WORD                          mtOption;
3019   WORD                          mtID;
3020   WCHAR                         mtString[1];
3021 } MENUITEMTEMPLATE;
3022
3023 typedef void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW;
3024 typedef void *LPMENUTEMPLATE, *LPMENUTEMPLATEA, *LPMENUTEMPLATEW;
3025
3026 typedef struct tagHELPINFO
3027 { UINT                          cbSize;
3028   int                           iContextType;
3029   int                           iCtrlId;
3030   HANDLE                        hItemHandle;
3031   DWORD                         dwContextId;
3032   POINT                         MousePos;
3033 } HELPINFO, *LPHELPINFO;
3034
3035 typedef void (CALLBACK *MSGBOXCALLBACK) (LPHELPINFO);
3036
3037 typedef struct
3038 { UINT                          cbSize;
3039   HWND                          hwndOwner;
3040   HINSTANCE                     hInstance;
3041   LPCSTR                        lpszText;
3042   LPCSTR                        lpszCaption;
3043   DWORD                         dwStyle;
3044   LPCSTR                        lpszIcon;
3045   DWORD                         dwContextHelpId;
3046   MSGBOXCALLBACK                lpfnMsgBoxCallback;
3047   DWORD                         dwLanguageId;
3048 } MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
3049
3050 typedef struct
3051 { UINT                          cbSize;
3052   HWND                          hwndOwner;
3053   HINSTANCE                     hInstance;
3054   LPCWSTR                       lpszText;
3055   LPCWSTR                       lpszCaption;
3056   DWORD                         dwStyle;
3057   LPCWSTR                       lpszIcon;
3058   DWORD                         dwContextHelpId;
3059   MSGBOXCALLBACK                lpfnMsgBoxCallback;
3060   DWORD                         dwLanguageId;
3061 } MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
3062
3063 typedef struct tagUSEROBJECTFLAGS
3064 { BOOL                          fInherit;
3065   BOOL                          fReserved;
3066   DWORD                         dwFlags;
3067 } USEROBJECTFLAGS;
3068
3069 typedef struct tagFILTERKEYS
3070 { UINT                          cbSize;
3071   DWORD                         dwFlags;
3072   DWORD                         iWaitMSec;
3073   DWORD                         iDelayMSec;
3074   DWORD                         iRepeatMSec;
3075   DWORD                         iBounceMSec;
3076 } FILTERKEYS;
3077
3078 typedef struct tagHIGHCONTRASTA
3079 { UINT                          cbSize;
3080   DWORD                         dwFlags;
3081   LPSTR                         lpszDefaultScheme;
3082 } HIGHCONTRASTA, *LPHIGHCONTRASTA;
3083
3084 typedef struct tagHIGHCONTRASTW
3085 { UINT                          cbSize;
3086   DWORD                         dwFlags;
3087   LPWSTR                        lpszDefaultScheme;
3088 } HIGHCONTRASTW, *LPHIGHCONTRASTW;
3089
3090 #ifndef NOGDI
3091 typedef struct tagICONMETRICSA
3092 { UINT                          cbSize;
3093   int                           iHorzSpacing;
3094   int                           iVertSpacing;
3095   int                           iTitleWrap;
3096   LOGFONTA                      lfFont;
3097 } ICONMETRICSA, *LPICONMETRICSA;
3098
3099 typedef struct tagICONMETRICSW
3100 { UINT                          cbSize;
3101   int                           iHorzSpacing;
3102   int                           iVertSpacing;
3103   int                           iTitleWrap;
3104   LOGFONTW                      lfFont;
3105 } ICONMETRICSW, *LPICONMETRICSW;
3106 #endif  /*  NOGDI */
3107
3108 typedef struct tagMINIMIZEDMETRICS
3109 { UINT                          cbSize;
3110   int                           iWidth;
3111   int                           iHorzGap;
3112   int                           iVertGap;
3113   int                           iArrange;
3114 } MINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
3115
3116 typedef struct tagMOUSEKEYS
3117 { UINT                          cbSize;
3118   DWORD                         dwFlags;
3119   DWORD                         iMaxSpeed;
3120   DWORD                         iTimeToMaxSpeed;
3121   DWORD                         iCtrlSpeed;
3122   DWORD                         dwReserved1;
3123   DWORD                         dwReserved2;
3124 } MOUSEKEYS, *LPMOUSEKEYS;
3125
3126 #ifndef NOGDI
3127 typedef struct tagNONCLIENTMETRICSA
3128 { UINT                          cbSize;
3129   int                           iBorderWidth;
3130   int                           iScrollWidth;
3131   int                           iScrollHeight;
3132   int                           iCaptionWidth;
3133   int                           iCaptionHeight;
3134   LOGFONTA                      lfCaptionFont;
3135   int                           iSmCaptionWidth;
3136   int                           iSmCaptionHeight;
3137   LOGFONTA                      lfSmCaptionFont;
3138   int                           iMenuWidth;
3139   int                           iMenuHeight;
3140   LOGFONTA                      lfMenuFont;
3141   LOGFONTA                      lfStatusFont;
3142   LOGFONTA                      lfMessageFont;
3143 } NONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
3144
3145 typedef struct tagNONCLIENTMETRICSW
3146 { UINT                          cbSize;
3147   int                           iBorderWidth;
3148   int                           iScrollWidth;
3149   int                           iScrollHeight;
3150   int                           iCaptionWidth;
3151   int                           iCaptionHeight;
3152   LOGFONTW                      lfCaptionFont;
3153   int                           iSmCaptionWidth;
3154   int                           iSmCaptionHeight;
3155   LOGFONTW                      lfSmCaptionFont;
3156   int                           iMenuWidth;
3157   int                           iMenuHeight;
3158   LOGFONTW                      lfMenuFont;
3159   LOGFONTW                      lfStatusFont;
3160   LOGFONTW                      lfMessageFont;
3161 } NONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
3162 #endif
3163
3164 typedef struct tagSERIALKEYSA
3165 { UINT                          cbSize;
3166   DWORD                         dwFlags;
3167   LPSTR                         lpszActivePort;
3168   LPSTR                         lpszPort;
3169   UINT                          iBaudRate;
3170   UINT                          iPortState;
3171   UINT                          iActive;
3172 } SERIALKEYSA, *LPSERIALKEYSA;
3173
3174 typedef struct tagSERIALKEYSW
3175 { UINT                          cbSize;
3176   DWORD                         dwFlags;
3177   LPWSTR                        lpszActivePort;
3178   LPWSTR                        lpszPort;
3179   UINT                          iBaudRate;
3180   UINT                          iPortState;
3181   UINT                          iActive;
3182 } SERIALKEYSW, *LPSERIALKEYSW;
3183
3184 typedef struct tagSOUNDSENTRYA
3185 { UINT                          cbSize;
3186   DWORD                         dwFlags;
3187   DWORD                         iFSTextEffect;
3188   DWORD                         iFSTextEffectMSec;
3189   DWORD                         iFSTextEffectColorBits;
3190   DWORD                         iFSGrafEffect;
3191   DWORD                         iFSGrafEffectMSec;
3192   DWORD                         iFSGrafEffectColor;
3193   DWORD                         iWindowsEffect;
3194   DWORD                         iWindowsEffectMSec;
3195   LPSTR                         lpszWindowsEffectDLL;
3196   DWORD                         iWindowsEffectOrdinal;
3197 } SOUNDSENTRYA, *LPSOUNDSENTRYA;
3198
3199 typedef struct tagSOUNDSENTRYW
3200 { UINT                          cbSize;
3201   DWORD                         dwFlags;
3202   DWORD                         iFSTextEffect;
3203   DWORD                         iFSTextEffectMSec;
3204   DWORD                         iFSTextEffectColorBits;
3205   DWORD                         iFSGrafEffect;
3206   DWORD                         iFSGrafEffectMSec;
3207   DWORD                         iFSGrafEffectColor;
3208   DWORD                         iWindowsEffect;
3209   DWORD                         iWindowsEffectMSec;
3210   LPWSTR                        lpszWindowsEffectDLL;
3211   DWORD                         iWindowsEffectOrdinal;
3212 } SOUNDSENTRYW, *LPSOUNDSENTRYW;
3213
3214 typedef struct tagSTICKYKEYS
3215 { DWORD                         cbSize;
3216   DWORD                         dwFlags;
3217 } STICKYKEYS, *LPSTICKYKEYS;
3218
3219 typedef struct tagTOGGLEKEYS
3220 { DWORD                         cbSize;
3221   DWORD                         dwFlags;
3222 } TOGGLEKEYS;
3223
3224 typedef struct tagMOUSEHOOKSTRUCT
3225 { POINT                         pt;
3226   HWND                          hwnd;
3227   UINT                          wHitTestCode;
3228   DWORD                         dwExtraInfo;
3229 } MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
3230
3231 typedef struct tagTRACKMOUSEEVENT
3232 { DWORD                         cbSize;
3233   DWORD                         dwFlags;
3234   HWND                          hwndTrack;
3235   DWORD                         dwHoverTime;
3236 } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
3237
3238 typedef struct tagTPMPARAMS
3239 { UINT                          cbSize;
3240   RECT                          rcExclude;
3241 } TPMPARAMS, *LPTPMPARAMS;
3242
3243 typedef struct tagEVENTMSG
3244 { UINT                          message;
3245   UINT                          paramL;
3246   UINT                          paramH;
3247   DWORD                         time;
3248   HWND                          hwnd;
3249 } EVENTMSG, *PEVENTMSGMSG, *LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG;
3250
3251 typedef struct _WINDOWPOS
3252 { HWND                          hwnd;
3253   HWND                          hwndInsertAfter;
3254   int                           x;
3255   int                           y;
3256   int                           cx;
3257   int                           cy;
3258   UINT                          flags;
3259 } WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
3260
3261 typedef struct tagNCCALCSIZE_PARAMS
3262 { RECT                          rgrc[3];
3263   PWINDOWPOS                    lppos;
3264 } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
3265
3266 typedef struct tagMDICREATESTRUCTA
3267 { LPCSTR                        szClass;
3268   LPCSTR                        szTitle;
3269   HANDLE                        hOwner;
3270   int                           x;
3271   int                           y;
3272   int                           cx;
3273   int                           cy;
3274   DWORD                         style;
3275   LPARAM                        lParam;
3276 } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
3277
3278 typedef struct tagMDICREATESTRUCTW
3279 { LPCWSTR                       szClass;
3280   LPCWSTR                       szTitle;
3281   HANDLE                        hOwner;
3282   int                           x;
3283   int                           y;
3284   int                           cx;
3285   int                           cy;
3286   DWORD                         style;
3287   LPARAM                        lParam;
3288 } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
3289
3290 typedef struct tagMINMAXINFO
3291 { POINT                         ptReserved;
3292   POINT                         ptMaxSize;
3293   POINT                         ptMaxPosition;
3294   POINT                         ptMinTrackSize;
3295   POINT                         ptMaxTrackSize;
3296 } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
3297
3298 typedef struct tagMDINEXTMENU
3299 { HMENU                         hmenuIn;
3300   HMENU                         hmenuNext;
3301   HWND                          hwndNext;
3302 } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
3303
3304 typedef struct tagMEASUREITEMSTRUCT
3305 { UINT                          CtlType;
3306   UINT                          CtlID;
3307   UINT                          itemID;
3308   UINT                          itemWidth;
3309   UINT                          itemHeight;
3310   DWORD                         itemData;
3311 } MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
3312
3313 typedef struct tagDROPSTRUCT
3314 { HWND                          hwndSource;
3315   HWND                          hwndSink;
3316   DWORD                         wFmt;
3317   DWORD                         dwData;
3318   POINT                         ptDrop;
3319   DWORD                         dwControlData;
3320 } DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
3321
3322 typedef DWORD HELPPOLY;
3323
3324 typedef struct tagMULTIKEYHELPA
3325 { DWORD                         mkSize;
3326   CHAR                          mkKeylist;
3327   CHAR                          szKeyphrase[1];
3328 } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
3329
3330 typedef struct tagMULTIKEYHELPW
3331 { DWORD                         mkSize;
3332   WCHAR                         mkKeylist;
3333   WCHAR                         szKeyphrase[1];
3334 } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
3335
3336 typedef struct tagHELPWININFOA
3337 { int                           wStructSize;
3338   int                           x;
3339   int                           y;
3340   int                           dx;
3341   int                           dy;
3342   int                           wMax;
3343   CHAR                          rgchMember[2];
3344 } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
3345
3346 typedef struct tagHELPWININFOW
3347 { int                           wStructSize;
3348   int                           x;
3349   int                           y;
3350   int                           dx;
3351   int                           dy;
3352   int                           wMax;
3353   WCHAR                         rgchMember[2];
3354 } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
3355
3356 typedef struct tagSTYLESTRUCT
3357 { DWORD                         styleOld;
3358   DWORD                         styleNew;
3359 } STYLESTRUCT, *LPSTYLESTRUCT;
3360
3361 typedef struct tagALTTABINFO
3362 { DWORD                         cbSize;
3363   int                           cItems;
3364   int                           cColumns;
3365   int                           cRows;
3366   int                           iColFocus;
3367   int                           iRowFocus;
3368   int                           cxItem;
3369   int                           cyItem;
3370   POINT                         ptStart;
3371 } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
3372
3373 typedef struct tagCOMBOBOXINFO
3374 { DWORD                         cbSize;
3375   RECT                          rcItem;
3376   RECT                          rcButton;
3377   DWORD                         stateButton;
3378   HWND                          hwndCombo;
3379   HWND                          hwndItem;
3380   HWND                          hwndList;
3381 } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
3382
3383 typedef struct tagCURSORINFO
3384 { DWORD                         cbSize;
3385   DWORD                         flags;
3386   HCURSOR                       hCursor;
3387   POINT                         ptScreenPos;
3388 } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
3389
3390 typedef struct tagMENUBARINFO
3391 { DWORD                         cbSize;
3392   RECT                          rcBar;
3393   HMENU                         hMenu;
3394   HWND                          hwndMenu;
3395   BOOL                          fBarFocused:1;
3396   BOOL                          fFocused:1;
3397 } MENUBARINFO, *PMENUBARINFO;
3398
3399 typedef struct tagMENUINFO
3400 { DWORD                         cbSize;
3401   DWORD                         fMask;
3402   DWORD                         dwStyle;
3403   UINT                          cyMax;
3404   HBRUSH                        hbrBack;
3405   DWORD                         dwContextHelpID;
3406   ULONG_PTR                     dwMenuData;
3407 } MENUINFO, *LPMENUINFO;
3408
3409 typedef MENUINFO CONST *LPCMENUINFO;
3410
3411 #define CCHILDREN_SCROLLBAR     5
3412
3413 typedef struct tagSCROLLBARINFO
3414 { DWORD                         cbSize;
3415   RECT                          rcScrollBar;
3416   int                           dxyLineButton;
3417   int                           xyThumbTop;
3418   int                           xyThumbBottom;
3419   int                           reserved;
3420   DWORD                         rgstate[CCHILDREN_SCROLLBAR+1];
3421 } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
3422
3423 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_98
3424 #define CCHILDREN_TITLEBAR      5
3425 typedef struct tagTITLEBARINFO
3426 { DWORD                         cbSize;
3427   RECT                          rcTitleBar;
3428   DWORD                         rgstate[CCHILDREN_TITLEBAR+1];
3429 } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
3430 #endif
3431
3432 typedef struct tagWINDOWINFO
3433 { DWORD                         cbSize;
3434   RECT                          rcWindow;
3435   RECT                          rcClient;
3436   DWORD                         dwStyle;
3437   DWORD                         dwExStyle;
3438   DWORD                         dwWindowStatus;
3439   UINT                          cxWindowBorders;
3440   UINT                          cyWindowBorders;
3441   ATOM                          atomWindowType;
3442   WORD                          wCreatorVersion;
3443 } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
3444
3445 typedef struct tagLASTINPUTINFO
3446 { UINT                          cbSize;
3447   DWORD                         dwTime;
3448 } LASTINPUTINFO, *PLASTINPUTINFO;
3449
3450 typedef struct tagMONITORINFO
3451 { DWORD                         cbSize;
3452   RECT                          rcMonitor;
3453   RECT                          rcWork;
3454   DWORD                         dwFlags;
3455 } MONITORINFO, *LPMONITORINFO;
3456
3457 #define CCHDEVICENAME           32
3458
3459 #ifdef __cplusplus
3460 typedef struct tagMONITORINFOEXA : public tagMONITORINFO
3461 { CHAR                          szDevice[CCHDEVICENAME];
3462 } MONITORINFOEXA, *LPMONITORINFOEXA;
3463
3464 typedef struct tagMONITORINFOEXW : public tagMONITORINFO
3465 { WCHAR                         szDevice[CCHDEVICENAME];
3466 } MONITORINFOEXW, *LPMONITORINFOEXW;
3467
3468 #else   /* !__cplusplus */
3469 typedef struct tagMONITORINFOEXA
3470 { DWORD                         cbSize;
3471   RECT                          rcMonitor;
3472   RECT                          rcWork;
3473   DWORD                         dwFlags;
3474   CHAR                          szDevice[CCHDEVICENAME];
3475 } MONITORINFOEXA, *LPMONITORINFOEXA;
3476
3477 typedef struct tagMONITORINFOEXW
3478 { DWORD                         cbSize;
3479   RECT                          rcMonitor;
3480   RECT                          rcWork;
3481   DWORD                         dwFlags;
3482   WCHAR                         szDevice[CCHDEVICENAME];
3483 } MONITORINFOEXW, *LPMONITORINFOEXW;
3484 #endif  /* !__cplusplus */
3485
3486 typedef struct tagKBDLLHOOKSTRUCT
3487 { DWORD                         vkCode;
3488   DWORD                         scanCode;
3489   DWORD                         flags;
3490   DWORD                         time;
3491   DWORD                         dwExtraInfo;
3492 } KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
3493
3494 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
3495 typedef struct
3496 { UINT                          cbSize;
3497   HWND                          hwnd;
3498   DWORD                         dwFlags;
3499   UINT                          uCount;
3500   DWORD                         dwTimeout;
3501 } FLASHWINFO, *PFLASHWINFO;
3502 #endif  /* >= _WIN32_WINNT_WIN2K || >= _WIN32_WINDOWS_98 */
3503
3504 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
3505 typedef struct tagMOUSEMOVEPOINT
3506 { int                           x;
3507   int                           y;
3508   DWORD                         time;
3509   ULONG_PTR                     dwExtraInfo;
3510 } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, *LPMOUSEMOVEPOINT;
3511 #endif
3512
3513 #if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
3514 typedef struct tagMOUSEINPUT
3515 { LONG                          dx;
3516   LONG                          dy;
3517   DWORD                         mouseData;
3518   DWORD                         dwFlags;
3519   DWORD                         time;
3520   ULONG_PTR                     dwExtraInfo;
3521 } MOUSEINPUT, *PMOUSEINPUT;
3522
3523 typedef struct tagKEYBDINPUT
3524 { WORD                          wVk;
3525   WORD                          wScan;
3526   DWORD                         dwFlags;
3527   DWORD                         time;
3528   ULONG_PTR                     dwExtraInfo;
3529 } KEYBDINPUT, *PKEYBDINPUT;
3530
3531 typedef struct tagHARDWAREINPUT
3532 { DWORD                         uMsg;
3533   WORD                          wParamL;
3534   WORD                          wParamH;
3535 } HARDWAREINPUT, *PHARDWAREINPUT;
3536
3537 typedef struct tagINPUT
3538 { DWORD                         type;
3539   _ANONYMOUS_UNION union
3540   { MOUSEINPUT                    mi;
3541     KEYBDINPUT                    ki;
3542     HARDWAREINPUT                 hi;
3543   } DUMMYUNIONNAME;
3544 } INPUT, *PINPUT, *LPINPUT;
3545 #endif  /* >= _WIN32_WINNT_NT4SP3 */
3546
3547 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
3548 typedef struct _TOUCHINPUT
3549 { LONG                          x;
3550   LONG                          y;
3551   HANDLE                        hSource;
3552   DWORD                         dwID;
3553   DWORD                         dwFlags;
3554   DWORD                         dwMask;
3555   DWORD                         dwTime;
3556   ULONG_PTR                     dwExtraInfo;
3557   DWORD                         cxContact;
3558   DWORD                         cyContact;
3559 } TOUCHINPUT, *PTOUCHINPUT;
3560 #endif  /* >= _WIN32_WINNT_WIN7 */
3561
3562 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
3563 typedef struct tagGUITHREADINFO
3564 { DWORD                         cbSize;
3565   DWORD                         flags;
3566   HWND                          hwndActive;
3567   HWND                          hwndFocus;
3568   HWND                          hwndCapture;
3569   HWND                          hwndMenuOwner;
3570   HWND                          hwndMoveSize;
3571   HWND                          hwndCaret;
3572   RECT                          rcCaret;
3573 } GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
3574
3575 typedef VOID (CALLBACK *WINEVENTPROC) (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD);
3576 #endif  /* >= _WIN32_WINNT_WIN2K */
3577
3578 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
3579 typedef struct
3580 { UINT                          cbSize;
3581   HDESK                         hdesk;
3582   HWND                          hwnd;
3583   LUID                          luid;
3584 } BSMINFO, *PBSMINFO;
3585
3586 DECLARE_HANDLE(HRAWINPUT);
3587
3588 typedef struct tagRAWINPUTHEADER
3589 { DWORD                         dwType;
3590   DWORD                         dwSize;
3591   HANDLE                        hDevice;
3592   WPARAM                        wParam;
3593 } RAWINPUTHEADER, *PRAWINPUTHEADER;
3594
3595 typedef struct tagRAWMOUSE
3596 { USHORT                        usFlags;
3597   _ANONYMOUS_UNION union
3598   { ULONG                         ulButtons;
3599     _ANONYMOUS_STRUCT struct
3600     { USHORT                        usButtonFlags;
3601       USHORT                        usButtonData;
3602     };
3603   };
3604   ULONG                         ulRawButtons;
3605   LONG                          lLastX;
3606   LONG                          lLastY;
3607   ULONG                         ulExtraInformation;
3608 } RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
3609
3610 typedef struct tagRAWKEYBOARD
3611 { USHORT                        MakeCode;
3612   USHORT                        Flags;
3613   USHORT                        Reserved;
3614   USHORT                        VKey;
3615   UINT                          Message;
3616   ULONG                         ExtraInformation;
3617 } RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
3618
3619 typedef struct tagRAWHID
3620 { DWORD                         dwSizeHid;
3621   DWORD                         dwCount;
3622   BYTE                          bRawData;
3623 } RAWHID, *PRAWHID, *LPRAWHID;
3624
3625 typedef struct tagRAWINPUT
3626 { RAWINPUTHEADER                header;
3627   union
3628   { RAWMOUSE                      mouse;
3629     RAWKEYBOARD                   keyboard;
3630     RAWHID                        hid;
3631   }                             data;
3632 } RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
3633
3634 typedef struct tagRAWINPUTDEVICE
3635 { USHORT                        usUsagePage;
3636   USHORT                        usUsage;
3637   DWORD                         dwFlags;
3638   HWND                          hwndTarget;
3639 } RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;
3640
3641 typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
3642
3643 typedef struct tagRAWINPUTDEVICELIST
3644 { HANDLE                        hDevice;
3645   DWORD                         dwType;
3646 } RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
3647
3648 typedef struct tagRID_DEVICE_INFO_MOUSE
3649 { DWORD                         dwId;
3650   DWORD                         dwNumberOfButtons;
3651   DWORD                         dwSampleRate;
3652   BOOL                          fHasHorizontalWheel;
3653 } RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
3654
3655 typedef struct tagRID_DEVICE_INFO_KEYBOARD
3656 { DWORD                         dwType;
3657   DWORD                         dwSubType;
3658   DWORD                         dwKeyboardMode;
3659   DWORD                         dwNumberOfFunctionKeys;
3660   DWORD                         dwNumberOfIndicators;
3661   DWORD                         dwNumberOfKeysTotal;
3662 } RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
3663
3664 typedef struct tagRID_DEVICE_INFO_HID
3665 { DWORD                         dwVendorId;
3666   DWORD                         dwProductId;
3667   DWORD                         dwVersionNumber;
3668   USHORT                        usUsagePage;
3669   USHORT                        usUsage;
3670 } RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
3671
3672 typedef struct tagRID_DEVICE_INFO
3673 { DWORD                         cbSize;
3674   DWORD                         dwType;
3675   _ANONYMOUS_UNION union
3676   { RID_DEVICE_INFO_MOUSE         mouse;
3677     RID_DEVICE_INFO_KEYBOARD      keyboard;
3678     RID_DEVICE_INFO_HID           hid;
3679   } DUMMYUNIONNAME;
3680 } RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
3681 #endif  /* >= _WIN32_WINNT_WINXP */
3682
3683 typedef struct
3684 { POINT                         pt;
3685   DWORD                         mouseData;
3686   DWORD                         flags;
3687   DWORD                         time;
3688   ULONG_PTR                     dwExtraInfo;
3689 } MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
3690
3691 #define AnsiToOem CharToOemA
3692 #define OemToAnsi OemToCharA
3693 #define AnsiToOemBuff CharToOemBuffA
3694 #define OemToAnsiBuff OemToCharBuffA
3695 #define AnsiUpper CharUpperA
3696 #define AnsiUpperBuff CharUpperBuffA
3697 #define AnsiLower CharLowerA
3698 #define AnsiLowerBuff CharLowerBuffA
3699 #define AnsiNext CharNextA
3700 #define AnsiPrev CharPrevA
3701 #define MAKELPARAM(l, h)        ((LPARAM)(MAKELONG(l, h)))
3702 #define MAKEWPARAM(l, h)        ((WPARAM)(MAKELONG(l, h)))
3703 #define MAKELRESULT(l, h)       ((LRESULT)(MAKELONG(l, h)))
3704
3705 #define POINTSTOPOINT(p, ps)     \
3706 { (p).x=LOWORD(*(DWORD *)(&ps)); \
3707   (p).y=HIWORD(*(DWORD *)(&ps)); \
3708 }
3709 #define POINTTOPOINTS(p)        ((POINTS)(MAKELONG((p).x,(p).y)))
3710
3711 #ifndef _LPCGUID_DEFINED
3712 #define _LPCGUID_DEFINED
3713 typedef const GUID *LPCGUID;
3714 #endif
3715
3716 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
3717 typedef HANDLE HPOWERNOTIFY;
3718
3719 typedef struct
3720 { GUID                          PowerSetting;
3721   DWORD                         DataLength;
3722   UCHAR                         Data[1];
3723 } POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
3724
3725 extern const GUID GUID_POWERSCHEME_PERSONALITY;
3726 extern const GUID GUID_MIN_POWER_SAVINGS;
3727 extern const GUID GUID_MAX_POWER_SAVINGS;
3728 extern const GUID GUID_TYPICAL_POWER_SAVINGS;
3729 extern const GUID GUID_ACDC_POWER_SOURCE;
3730 extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
3731 extern const GUID GUID_IDLE_BACKGROUND_TASK;
3732 extern const GUID GUID_SYSTEM_AWAYMODE;
3733 extern const GUID GUID_MONITOR_POWER_ON;
3734 #endif
3735
3736 WINUSERAPI HKL WINAPI ActivateKeyboardLayout (HKL, UINT);
3737 WINUSERAPI BOOL WINAPI AdjustWindowRect (LPRECT, DWORD, BOOL);
3738 WINUSERAPI BOOL WINAPI AdjustWindowRectEx (LPRECT, DWORD, BOOL, DWORD);
3739
3740 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
3741 WINUSERAPI BOOL WINAPI AnimateWindow (HWND, DWORD, DWORD);
3742 #endif  /* >= _WIN32_WINNT_WIN2K */
3743
3744 WINUSERAPI BOOL WINAPI AnyPopup (void);
3745 WINUSERAPI BOOL WINAPI AppendMenuA (HMENU, UINT, UINT_PTR, LPCSTR);
3746 WINUSERAPI BOOL WINAPI AppendMenuW (HMENU, UINT, UINT_PTR, LPCWSTR);
3747 WINUSERAPI UINT WINAPI ArrangeIconicWindows (HWND);
3748 WINUSERAPI BOOL WINAPI AttachThreadInput (DWORD, DWORD, BOOL);
3749 WINUSERAPI HDWP WINAPI BeginDeferWindowPos (int);
3750 WINUSERAPI HDC WINAPI BeginPaint (HWND, LPPAINTSTRUCT);
3751 WINUSERAPI BOOL WINAPI BringWindowToTop (HWND);
3752 WINUSERAPI long WINAPI BroadcastSystemMessage (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
3753
3754 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
3755 WINUSERAPI long WINAPI BroadcastSystemMessageA (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
3756 WINUSERAPI long WINAPI BroadcastSystemMessageW (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
3757 #endif  /* >= _WIN32_WINNT_NT4 */
3758
3759 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
3760 WINUSERAPI long WINAPI BroadcastSystemMessageExA (DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO);
3761 WINUSERAPI long WINAPI BroadcastSystemMessageExW (DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO);
3762 #endif  /* >= _WIN32_WINNT_WINXP */
3763
3764 WINUSERAPI BOOL WINAPI CallMsgFilterA (LPMSG, INT);
3765 WINUSERAPI BOOL WINAPI CallMsgFilterW (LPMSG, INT);
3766 WINUSERAPI LRESULT WINAPI CallNextHookEx (HHOOK, int, WPARAM, LPARAM);
3767 WINUSERAPI LRESULT WINAPI CallWindowProcA (WNDPROC, HWND, UINT, WPARAM, LPARAM);
3768 WINUSERAPI LRESULT WINAPI CallWindowProcW (WNDPROC, HWND, UINT, WPARAM, LPARAM);
3769 WINUSERAPI WORD WINAPI CascadeWindows (HWND, UINT, LPCRECT, UINT, const HWND *);
3770 WINUSERAPI BOOL WINAPI ChangeClipboardChain (HWND, HWND);
3771
3772 #ifndef NOGDI
3773 WINUSERAPI LONG WINAPI ChangeDisplaySettingsA (PDEVMODEA, DWORD);
3774 WINUSERAPI LONG WINAPI ChangeDisplaySettingsW (PDEVMODEW, DWORD);
3775 WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA (LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID);
3776 WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW (LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID);
3777 #endif
3778
3779 WINUSERAPI BOOL WINAPI ChangeMenuA (HMENU, UINT, LPCSTR, UINT, UINT);
3780 WINUSERAPI BOOL WINAPI ChangeMenuW (HMENU, UINT, LPCWSTR, UINT, UINT);
3781 WINUSERAPI LPSTR WINAPI CharLowerA (LPSTR);
3782 WINUSERAPI LPWSTR WINAPI CharLowerW (LPWSTR);
3783 WINUSERAPI DWORD WINAPI CharLowerBuffA (LPSTR, DWORD);
3784 WINUSERAPI DWORD WINAPI CharLowerBuffW (LPWSTR, DWORD);
3785 WINUSERAPI LPSTR WINAPI CharNextA (LPCSTR);
3786 WINUSERAPI LPWSTR WINAPI CharNextW (LPCWSTR);
3787 WINUSERAPI LPSTR WINAPI CharNextExA (WORD, LPCSTR, DWORD);
3788 WINUSERAPI LPSTR WINAPI CharPrevA (LPCSTR, LPCSTR);
3789 WINUSERAPI LPWSTR WINAPI CharPrevW (LPCWSTR, LPCWSTR);
3790 WINUSERAPI LPSTR WINAPI CharPrevExA (WORD, LPCSTR, LPCSTR, DWORD);
3791 WINUSERAPI BOOL WINAPI CharToOemA (LPCSTR, LPSTR);
3792 WINUSERAPI BOOL WINAPI CharToOemW (LPCWSTR, LPSTR);
3793 WINUSERAPI BOOL WINAPI CharToOemBuffA (LPCSTR, LPSTR, DWORD);
3794 WINUSERAPI BOOL WINAPI CharToOemBuffW (LPCWSTR, LPSTR, DWORD);
3795 WINUSERAPI LPSTR WINAPI CharUpperA (LPSTR);
3796 WINUSERAPI LPWSTR WINAPI CharUpperW (LPWSTR);
3797 WINUSERAPI DWORD WINAPI CharUpperBuffA (LPSTR, DWORD);
3798 WINUSERAPI DWORD WINAPI CharUpperBuffW (LPWSTR, DWORD);
3799 WINUSERAPI BOOL WINAPI CheckDlgButton (HWND, int, UINT);
3800 WINUSERAPI DWORD WINAPI CheckMenuItem (HMENU, UINT, UINT);
3801 WINUSERAPI BOOL WINAPI CheckMenuRadioItem (HMENU, UINT, UINT, UINT, UINT);
3802 WINUSERAPI BOOL WINAPI CheckRadioButton (HWND, int, int, int);
3803 WINUSERAPI HWND WINAPI ChildWindowFromPoint (HWND, POINT);
3804 WINUSERAPI HWND WINAPI ChildWindowFromPointEx (HWND, POINT, UINT);
3805 WINUSERAPI BOOL WINAPI ClientToScreen (HWND, LPPOINT);
3806 WINUSERAPI BOOL WINAPI ClipCursor (LPCRECT);
3807 WINUSERAPI BOOL WINAPI CloseClipboard (void);
3808 WINUSERAPI BOOL WINAPI CloseDesktop (HDESK);
3809 WINUSERAPI BOOL WINAPI CloseWindow (HWND);
3810 WINUSERAPI BOOL WINAPI CloseWindowStation (HWINSTA);
3811 WINUSERAPI int WINAPI CopyAcceleratorTableA (HACCEL, LPACCEL, int);
3812 WINUSERAPI int WINAPI CopyAcceleratorTableW (HACCEL, LPACCEL, int);
3813 #define CopyCursor(c) ((HCURSOR)(CopyIcon ((HICON)(c))))
3814 WINUSERAPI HICON WINAPI CopyIcon (HICON);
3815 WINUSERAPI HANDLE WINAPI CopyImage (HANDLE, UINT, int, int, UINT);
3816 WINUSERAPI BOOL WINAPI CopyRect (LPRECT, LPCRECT);
3817 WINUSERAPI int WINAPI CountClipboardFormats (void);
3818 WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA (LPACCEL, int);
3819 WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW (LPACCEL, int);
3820 WINUSERAPI BOOL WINAPI CreateCaret (HWND, HBITMAP, int, int);
3821 WINUSERAPI HCURSOR WINAPI CreateCursor (HINSTANCE, int, int, int, int, PCVOID, PCVOID);
3822
3823 #ifndef NOGDI
3824 WINUSERAPI HDESK WINAPI CreateDesktopA (LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES);
3825 WINUSERAPI HDESK WINAPI CreateDesktopW (LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES);
3826 #endif
3827
3828 #define CreateDialogA(h, n, w, f)          CreateDialogParamA (h, n, w, f, 0)
3829 #define CreateDialogW(h, n, w, f)          CreateDialogParamW (h, n, w, f, 0)
3830 #define CreateDialogIndirectA(h, t, w, f)  CreateDialogIndirectParamA (h, t, w, f, 0)
3831 #define CreateDialogIndirectW(h, t, w, f)  CreateDialogIndirectParamW (h, t, w, f, 0)
3832
3833 WINUSERAPI HWND WINAPI CreateDialogIndirectParamA (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
3834 WINUSERAPI HWND WINAPI CreateDialogIndirectParamW (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
3835 WINUSERAPI HWND WINAPI CreateDialogParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
3836 WINUSERAPI HWND WINAPI CreateDialogParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
3837 WINUSERAPI HICON WINAPI CreateIcon (HINSTANCE, int, int, BYTE, BYTE, const BYTE *, const BYTE *);
3838 WINUSERAPI HICON WINAPI CreateIconFromResource (PBYTE, DWORD, BOOL, DWORD);
3839 WINUSERAPI HICON WINAPI CreateIconFromResourceEx (PBYTE, DWORD, BOOL, DWORD, int, int, UINT);
3840 WINUSERAPI HICON WINAPI CreateIconIndirect (PICONINFO);
3841 WINUSERAPI HWND WINAPI CreateMDIWindowA (LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM);
3842 WINUSERAPI HWND WINAPI CreateMDIWindowW (LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM);
3843 WINUSERAPI HMENU WINAPI CreateMenu (void);
3844 WINUSERAPI HMENU WINAPI CreatePopupMenu (void);
3845 #define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k) CreateWindowExA (0, a, b, c, d, e, f, g, h, i, j, k)
3846 #define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k) CreateWindowExW (0, a, b, c, d, e, f, g, h, i, j, k)
3847 WINUSERAPI HWND WINAPI CreateWindowExA (DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID);
3848 WINUSERAPI HWND WINAPI CreateWindowExW (DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID);
3849 WINUSERAPI HWINSTA WINAPI CreateWindowStationA (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
3850 WINUSERAPI HWINSTA WINAPI CreateWindowStationW (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
3851 WINUSERAPI LRESULT WINAPI DefDlgProcA (HWND, UINT, WPARAM, LPARAM);
3852 WINUSERAPI LRESULT WINAPI DefDlgProcW (HWND, UINT, WPARAM, LPARAM);
3853 WINUSERAPI HDWP WINAPI DeferWindowPos (HDWP, HWND, HWND, int, int, int, int, UINT);
3854 WINUSERAPI LRESULT WINAPI DefFrameProcA (HWND, HWND, UINT, WPARAM, LPARAM);
3855 WINUSERAPI LRESULT WINAPI DefFrameProcW (HWND, HWND, UINT, WPARAM, LPARAM);
3856 #define DefHookProc(c, p, lp, h)        CallNextHookEx ((HHOOK)(*(h)), c, p, lp)
3857 WINUSERAPI LRESULT WINAPI DefMDIChildProcA (HWND, UINT, WPARAM, LPARAM);
3858 WINUSERAPI LRESULT WINAPI DefMDIChildProcW (HWND, UINT, WPARAM, LPARAM);
3859
3860 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
3861 WINUSERAPI LRESULT WINAPI DefRawInputProc (PRAWINPUT *, INT, UINT);
3862 #endif
3863
3864 WINUSERAPI LRESULT WINAPI DefWindowProcA (HWND, UINT, WPARAM, LPARAM);
3865 WINUSERAPI LRESULT WINAPI DefWindowProcW (HWND, UINT, WPARAM, LPARAM);
3866 WINUSERAPI BOOL WINAPI DeleteMenu (HMENU, UINT, UINT);
3867 WINUSERAPI BOOL WINAPI DeregisterShellHookWindow (HWND);
3868 WINUSERAPI BOOL WINAPI DestroyAcceleratorTable (HACCEL);
3869 WINUSERAPI BOOL WINAPI DestroyCaret (void);
3870 WINUSERAPI BOOL WINAPI DestroyCursor (HCURSOR);
3871 WINUSERAPI BOOL WINAPI DestroyIcon (HICON);
3872 WINUSERAPI BOOL WINAPI DestroyMenu (HMENU);
3873 WINUSERAPI BOOL WINAPI DestroyWindow (HWND);
3874 #define DialogBoxA(i, t, p, f)  DialogBoxParamA (i, t, p, f, 0)
3875 #define DialogBoxW(i, t, p, f)  DialogBoxParamW (i, t, p, f, 0)
3876 #define DialogBoxIndirectA(i, t, p, f) DialogBoxIndirectParamA (i, t, p, f, 0)
3877 #define DialogBoxIndirectW(i, t, p, f) DialogBoxIndirectParamW (i, t, p, f, 0)
3878 WINUSERAPI int WINAPI DialogBoxIndirectParamA (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
3879 WINUSERAPI int WINAPI DialogBoxIndirectParamW (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
3880
3881 #ifdef _WIN32_WCE
3882 extern int DialogBoxParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
3883 extern int DialogBoxParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
3884 #else
3885 WINUSERAPI int WINAPI DialogBoxParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
3886 WINUSERAPI int WINAPI DialogBoxParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
3887 #endif
3888
3889 WINUSERAPI LONG WINAPI DispatchMessageA (const MSG *);
3890 WINUSERAPI LONG WINAPI DispatchMessageW (const MSG *);
3891 WINUSERAPI int WINAPI DlgDirListA (HWND, LPSTR, int, int, UINT);
3892 WINUSERAPI int WINAPI DlgDirListW (HWND, LPWSTR, int, int, UINT);
3893 WINUSERAPI int WINAPI DlgDirListComboBoxA (HWND, LPSTR, int, int, UINT);
3894 WINUSERAPI int WINAPI DlgDirListComboBoxW (HWND, LPWSTR, int, int, UINT);
3895 WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExA (HWND, LPSTR, int, int);
3896 WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExW (HWND, LPWSTR, int, int);
3897 WINUSERAPI BOOL WINAPI DlgDirSelectExA (HWND, LPSTR, int, int);
3898 WINUSERAPI BOOL WINAPI DlgDirSelectExW (HWND, LPWSTR, int, int);
3899 WINUSERAPI BOOL WINAPI DragDetect (HWND, POINT);
3900 WINUSERAPI DWORD WINAPI DragObject (HWND, HWND, UINT, DWORD, HCURSOR);
3901 WINUSERAPI BOOL WINAPI DrawAnimatedRects (HWND, int, LPCRECT, LPCRECT);
3902 WINUSERAPI BOOL WINAPI DrawCaption (HWND, HDC, LPCRECT, UINT);
3903 WINUSERAPI BOOL WINAPI DrawEdge (HDC, LPRECT, UINT, UINT);
3904 WINUSERAPI BOOL WINAPI DrawFocusRect (HDC, LPCRECT);
3905 WINUSERAPI BOOL WINAPI DrawFrameControl (HDC, LPRECT, UINT, UINT);
3906 WINUSERAPI BOOL WINAPI DrawIcon (HDC, int, int, HICON);
3907 WINUSERAPI BOOL WINAPI DrawIconEx (HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT);
3908 WINUSERAPI BOOL WINAPI DrawMenuBar (HWND);
3909 WINUSERAPI BOOL WINAPI DrawStateA (HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
3910 WINUSERAPI BOOL WINAPI DrawStateW (HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
3911 WINUSERAPI int WINAPI DrawTextA (HDC, LPCSTR, int, LPRECT, UINT);
3912 WINUSERAPI int WINAPI DrawTextW (HDC, LPCWSTR, int, LPRECT, UINT);
3913 WINUSERAPI int WINAPI DrawTextExA (HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
3914 WINUSERAPI int WINAPI DrawTextExW (HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
3915 WINUSERAPI BOOL WINAPI EmptyClipboard (void);
3916 WINUSERAPI BOOL WINAPI EnableMenuItem (HMENU, UINT, UINT);
3917 WINUSERAPI BOOL WINAPI EnableScrollBar (HWND, UINT, UINT);
3918 WINUSERAPI BOOL WINAPI EnableWindow (HWND, BOOL);
3919 WINUSERAPI BOOL WINAPI EndDeferWindowPos (HDWP);
3920 WINUSERAPI BOOL WINAPI EndDialog (HWND, int);
3921 WINUSERAPI BOOL WINAPI EndMenu (void);
3922 WINUSERAPI BOOL WINAPI EndPaint (HWND, const PAINTSTRUCT *);
3923
3924 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
3925 WINUSERAPI BOOL WINAPI EndTask (HWND, BOOL, BOOL);
3926 #endif
3927
3928 WINUSERAPI BOOL WINAPI EnumChildWindows (HWND, ENUMWINDOWSPROC, LPARAM);
3929 WINUSERAPI UINT WINAPI EnumClipboardFormats (UINT);
3930 WINUSERAPI BOOL WINAPI EnumDesktopsA (HWINSTA, DESKTOPENUMPROCA, LPARAM);
3931 WINUSERAPI BOOL WINAPI EnumDesktopsW (HWINSTA, DESKTOPENUMPROCW, LPARAM);
3932 WINUSERAPI BOOL WINAPI EnumDesktopWindows (HDESK, ENUMWINDOWSPROC, LPARAM);
3933 WINUSERAPI BOOL WINAPI EnumDisplayMonitors (HDC, LPCRECT, MONITORENUMPROC, LPARAM);
3934
3935 #ifndef NOGDI
3936 WINUSERAPI BOOL WINAPI EnumDisplaySettingsA (LPCSTR, DWORD, PDEVMODEA);
3937 WINUSERAPI BOOL WINAPI EnumDisplaySettingsW (LPCWSTR, DWORD, PDEVMODEW);
3938
3939 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
3940 WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA (LPCSTR, DWORD, LPDEVMODEA, DWORD);
3941 WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW (LPCWSTR, DWORD, LPDEVMODEW, DWORD);
3942 #endif
3943
3944 WINUSERAPI BOOL WINAPI EnumDisplayDevicesA (LPCSTR, DWORD, PDISPLAY_DEVICEA, DWORD);
3945 WINUSERAPI BOOL WINAPI EnumDisplayDevicesW (LPCWSTR, DWORD, PDISPLAY_DEVICEW, DWORD);
3946 #endif
3947
3948 WINUSERAPI int WINAPI EnumPropsA (HWND, PROPENUMPROCA);
3949 WINUSERAPI int WINAPI EnumPropsW (HWND, PROPENUMPROCW);
3950 WINUSERAPI int WINAPI EnumPropsExA (HWND, PROPENUMPROCEXA, LPARAM);
3951 WINUSERAPI int WINAPI EnumPropsExW (HWND, PROPENUMPROCEXW, LPARAM);
3952 #define EnumTaskWindows(h, f, p) EnumThreadWindows ((DWORD)h, f, p)
3953 WINUSERAPI BOOL WINAPI EnumThreadWindows (DWORD, WNDENUMPROC, LPARAM);
3954 WINUSERAPI BOOL WINAPI EnumWindows (WNDENUMPROC, LPARAM);
3955 WINUSERAPI BOOL WINAPI EnumWindowStationsA (WINSTAENUMPROCA, LPARAM);
3956 WINUSERAPI BOOL WINAPI EnumWindowStationsW (WINSTAENUMPROCW, LPARAM);
3957 WINUSERAPI BOOL WINAPI EqualRect (LPCRECT, LPCRECT);
3958 #define ExitWindows(r, c) ExitWindowsEx (EWX_LOGOFF, 0)
3959 WINUSERAPI BOOL WINAPI ExitWindowsEx (UINT, DWORD);
3960 WINUSERAPI HWND WINAPI FindWindowA (LPCSTR, LPCSTR);
3961 WINUSERAPI HWND WINAPI FindWindowExA (HWND, HWND, LPCSTR, LPCSTR);
3962 WINUSERAPI HWND WINAPI FindWindowExW (HWND, HWND, LPCWSTR, LPCWSTR);
3963 WINUSERAPI HWND WINAPI FindWindowW (LPCWSTR, LPCWSTR);
3964 WINUSERAPI BOOL WINAPI FlashWindow (HWND, BOOL);
3965
3966 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
3967 WINUSERAPI BOOL WINAPI FlashWindowEx (PFLASHWINFO);
3968 #endif
3969
3970 int WINAPI FrameRect (HDC, LPCRECT, HBRUSH);
3971 WINUSERAPI BOOL WINAPI FrameRgn (HDC, HRGN, HBRUSH, int, int);
3972 WINUSERAPI HWND WINAPI GetActiveWindow (void);
3973 WINUSERAPI HWND WINAPI GetAncestor (HWND, UINT);
3974 WINUSERAPI SHORT WINAPI GetAsyncKeyState (int);
3975 WINUSERAPI HWND WINAPI GetCapture (void);
3976 WINUSERAPI UINT WINAPI GetCaretBlinkTime (void);
3977 WINUSERAPI BOOL WINAPI GetCaretPos (LPPOINT);
3978 WINUSERAPI BOOL WINAPI GetClassInfoA (HINSTANCE, LPCSTR, LPWNDCLASSA);
3979 WINUSERAPI BOOL WINAPI GetClassInfoExA (HINSTANCE, LPCSTR, LPWNDCLASSEXA);
3980 WINUSERAPI BOOL WINAPI GetClassInfoW (HINSTANCE, LPCWSTR, LPWNDCLASSW);
3981 WINUSERAPI BOOL WINAPI GetClassInfoExW (HINSTANCE, LPCWSTR, LPWNDCLASSEXW);
3982 WINUSERAPI DWORD WINAPI GetClassLongA (HWND, int);
3983 WINUSERAPI DWORD WINAPI GetClassLongW (HWND, int);
3984
3985 #ifdef _WIN64
3986 WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA (HWND, int);
3987 WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW (HWND, int);
3988 #else
3989 #define GetClassLongPtrA GetClassLongA
3990 #define GetClassLongPtrW GetClassLongW
3991 #endif
3992
3993 WINUSERAPI int WINAPI GetClassNameA (HWND, LPSTR, int);
3994 WINUSERAPI int WINAPI GetClassNameW (HWND, LPWSTR, int);
3995 WINUSERAPI WORD WINAPI GetClassWord (HWND, int);
3996 WINUSERAPI BOOL WINAPI GetClientRect (HWND, LPRECT);
3997 WINUSERAPI HANDLE WINAPI GetClipboardData (UINT);
3998 WINUSERAPI int WINAPI GetClipboardFormatNameA (UINT, LPSTR, int);
3999 WINUSERAPI int WINAPI GetClipboardFormatNameW (UINT, LPWSTR, int);
4000 WINUSERAPI HWND WINAPI GetClipboardOwner (void);
4001
4002 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4003 WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber (void);
4004 #endif
4005
4006 HWND WINAPI GetClipboardViewer (void);
4007 WINUSERAPI BOOL WINAPI GetClipCursor (LPRECT);
4008 WINUSERAPI BOOL WINAPI GetCursorPos (LPPOINT);
4009 WINUSERAPI HDC WINAPI GetDC (HWND);
4010 WINUSERAPI HDC WINAPI GetDCEx (HWND, HRGN, DWORD);
4011 WINUSERAPI HWND WINAPI GetDesktopWindow (void);
4012 WINUSERAPI long WINAPI GetDialogBaseUnits (void);
4013 WINUSERAPI int WINAPI GetDlgCtrlID (HWND);
4014 WINUSERAPI HWND WINAPI GetDlgItem (HWND, int);
4015 WINUSERAPI UINT WINAPI GetDlgItemInt (HWND, int, PBOOL, BOOL);
4016 WINUSERAPI UINT WINAPI GetDlgItemTextA (HWND, int, LPSTR, int);
4017 WINUSERAPI UINT WINAPI GetDlgItemTextW (HWND, int, LPWSTR, int);
4018 WINUSERAPI UINT WINAPI GetDoubleClickTime (void);
4019 WINUSERAPI HWND WINAPI GetFocus (void);
4020 WINUSERAPI HWND WINAPI GetForegroundWindow (void);
4021
4022 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4023 WINUSERAPI DWORD WINAPI GetGuiResources (HANDLE, DWORD);
4024 #endif
4025
4026 WINUSERAPI BOOL WINAPI GetIconInfo (HICON, PICONINFO);
4027 WINUSERAPI BOOL WINAPI GetInputState (void);
4028 WINUSERAPI UINT WINAPI GetKBCodePage (void);
4029 WINUSERAPI HKL WINAPI GetKeyboardLayout (DWORD);
4030 WINUSERAPI UINT WINAPI GetKeyboardLayoutList (int, HKL *);
4031 WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameA (LPSTR);
4032 WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameW (LPWSTR);
4033 WINUSERAPI BOOL WINAPI GetKeyboardState (PBYTE);
4034 WINUSERAPI int WINAPI GetKeyboardType (int);
4035 WINUSERAPI int WINAPI GetKeyNameTextA (LONG, LPSTR, int);
4036 WINUSERAPI int WINAPI GetKeyNameTextW (LONG, LPWSTR, int);
4037 WINUSERAPI SHORT WINAPI GetKeyState (int);
4038 WINUSERAPI HWND WINAPI GetLastActivePopup (HWND);
4039 WINUSERAPI HMENU WINAPI GetMenu (HWND);
4040 WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions (void);
4041 WINUSERAPI DWORD WINAPI GetMenuContextHelpId (HMENU);
4042 WINUSERAPI UINT WINAPI GetMenuDefaultItem (HMENU, UINT, UINT);
4043 WINUSERAPI int WINAPI GetMenuItemCount (HMENU);
4044 WINUSERAPI UINT WINAPI GetMenuItemID (HMENU, int);
4045 WINUSERAPI BOOL WINAPI GetMenuItemInfoA (HMENU, UINT, BOOL, LPMENUITEMINFOA);
4046 WINUSERAPI BOOL WINAPI GetMenuItemInfoW (HMENU, UINT, BOOL, LPMENUITEMINFOW);
4047 WINUSERAPI BOOL WINAPI GetMenuItemRect (HWND, HMENU, UINT, LPRECT);
4048 WINUSERAPI UINT WINAPI GetMenuState (HMENU, UINT, UINT);
4049 WINUSERAPI int WINAPI GetMenuStringA (HMENU, UINT, LPSTR, int, UINT);
4050 WINUSERAPI int WINAPI GetMenuStringW (HMENU, UINT, LPWSTR, int, UINT);
4051 WINUSERAPI BOOL WINAPI GetMessageA (LPMSG, HWND, UINT, UINT);
4052 WINUSERAPI BOOL WINAPI GetMessageW (LPMSG, HWND, UINT, UINT);
4053 WINUSERAPI LONG WINAPI GetMessageExtraInfo (void);
4054 WINUSERAPI DWORD WINAPI GetMessagePos (void);
4055 WINUSERAPI LONG WINAPI GetMessageTime (void);
4056
4057 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
4058 WINUSERAPI int WINAPI GetMouseMovePointsEx (UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD);
4059 #endif
4060
4061 WINUSERAPI HWND WINAPI GetNextDlgGroupItem (HWND, HWND, BOOL);
4062 WINUSERAPI HWND WINAPI GetNextDlgTabItem (HWND, HWND, BOOL);
4063 #define GetNextWindow(h, c) GetWindow (h, c)
4064 WINUSERAPI HWND WINAPI GetOpenClipboardWindow (void);
4065 WINUSERAPI HWND WINAPI GetParent (HWND);
4066 WINUSERAPI int WINAPI GetPriorityClipboardFormat (UINT *, int);
4067 WINUSERAPI HANDLE WINAPI GetPropA (HWND, LPCSTR);
4068 WINUSERAPI HANDLE WINAPI GetPropW (HWND, LPCWSTR);
4069
4070 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4071 WINUSERAPI UINT WINAPI GetRawInputBuffer (PRAWINPUT, PUINT, UINT);
4072 WINUSERAPI UINT WINAPI GetRawInputData (HRAWINPUT, UINT, LPVOID, PUINT, UINT);
4073 WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA (HANDLE, UINT, LPVOID, PUINT);
4074 WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW (HANDLE, UINT, LPVOID, PUINT);
4075 WINUSERAPI UINT WINAPI GetRawInputDeviceList (PRAWINPUTDEVICELIST, PUINT, UINT);
4076 WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices (PRAWINPUTDEVICE, PUINT, UINT);
4077 #endif
4078
4079 WINUSERAPI DWORD WINAPI GetQueueStatus (UINT);
4080 WINUSERAPI BOOL WINAPI GetScrollInfo (HWND, int, LPSCROLLINFO);
4081 WINUSERAPI int WINAPI GetScrollPos (HWND, int);
4082 WINUSERAPI BOOL WINAPI GetScrollRange (HWND, int, LPINT, LPINT);
4083
4084 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4085 WINUSERAPI HWND WINAPI GetShellWindow (void);
4086 #endif
4087
4088 WINUSERAPI HMENU WINAPI GetSubMenu (HMENU, int);
4089 WINUSERAPI DWORD WINAPI GetSysColor (int);
4090 WINUSERAPI HBRUSH WINAPI GetSysColorBrush (int);
4091 #define GetSysModalWindow() (NULL)
4092 WINUSERAPI HMENU WINAPI GetSystemMenu (HWND, BOOL);
4093 WINUSERAPI int WINAPI GetSystemMetrics (int);
4094 WINUSERAPI DWORD WINAPI GetTabbedTextExtentA (HDC, LPCSTR, int, int, LPINT);
4095 WINUSERAPI DWORD WINAPI GetTabbedTextExtentW (HDC, LPCWSTR, int, int, LPINT);
4096 WINUSERAPI LONG WINAPI GetWindowLongA (HWND, int);
4097 WINUSERAPI LONG WINAPI GetWindowLongW (HWND, int);
4098
4099 #ifdef _WIN64
4100 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA (HWND, int);
4101 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW (HWND, int);
4102 #else
4103 #define GetWindowLongPtrA GetWindowLongA
4104 #define GetWindowLongPtrW GetWindowLongW
4105 #endif
4106
4107 WINUSERAPI HDESK WINAPI GetThreadDesktop (DWORD);
4108 WINUSERAPI HWND WINAPI GetTopWindow (HWND);
4109 WINUSERAPI BOOL WINAPI GetUpdateRect (HWND, LPRECT, BOOL);
4110 WINUSERAPI int WINAPI GetUpdateRgn (HWND, HRGN, BOOL);
4111 WINUSERAPI BOOL WINAPI GetUserObjectInformationA (HANDLE, int, PVOID, DWORD, PDWORD);
4112 WINUSERAPI BOOL WINAPI GetUserObjectInformationW (HANDLE, int, PVOID, DWORD, PDWORD);
4113 WINUSERAPI BOOL WINAPI GetUserObjectSecurity (HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
4114 WINUSERAPI HWND WINAPI GetWindow (HWND, UINT);
4115 WINUSERAPI DWORD WINAPI GetWindowContextHelpId (HWND);
4116 WINUSERAPI HDC WINAPI GetWindowDC (HWND);
4117 WINUSERAPI BOOL WINAPI GetWindowPlacement (HWND, WINDOWPLACEMENT *);
4118 WINUSERAPI BOOL WINAPI GetWindowRect (HWND, LPRECT);
4119 WINUSERAPI int WINAPI GetWindowRgn (HWND, HRGN);
4120 #define GetWindowTask(hWnd)     ((HANDLE)(GetWindowThreadProcessId(hWnd, NULL)))
4121 WINUSERAPI int WINAPI GetWindowTextA (HWND, LPSTR, int);
4122 WINUSERAPI int WINAPI GetWindowTextLengthA (HWND);
4123 WINUSERAPI int WINAPI GetWindowTextLengthW (HWND);
4124 WINUSERAPI int WINAPI GetWindowTextW (HWND, LPWSTR, int);
4125 WINUSERAPI WORD WINAPI GetWindowWord (HWND, int);
4126 WINUSERAPI BOOL WINAPI GetAltTabInfoA (HWND, int, PALTTABINFO, LPSTR, UINT);
4127 WINUSERAPI BOOL WINAPI GetAltTabInfoW (HWND, int, PALTTABINFO, LPWSTR, UINT);
4128 WINUSERAPI BOOL WINAPI GetComboBoxInfo (HWND, PCOMBOBOXINFO);
4129 WINUSERAPI BOOL WINAPI GetCursorInfo (PCURSORINFO);
4130
4131 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4132 WINUSERAPI BOOL WINAPI GetGUIThreadInfo (DWORD, LPGUITHREADINFO);
4133 #endif
4134
4135 WINUSERAPI BOOL WINAPI GetLastInputInfo (PLASTINPUTINFO);
4136 WINUSERAPI DWORD WINAPI GetListBoxInfo (HWND);
4137 WINUSERAPI BOOL WINAPI GetMenuBarInfo (HWND, LONG, LONG, PMENUBARINFO);
4138 WINUSERAPI BOOL WINAPI GetMenuInfo (HMENU, LPMENUINFO);
4139
4140 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4141 WINUSERAPI BOOL WINAPI GetProcessDefaultLayout (DWORD *);
4142 #endif
4143
4144 WINUSERAPI BOOL WINAPI GetScrollBarInfo (HWND, LONG, PSCROLLBARINFO);
4145
4146 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4147 WINUSERAPI BOOL WINAPI GetTitleBarInfo (HWND, PTITLEBARINFO);
4148 #endif
4149
4150 WINUSERAPI BOOL WINAPI GetWindowInfo (HWND, PWINDOWINFO);
4151 WINUSERAPI BOOL WINAPI GetMonitorInfoA (HMONITOR, LPMONITORINFO);
4152 WINUSERAPI BOOL WINAPI GetMonitorInfoW (HMONITOR, LPMONITORINFO);
4153 WINUSERAPI UINT WINAPI GetWindowModuleFileNameA (HWND, LPSTR, UINT);
4154 WINUSERAPI UINT WINAPI GetWindowModuleFileNameW (HWND, LPWSTR, UINT);
4155 WINUSERAPI BOOL WINAPI GrayStringA (HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
4156 WINUSERAPI BOOL WINAPI GrayStringW (HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
4157 WINUSERAPI BOOL WINAPI HideCaret (HWND);
4158 WINUSERAPI BOOL WINAPI HiliteMenuItem (HWND, HMENU, UINT, UINT);
4159 WINUSERAPI BOOL WINAPI InflateRect (LPRECT, int, int);
4160 WINUSERAPI BOOL WINAPI InSendMessage (void);
4161
4162 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4163 WINUSERAPI DWORD WINAPI InSendMessageEx (LPVOID);
4164 #endif
4165
4166 WINUSERAPI BOOL WINAPI InsertMenuA (HMENU, UINT, UINT, UINT, LPCSTR);
4167 WINUSERAPI BOOL WINAPI InsertMenuW (HMENU, UINT, UINT, UINT, LPCWSTR);
4168 WINUSERAPI BOOL WINAPI InsertMenuItemA (HMENU, UINT, BOOL, LPCMENUITEMINFOA);
4169 WINUSERAPI BOOL WINAPI InsertMenuItemW (HMENU, UINT, BOOL, LPCMENUITEMINFOW);
4170 WINUSERAPI INT WINAPI InternalGetWindowText (HWND, LPWSTR, INT);
4171 WINUSERAPI BOOL WINAPI IntersectRect (LPRECT, LPCRECT, LPCRECT);
4172 WINUSERAPI BOOL WINAPI InvalidateRect (HWND, LPCRECT, BOOL);
4173 WINUSERAPI BOOL WINAPI InvalidateRgn (HWND, HRGN, BOOL);
4174 WINUSERAPI BOOL WINAPI InvertRect (HDC, LPCRECT);
4175 WINUSERAPI BOOL WINAPI IsCharAlphaA (CHAR ch);
4176 WINUSERAPI BOOL WINAPI IsCharAlphaNumericA (CHAR);
4177 WINUSERAPI BOOL WINAPI IsCharAlphaNumericW (WCHAR);
4178 WINUSERAPI BOOL WINAPI IsCharAlphaW (WCHAR);
4179 WINUSERAPI BOOL WINAPI IsCharLowerA (CHAR);
4180 WINUSERAPI BOOL WINAPI IsCharLowerW (WCHAR);
4181 WINUSERAPI BOOL WINAPI IsCharUpperA (CHAR);
4182 WINUSERAPI BOOL WINAPI IsCharUpperW (WCHAR);
4183 WINUSERAPI BOOL WINAPI IsChild (HWND, HWND);
4184 WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable (UINT);
4185 WINUSERAPI BOOL WINAPI IsDialogMessageA (HWND, LPMSG);
4186 WINUSERAPI BOOL WINAPI IsDialogMessageW (HWND, LPMSG);
4187 WINUSERAPI UINT WINAPI IsDlgButtonChecked (HWND, int);
4188
4189 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4190 WINUSERAPI BOOL WINAPI IsGUIThread (BOOL);
4191 #endif
4192
4193 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4194 WINUSERAPI BOOL WINAPI IsHungAppWindow (HWND);
4195 #endif
4196
4197 WINUSERAPI BOOL WINAPI IsIconic (HWND);
4198 WINUSERAPI BOOL WINAPI IsMenu (HMENU);
4199 WINUSERAPI BOOL WINAPI IsRectEmpty (LPCRECT);
4200 WINUSERAPI BOOL WINAPI IsWindow (HWND);
4201 WINUSERAPI BOOL WINAPI IsWindowEnabled (HWND);
4202 WINUSERAPI BOOL WINAPI IsWindowUnicode (HWND);
4203 WINUSERAPI BOOL WINAPI IsWindowVisible (HWND);
4204
4205 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4206 WINUSERAPI BOOL WINAPI IsWinEventHookInstalled (DWORD);
4207 #endif
4208
4209 WINUSERAPI BOOL WINAPI IsZoomed (HWND);
4210 WINUSERAPI VOID WINAPI keybd_event (BYTE, BYTE, DWORD, DWORD);
4211 WINUSERAPI BOOL WINAPI KillTimer (HWND, UINT_PTR);
4212 WINUSERAPI HACCEL WINAPI LoadAcceleratorsA (HINSTANCE, LPCSTR);
4213 WINUSERAPI HACCEL WINAPI LoadAcceleratorsW (HINSTANCE, LPCWSTR);
4214 WINUSERAPI HBITMAP WINAPI LoadBitmapA (HINSTANCE, LPCSTR);
4215 WINUSERAPI HBITMAP WINAPI LoadBitmapW (HINSTANCE, LPCWSTR);
4216 WINUSERAPI HCURSOR WINAPI LoadCursorA (HINSTANCE, LPCSTR);
4217 WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA (LPCSTR);
4218 WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW (LPCWSTR);
4219 WINUSERAPI HCURSOR WINAPI LoadCursorW (HINSTANCE, LPCWSTR);
4220 WINUSERAPI HICON WINAPI LoadIconA (HINSTANCE, LPCSTR);
4221 WINUSERAPI HICON WINAPI LoadIconW (HINSTANCE, LPCWSTR);
4222 WINUSERAPI HANDLE WINAPI LoadImageA (HINSTANCE, LPCSTR, UINT, int, int, UINT);
4223 WINUSERAPI HANDLE WINAPI LoadImageW (HINSTANCE, LPCWSTR, UINT, int, int, UINT);
4224 WINUSERAPI HKL WINAPI LoadKeyboardLayoutA (LPCSTR, UINT);
4225 WINUSERAPI HKL WINAPI LoadKeyboardLayoutW (LPCWSTR, UINT);
4226 WINUSERAPI HMENU WINAPI LoadMenuA (HINSTANCE, LPCSTR);
4227 WINUSERAPI HMENU WINAPI LoadMenuIndirectA (const MENUTEMPLATE *);
4228 WINUSERAPI HMENU WINAPI LoadMenuIndirectW (const MENUTEMPLATE *);
4229 WINUSERAPI HMENU WINAPI LoadMenuW (HINSTANCE, LPCWSTR);
4230 WINUSERAPI int WINAPI LoadStringA (HINSTANCE, UINT, LPSTR, int);
4231 WINUSERAPI int WINAPI LoadStringW (HINSTANCE, UINT, LPWSTR, int);
4232 WINUSERAPI BOOL WINAPI LockWindowUpdate (HWND);
4233
4234 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4235 WINUSERAPI BOOL WINAPI LockWorkStation (void);
4236 #endif
4237
4238 WINUSERAPI int WINAPI LookupIconIdFromDirectory (PBYTE, BOOL);
4239 WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx (PBYTE, BOOL, int, int, UINT);
4240 WINUSERAPI BOOL WINAPI MapDialogRect (HWND, LPRECT);
4241 WINUSERAPI UINT WINAPI MapVirtualKeyA (UINT, UINT);
4242 WINUSERAPI UINT WINAPI MapVirtualKeyExA (UINT, UINT, HKL);
4243 WINUSERAPI UINT WINAPI MapVirtualKeyExW (UINT, UINT, HKL);
4244 WINUSERAPI UINT WINAPI MapVirtualKeyW (UINT, UINT);
4245 WINUSERAPI int WINAPI MapWindowPoints (HWND, HWND, LPPOINT, UINT);
4246 WINUSERAPI int WINAPI MenuItemFromPoint (HWND, HMENU, POINT);
4247 WINUSERAPI BOOL WINAPI MessageBeep (UINT);
4248 WINUSERAPI int WINAPI MessageBoxA (HWND, LPCSTR, LPCSTR, UINT);
4249 WINUSERAPI int WINAPI MessageBoxW (HWND, LPCWSTR, LPCWSTR, UINT);
4250 WINUSERAPI int WINAPI MessageBoxExA (HWND, LPCSTR, LPCSTR, UINT, WORD);
4251 WINUSERAPI int WINAPI MessageBoxExW (HWND, LPCWSTR, LPCWSTR, UINT, WORD);
4252 WINUSERAPI int WINAPI MessageBoxIndirectA (CONST MSGBOXPARAMSA *);
4253 WINUSERAPI int WINAPI MessageBoxIndirectW (CONST MSGBOXPARAMSW *);
4254 WINUSERAPI BOOL WINAPI ModifyMenuA (HMENU, UINT, UINT, UINT, LPCSTR);
4255 WINUSERAPI BOOL WINAPI ModifyMenuW (HMENU, UINT, UINT, UINT, LPCWSTR);
4256
4257 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4258 WINUSERAPI HMONITOR WINAPI MonitorFromPoint (POINT, DWORD);
4259 WINUSERAPI HMONITOR WINAPI MonitorFromRect (LPCRECT, DWORD);
4260 WINUSERAPI HMONITOR WINAPI MonitorFromWindow (HWND, DWORD);
4261 #endif
4262
4263 WINUSERAPI void WINAPI mouse_event (DWORD, DWORD, DWORD, DWORD, ULONG_PTR);
4264 WINUSERAPI BOOL WINAPI MoveWindow (HWND, int, int, int, int, BOOL);
4265 WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects (DWORD, CONST HANDLE *, BOOL, DWORD, DWORD);
4266 WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx (DWORD, CONST HANDLE *, DWORD, DWORD, DWORD);
4267
4268 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4269 WINUSERAPI void WINAPI NotifyWinEvent (DWORD, HWND, LONG, LONG);
4270 #endif
4271
4272 WINUSERAPI DWORD WINAPI OemKeyScan (WORD);
4273 WINUSERAPI BOOL WINAPI OemToCharA (LPCSTR, LPSTR);
4274 WINUSERAPI BOOL WINAPI OemToCharBuffA (LPCSTR, LPSTR, DWORD);
4275 WINUSERAPI BOOL WINAPI OemToCharBuffW (LPCSTR, LPWSTR, DWORD);
4276 WINUSERAPI BOOL WINAPI OemToCharW (LPCSTR, LPWSTR);
4277 WINUSERAPI BOOL WINAPI OffsetRect (LPRECT, int, int);
4278 WINUSERAPI BOOL WINAPI OpenClipboard (HWND);
4279 WINUSERAPI HDESK WINAPI OpenDesktopA (LPSTR, DWORD, BOOL, DWORD);
4280 WINUSERAPI HDESK WINAPI OpenDesktopW (LPWSTR, DWORD, BOOL, DWORD);
4281 WINUSERAPI BOOL WINAPI OpenIcon (HWND);
4282 WINUSERAPI HDESK WINAPI OpenInputDesktop (DWORD, BOOL, DWORD);
4283 WINUSERAPI HWINSTA WINAPI OpenWindowStationA (LPSTR, BOOL, DWORD);
4284 WINUSERAPI HWINSTA WINAPI OpenWindowStationW (LPWSTR, BOOL, DWORD);
4285 WINUSERAPI BOOL WINAPI PaintDesktop (HDC);
4286 WINUSERAPI BOOL WINAPI PeekMessageA (LPMSG, HWND, UINT, UINT, UINT);
4287 WINUSERAPI BOOL WINAPI PeekMessageW (LPMSG, HWND, UINT, UINT, UINT);
4288 #define PostAppMessageA(t, m, w, l) PostThreadMessageA ((DWORD)t, m, w, l)
4289 #define PostAppMessageW(t, m, w, l) PostThreadMessageW ((DWORD)t, m, w, l)
4290 WINUSERAPI BOOL WINAPI PostMessageA (HWND, UINT, WPARAM, LPARAM);
4291 WINUSERAPI BOOL WINAPI PostMessageW (HWND, UINT, WPARAM, LPARAM);
4292 WINUSERAPI void WINAPI PostQuitMessage (int);
4293 WINUSERAPI BOOL WINAPI PostThreadMessageA (DWORD, UINT, WPARAM, LPARAM);
4294 WINUSERAPI BOOL WINAPI PostThreadMessageW (DWORD, UINT, WPARAM, LPARAM);
4295
4296 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4297 WINUSERAPI BOOL WINAPI PrintWindow (HWND, HDC, UINT);
4298 #endif
4299
4300 WINUSERAPI BOOL WINAPI PtInRect (LPCRECT, POINT);
4301 WINUSERAPI HWND WINAPI RealChildWindowFromPoint (HWND, POINT);
4302 WINUSERAPI UINT WINAPI RealGetWindowClassA (HWND, LPSTR, UINT);
4303 WINUSERAPI UINT WINAPI RealGetWindowClassW (HWND, LPWSTR, UINT);
4304 WINUSERAPI BOOL WINAPI RedrawWindow (HWND, LPCRECT, HRGN, UINT);
4305 WINUSERAPI ATOM WINAPI RegisterClassA (CONST WNDCLASSA *);
4306 WINUSERAPI ATOM WINAPI RegisterClassW (CONST WNDCLASSW *);
4307 WINUSERAPI ATOM WINAPI RegisterClassExA (CONST WNDCLASSEXA *);
4308 WINUSERAPI ATOM WINAPI RegisterClassExW (CONST WNDCLASSEXW *);
4309 WINUSERAPI UINT WINAPI RegisterClipboardFormatA (LPCSTR);
4310 WINUSERAPI UINT WINAPI RegisterClipboardFormatW (LPCWSTR);
4311
4312 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4313 WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA (HANDLE, LPVOID, DWORD);
4314 WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW (HANDLE, LPVOID, DWORD);
4315 #endif
4316
4317 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
4318 WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification (HANDLE, LPCGUID, DWORD);
4319 #endif
4320
4321 WINUSERAPI BOOL WINAPI RegisterHotKey (HWND, int, UINT, UINT);
4322
4323 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4324 WINUSERAPI BOOL WINAPI RegisterRawInputDevices (PCRAWINPUTDEVICE, UINT, UINT);
4325 #endif
4326
4327 WINUSERAPI UINT WINAPI RegisterWindowMessageA (LPCSTR);
4328 WINUSERAPI UINT WINAPI RegisterWindowMessageW (LPCWSTR);
4329 WINUSERAPI BOOL WINAPI ReleaseCapture (void);
4330 WINUSERAPI int WINAPI ReleaseDC (HWND, HDC);
4331 WINUSERAPI BOOL WINAPI RemoveMenu (HMENU, UINT, UINT);
4332 WINUSERAPI HANDLE WINAPI RemovePropA (HWND, LPCSTR);
4333 WINUSERAPI HANDLE WINAPI RemovePropW (HWND, LPCWSTR);
4334 WINUSERAPI BOOL WINAPI ReplyMessage (LRESULT);
4335 WINUSERAPI BOOL WINAPI ScreenToClient (HWND, LPPOINT);
4336 WINUSERAPI BOOL WINAPI ScrollDC (HDC, int, int, LPCRECT, LPCRECT, HRGN, LPRECT);
4337 WINUSERAPI BOOL WINAPI ScrollWindow (HWND, int, int, LPCRECT, LPCRECT);
4338 WINUSERAPI int WINAPI ScrollWindowEx (HWND, int, int, LPCRECT, LPCRECT, HRGN, LPRECT, UINT);
4339 WINUSERAPI LONG WINAPI SendDlgItemMessageA (HWND, int, UINT, WPARAM, LPARAM);
4340 WINUSERAPI LONG WINAPI SendDlgItemMessageW (HWND, int, UINT, WPARAM, LPARAM);
4341
4342 #if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
4343 WINUSERAPI UINT WINAPI SendInput (UINT, LPINPUT, int);
4344
4345 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4346 BOOL WINAPI BlockInput(BOOL);
4347 #endif
4348 #endif
4349
4350 WINUSERAPI LRESULT WINAPI SendMessageA (HWND, UINT, WPARAM, LPARAM);
4351 WINUSERAPI BOOL WINAPI SendMessageCallbackA (HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
4352 WINUSERAPI BOOL WINAPI SendMessageCallbackW (HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
4353 WINUSERAPI LRESULT WINAPI SendMessageTimeoutA (HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR);
4354 WINUSERAPI LRESULT WINAPI SendMessageTimeoutW (HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR);
4355 WINUSERAPI LRESULT WINAPI SendMessageW (HWND, UINT, WPARAM, LPARAM);
4356 WINUSERAPI BOOL WINAPI SendNotifyMessageA (HWND, UINT, WPARAM, LPARAM);
4357 WINUSERAPI BOOL WINAPI SendNotifyMessageW (HWND, UINT, WPARAM, LPARAM);
4358 WINUSERAPI HWND WINAPI SetActiveWindow (HWND);
4359 WINUSERAPI HWND WINAPI SetCapture (HWND hWnd);
4360 WINUSERAPI BOOL WINAPI SetCaretBlinkTime (UINT);
4361 WINUSERAPI BOOL WINAPI SetCaretPos (int, int);
4362 WINUSERAPI DWORD WINAPI SetClassLongA (HWND, int, LONG);
4363 WINUSERAPI DWORD WINAPI SetClassLongW (HWND, int, LONG);
4364
4365 #ifdef _WIN64
4366 WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA (HWND, int, LONG_PTR);
4367 WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW (HWND, int, LONG_PTR);
4368 #else
4369 #define SetClassLongPtrA SetClassLongA
4370 #define SetClassLongPtrW SetClassLongW
4371 #endif
4372
4373 WINUSERAPI WORD WINAPI SetClassWord (HWND, int, WORD);
4374 WINUSERAPI HANDLE WINAPI SetClipboardData (UINT, HANDLE);
4375 WINUSERAPI HWND WINAPI SetClipboardViewer (HWND);
4376 WINUSERAPI HCURSOR WINAPI SetCursor (HCURSOR);
4377 WINUSERAPI BOOL WINAPI SetCursorPos (int, int);
4378 WINUSERAPI VOID WINAPI SetDebugErrorLevel (DWORD);
4379 WINUSERAPI BOOL WINAPI SetDlgItemInt (HWND, int, UINT, BOOL);
4380 WINUSERAPI BOOL WINAPI SetDlgItemTextA (HWND, int, LPCSTR);
4381 WINUSERAPI BOOL WINAPI SetDlgItemTextW (HWND, int, LPCWSTR);
4382 WINUSERAPI BOOL WINAPI SetDoubleClickTime (UINT);
4383 WINUSERAPI HWND WINAPI SetFocus (HWND);
4384 WINUSERAPI BOOL WINAPI SetForegroundWindow (HWND);
4385 WINUSERAPI BOOL WINAPI SetKeyboardState (PBYTE);
4386 WINUSERAPI BOOL WINAPI SetMenu (HWND, HMENU);
4387 WINUSERAPI BOOL WINAPI SetMenuContextHelpId (HMENU, DWORD);
4388 WINUSERAPI BOOL WINAPI SetMenuDefaultItem (HMENU, UINT, UINT);
4389 WINUSERAPI BOOL WINAPI SetMenuInfo (HMENU, LPCMENUINFO);
4390 WINUSERAPI BOOL WINAPI SetMenuItemBitmaps (HMENU, UINT, UINT, HBITMAP, HBITMAP);
4391 WINUSERAPI BOOL WINAPI SetMenuItemInfoA (HMENU, UINT, BOOL, LPCMENUITEMINFOA);
4392 WINUSERAPI BOOL WINAPI SetMenuItemInfoW ( HMENU, UINT, BOOL, LPCMENUITEMINFOW);
4393 WINUSERAPI LPARAM WINAPI SetMessageExtraInfo (LPARAM);
4394 WINUSERAPI BOOL WINAPI SetMessageQueue (int);
4395 WINUSERAPI HWND WINAPI SetParent (HWND, HWND);
4396
4397 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4398 WINUSERAPI BOOL WINAPI SetProcessDefaultLayout (DWORD);
4399 #endif  /* >= _WIN32_WINNT_WIN2K */
4400
4401 WINUSERAPI BOOL WINAPI SetProcessWindowStation (HWINSTA);
4402 WINUSERAPI BOOL WINAPI SetPropA (HWND, LPCSTR, HANDLE);
4403 WINUSERAPI BOOL WINAPI SetPropW (HWND, LPCWSTR, HANDLE);
4404 WINUSERAPI BOOL WINAPI SetRect (LPRECT, int, int, int, int);
4405 WINUSERAPI BOOL WINAPI SetRectEmpty (LPRECT);
4406 WINUSERAPI int WINAPI SetScrollInfo (HWND, int, LPCSCROLLINFO, BOOL);
4407 WINUSERAPI int WINAPI SetScrollPos (HWND, int, int, BOOL);
4408 WINUSERAPI BOOL WINAPI SetScrollRange (HWND, int, int, int, BOOL);
4409 WINUSERAPI BOOL WINAPI SetSysColors (int, const INT *, const COLORREF *);
4410 #define SetSysModalWindow(h) (NULL)
4411 WINUSERAPI BOOL WINAPI SetSystemCursor (HCURSOR, DWORD);
4412 WINUSERAPI BOOL WINAPI SetThreadDesktop (HDESK);
4413 WINUSERAPI UINT WINAPI SetTimer (HWND, UINT_PTR, UINT, TIMERPROC);
4414 WINUSERAPI BOOL WINAPI SetUserObjectInformationA (HANDLE, int, PVOID, DWORD);
4415 WINUSERAPI BOOL WINAPI SetUserObjectInformationW (HANDLE, int, PVOID, DWORD);
4416 WINUSERAPI BOOL WINAPI SetUserObjectSecurity (HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
4417
4418 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4419 WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook (UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT);
4420 #endif
4421
4422 WINUSERAPI BOOL WINAPI SetWindowContextHelpId (HWND, DWORD);
4423 WINUSERAPI LONG WINAPI SetWindowLongA (HWND, int, LONG);
4424 WINUSERAPI LONG WINAPI SetWindowLongW (HWND, int, LONG);
4425
4426 #ifdef _WIN64
4427 WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA (HWND, int, LONG_PTR);
4428 WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW (HWND, int, LONG_PTR);
4429 #else
4430 #define SetWindowLongPtrA SetWindowLongA
4431 #define SetWindowLongPtrW SetWindowLongW
4432 #endif
4433
4434 WINUSERAPI BOOL WINAPI SetWindowPlacement (HWND hWnd, const WINDOWPLACEMENT *);
4435 WINUSERAPI BOOL WINAPI SetWindowPos (HWND, HWND, int, int, int, int, UINT);
4436 WINUSERAPI int WINAPI SetWindowRgn (HWND, HRGN, BOOL);
4437 WINUSERAPI HHOOK WINAPI SetWindowsHookA (int, HOOKPROC);
4438 WINUSERAPI HHOOK WINAPI SetWindowsHookW (int, HOOKPROC);
4439 WINUSERAPI HHOOK WINAPI SetWindowsHookExA (int, HOOKPROC, HINSTANCE, DWORD);
4440 WINUSERAPI HHOOK WINAPI SetWindowsHookExW (int, HOOKPROC, HINSTANCE, DWORD);
4441 WINUSERAPI BOOL WINAPI SetWindowTextA (HWND, LPCSTR);
4442 WINUSERAPI BOOL WINAPI SetWindowTextW (HWND, LPCWSTR);
4443 WINUSERAPI WORD WINAPI SetWindowWord (HWND, int, WORD);
4444 WINUSERAPI BOOL WINAPI ShowCaret (HWND);
4445 WINUSERAPI int WINAPI ShowCursor (BOOL);
4446 WINUSERAPI BOOL WINAPI ShowOwnedPopups (HWND, BOOL);
4447 WINUSERAPI BOOL WINAPI ShowScrollBar (HWND, int, BOOL);
4448 WINUSERAPI BOOL WINAPI ShowWindow (HWND, int);
4449 WINUSERAPI BOOL WINAPI ShowWindowAsync (HWND, int);
4450 WINUSERAPI BOOL WINAPI SubtractRect (LPRECT, LPCRECT, LPCRECT);
4451 WINUSERAPI BOOL WINAPI SwapMouseButton (BOOL);
4452 WINUSERAPI BOOL WINAPI SwitchDesktop (HDESK);
4453
4454 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4455 WINUSERAPI VOID WINAPI SwitchToThisWindow (HWND, BOOL);
4456 #endif  /* >= _WIN32_WINNT_WIN2K */
4457
4458 WINUSERAPI BOOL WINAPI SystemParametersInfoA (UINT, UINT, PVOID, UINT);
4459 WINUSERAPI BOOL WINAPI SystemParametersInfoW (UINT, UINT, PVOID, UINT);
4460 WINUSERAPI LONG WINAPI TabbedTextOutA (HDC, int, int, LPCSTR, int, int, LPINT, int);
4461 WINUSERAPI LONG WINAPI TabbedTextOutW (HDC, int, int, LPCWSTR, int, int, LPINT, int);
4462 WINUSERAPI WORD WINAPI TileWindows (HWND, UINT, LPCRECT, UINT, const HWND *);
4463 WINUSERAPI int WINAPI ToAscii (UINT, UINT, PBYTE, LPWORD, UINT);
4464 WINUSERAPI int WINAPI ToAsciiEx (UINT, UINT, PBYTE, LPWORD, UINT, HKL);
4465 WINUSERAPI int WINAPI ToUnicode (UINT, UINT, PBYTE, LPWSTR, int, UINT);
4466 WINUSERAPI int WINAPI ToUnicodeEx (UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL);
4467 WINUSERAPI BOOL WINAPI TrackMouseEvent (LPTRACKMOUSEEVENT);
4468 WINUSERAPI BOOL WINAPI TrackPopupMenu (HMENU, UINT, int, int, int, HWND, LPCRECT);
4469 WINUSERAPI BOOL WINAPI TrackPopupMenuEx (HMENU, UINT, int, int, HWND, LPTPMPARAMS);
4470 WINUSERAPI int WINAPI TranslateAcceleratorA (HWND, HACCEL, LPMSG);
4471 WINUSERAPI int WINAPI TranslateAcceleratorW (HWND, HACCEL, LPMSG);
4472 WINUSERAPI BOOL WINAPI TranslateMDISysAccel (HWND, LPMSG);
4473 WINUSERAPI BOOL WINAPI TranslateMessage (const MSG *);
4474 WINUSERAPI BOOL WINAPI UnhookWindowsHook (int, HOOKPROC);
4475 WINUSERAPI BOOL WINAPI UnhookWindowsHookEx (HHOOK);
4476
4477 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4478 WINUSERAPI BOOL WINAPI UnhookWinEvent (HWINEVENTHOOK);
4479 #endif  /* >= _WIN32_WINNT_WIN2K */
4480
4481 WINUSERAPI BOOL WINAPI UnionRect (LPRECT, LPCRECT, LPCRECT);
4482 WINUSERAPI BOOL WINAPI UnloadKeyboardLayout (HKL);
4483 WINUSERAPI BOOL WINAPI UnregisterClassA (LPCSTR, HINSTANCE);
4484 WINUSERAPI BOOL WINAPI UnregisterClassW (LPCWSTR, HINSTANCE);
4485
4486 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
4487 WINUSERAPI BOOL WINAPI UnregisterDeviceNotification (HANDLE);
4488 #endif
4489
4490 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
4491 WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification (HPOWERNOTIFY);
4492 #endif
4493
4494 WINUSERAPI BOOL WINAPI UnregisterHotKey (HWND, int);
4495 WINUSERAPI BOOL WINAPI UpdateWindow (HWND);
4496
4497 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4498 WINUSERAPI BOOL WINAPI UserHandleGrantAccess (HANDLE, HANDLE, BOOL);
4499 #endif
4500
4501 WINUSERAPI BOOL WINAPI ValidateRect (HWND, LPCRECT);
4502 WINUSERAPI BOOL WINAPI ValidateRgn (HWND, HRGN);
4503 WINUSERAPI SHORT WINAPI VkKeyScanA (CHAR);
4504 WINUSERAPI SHORT WINAPI VkKeyScanExA (CHAR, HKL);
4505 WINUSERAPI SHORT WINAPI VkKeyScanExW (WCHAR, HKL);
4506 WINUSERAPI SHORT WINAPI VkKeyScanW (WCHAR);
4507 WINUSERAPI DWORD WINAPI WaitForInputIdle (HANDLE, DWORD);
4508 WINUSERAPI BOOL WINAPI WaitMessage (void);
4509 WINUSERAPI HWND WINAPI WindowFromDC (HDC hDC);
4510 WINUSERAPI HWND WINAPI WindowFromPoint (POINT);
4511 WINUSERAPI UINT WINAPI WinExec (LPCSTR, UINT);
4512 WINUSERAPI BOOL WINAPI WinHelpA (HWND, LPCSTR, UINT, DWORD);
4513 WINUSERAPI BOOL WINAPI WinHelpW (HWND, LPCWSTR, UINT, DWORD);
4514 WINUSERAPI int WINAPIV wsprintfA (LPSTR, LPCSTR,...);
4515 WINUSERAPI int WINAPIV wsprintfW (LPWSTR, LPCWSTR,...);
4516 WINUSERAPI int WINAPI wvsprintfA (LPSTR, LPCSTR, va_list arglist);
4517 WINUSERAPI int WINAPI wvsprintfW (LPWSTR, LPCWSTR, va_list arglist);
4518
4519 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
4520 WINUSERAPI BOOL WINAPI AllowSetForegroundWindow (DWORD);
4521 WINUSERAPI BOOL WINAPI LockSetForegroundWindow (UINT);
4522 #endif
4523
4524 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
4525 WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes (HWND, COLORREF, BYTE, DWORD);
4526
4527 #ifndef NOGDI
4528 WINUSERAPI BOOL WINAPI UpdateLayeredWindow (HWND, HDC, POINT *, SIZE *, HDC, POINT *, COLORREF, BLENDFUNCTION *, DWORD);
4529 #endif
4530 #endif
4531
4532 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
4533 WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes (HWND, COLORREF *, BYTE *, DWORD *);
4534 #endif
4535
4536 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
4537 BOOL WINAPI CloseTouchInputHandle (HANDLE hTouchInput);
4538 BOOL WINAPI GetTouchInputInfo (HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
4539 BOOL WINAPI IsTouchWindow (HWND hWnd, PULONG pulFlags);
4540 BOOL WINAPI RegisterTouchWindow (HWND hWnd, ULONG ulFlags);
4541 BOOL WINAPI UnregisterTouchWindow (HWND hWnd);
4542 #endif
4543
4544 #ifdef UNICODE
4545 #define EDITWORDBREAKPROC       EDITWORDBREAKPROCW
4546 #define PROPENUMPROC            PROPENUMPROCW
4547 #define PROPENUMPROCEX          PROPENUMPROCEXW
4548 #define DEKSTOPENUMPROC         DEKSTOPENUMPROCW
4549 #define WINSTAENUMPROC          WINSTAENUMPROCW
4550 #define PROPENUMPROC            PROPENUMPROCW
4551 #define PROPENUMPROCEX          PROPENUMPROCEXW
4552 #define MAKEINTRESOURCE         MAKEINTRESOURCEW
4553
4554 typedef WNDCLASSW WNDCLASS, *LPWNDCLASS, *PWNDCLASS;
4555 typedef WNDCLASSEXW WNDCLASSEX, *LPWNDCLASSEX, *PWNDCLASSEX;
4556 typedef MENUITEMINFOW MENUITEMINFO, *LPMENUITEMINFO;
4557 typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
4558 typedef MSGBOXPARAMSW MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
4559 typedef HIGHCONTRASTW HIGHCONTRAST, *LPHIGHCONTRAST;
4560 typedef SERIALKEYSW SERIALKEYS, *LPSERIALKEYS;
4561 typedef SOUNDSENTRYW SOUNDSENTRY, *LPSOUNDSENTRY;
4562 typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
4563 typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
4564 typedef MDICREATESTRUCTW MDICREATESTRUCT, *LPMDICREATESTRUCT;
4565 typedef MULTIKEYHELPW MULTIKEYHELP, *PMULTIKEYHELP, *LPMULTIKEYHELP;
4566 typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
4567
4568 #define AppendMenu AppendMenuW
4569 #define BroadcastSystemMessage BroadcastSystemMessageW
4570 #define BroadcastSystemMessageEx BroadcastSystemMessageExW
4571 #define CallMsgFilter CallMsgFilterW
4572 #define CallWindowProc CallWindowProcW
4573 #define ChangeMenu ChangeMenuW
4574 #define CharLower CharLowerW
4575 #define CharLowerBuff CharLowerBuffW
4576 #define CharNext CharNextW
4577 #define CharPrev CharPrevW
4578 #define CharToOem CharToOemW
4579 #define CharToOemBuff CharToOemBuffW
4580 #define CharUpper CharUpperW
4581 #define CharUpperBuff CharUpperBuffW
4582 #define CopyAcceleratorTable CopyAcceleratorTableW
4583 #define CreateAcceleratorTable CreateAcceleratorTableW
4584 #define CreateDialog CreateDialogW
4585 #define CreateDialogIndirect CreateDialogIndirectW
4586 #define CreateDialogIndirectParam CreateDialogIndirectParamW
4587 #define CreateDialogParam CreateDialogParamW
4588 #define CreateMDIWindow CreateMDIWindowW
4589 #define CreateWindow CreateWindowW
4590 #define CreateWindowEx CreateWindowExW
4591 #define CreateWindowStation CreateWindowStationW
4592 #define DefDlgProc DefDlgProcW
4593 #define DefFrameProc DefFrameProcW
4594 #define DefMDIChildProc DefMDIChildProcW
4595 #define DefWindowProc DefWindowProcW
4596 #define DialogBox DialogBoxW
4597 #define DialogBoxIndirect DialogBoxIndirectW
4598 #define DialogBoxIndirectParam DialogBoxIndirectParamW
4599 #define DialogBoxParam DialogBoxParamW
4600 #define DispatchMessage DispatchMessageW
4601 #define DlgDirList DlgDirListW
4602 #define DlgDirListComboBox DlgDirListComboBoxW
4603 #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
4604 #define DlgDirSelectEx DlgDirSelectExW
4605 #define DrawState DrawStateW
4606 #define DrawText DrawTextW
4607 #define DrawTextEx DrawTextExW
4608 #define EnumDesktops EnumDesktopsW
4609 #define EnumProps EnumPropsW
4610 #define EnumPropsEx EnumPropsExW
4611 #define EnumWindowStations EnumWindowStationsW
4612 #define FindWindow FindWindowW
4613 #define FindWindowEx FindWindowExW
4614 #define GetClassInfo GetClassInfoW
4615 #define GetClassInfoEx GetClassInfoExW
4616 #define GetClassLong GetClassLongW
4617 #define GetClassLongPtr GetClassLongPtrW
4618 #define GetClassName GetClassNameW
4619 #define GetClipboardFormatName GetClipboardFormatNameW
4620 #define GetDlgItemText GetDlgItemTextW
4621 #define GetKeyboardLayoutName GetKeyboardLayoutNameW
4622 #define GetKeyNameText GetKeyNameTextW
4623 #define GetMenuItemInfo GetMenuItemInfoW
4624 #define GetMenuString GetMenuStringW
4625 #define GetMessage GetMessageW
4626 #define GetMonitorInfo GetMonitorInfoW
4627 #define GetProp GetPropW
4628 #define GetRawInputDeviceInfo GetRawInputDeviceInfoW
4629 #define GetTabbedTextExtent GetTabbedTextExtentW
4630 #define GetUserObjectInformation GetUserObjectInformationW
4631 #define GetWindowLong GetWindowLongW
4632 #define GetWindowLongPtr GetWindowLongPtrW
4633 #define GetWindowText GetWindowTextW
4634 #define GetWindowTextLength GetWindowTextLengthW
4635 #define GetAltTabInfo GetAltTabInfoW
4636 #define GetWindowModuleFileName GetWindowModuleFileNameW
4637 #define GrayString GrayStringW
4638 #define InsertMenu InsertMenuW
4639 #define InsertMenuItem InsertMenuItemW
4640 #define IsCharAlpha IsCharAlphaW
4641 #define IsCharAlphaNumeric IsCharAlphaNumericW
4642 #define IsCharLower IsCharLowerW
4643 #define IsCharUpper IsCharUpperW
4644 #define IsDialogMessage IsDialogMessageW
4645 #define LoadAccelerators LoadAcceleratorsW
4646 #define LoadBitmap LoadBitmapW
4647 #define LoadCursor LoadCursorW
4648 #define LoadCursorFromFile LoadCursorFromFileW
4649 #define LoadIcon LoadIconW
4650 #define LoadImage LoadImageW
4651 #define LoadKeyboardLayout LoadKeyboardLayoutW
4652 #define LoadMenu LoadMenuW
4653 #define LoadMenuIndirect LoadMenuIndirectW
4654 #define LoadString LoadStringW
4655 #define MapVirtualKey MapVirtualKeyW
4656 #define MapVirtualKeyEx MapVirtualKeyExW
4657 #define MessageBox MessageBoxW
4658 #define MessageBoxEx MessageBoxExW
4659 #define MessageBoxIndirect MessageBoxIndirectW
4660 #define ModifyMenu ModifyMenuW
4661 #define OemToChar OemToCharW
4662 #define OemToCharBuff OemToCharBuffW
4663 #define OpenDesktop OpenDesktopW
4664 #define OpenWindowStation OpenWindowStationW
4665 #define PeekMessage PeekMessageW
4666 #define PostAppMessage PostAppMessageW
4667 #define PostMessage PostMessageW
4668 #define PostThreadMessage PostThreadMessageW
4669 #define RealGetWindowClass RealGetWindowClassW
4670 #define RegisterClass RegisterClassW
4671 #define RegisterClassEx RegisterClassExW
4672 #define RegisterClipboardFormat RegisterClipboardFormatW
4673 #define RegisterDeviceNotification RegisterDeviceNotificationW
4674 #define RegisterWindowMessage RegisterWindowMessageW
4675 #define RemoveProp RemovePropW
4676 #define SendDlgItemMessage SendDlgItemMessageW
4677 #define SendMessage SendMessageW
4678 #define SendMessageCallback SendMessageCallbackW
4679 #define SendMessageTimeout SendMessageTimeoutW
4680 #define SendNotifyMessage SendNotifyMessageW
4681 #define SetClassLong SetClassLongW
4682 #define SetClassLongPtr SetClassLongPtrW
4683 #define SetDlgItemText SetDlgItemTextW
4684 #define SetMenuItemInfo SetMenuItemInfoW
4685 #define SetProp SetPropW
4686 #define SetUserObjectInformation SetUserObjectInformationW
4687 #define SetWindowLong SetWindowLongW
4688 #define SetWindowLongPtr SetWindowLongPtrW
4689 #define SetWindowsHook SetWindowsHookW
4690 #define SetWindowsHookEx SetWindowsHookExW
4691 #define SetWindowText SetWindowTextW
4692 #define SystemParametersInfo SystemParametersInfoW
4693 #define TabbedTextOut TabbedTextOutW
4694 #define TranslateAccelerator TranslateAcceleratorW
4695 #define UnregisterClass UnregisterClassW
4696 #define VkKeyScan VkKeyScanW
4697 #define VkKeyScanEx VkKeyScanExW
4698 #define WinHelp WinHelpW
4699 #define wsprintf wsprintfW
4700 #define wvsprintf wvsprintfW
4701
4702 #ifndef NOGDI
4703 typedef ICONMETRICSW ICONMETRICS, *LPICONMETRICS;
4704 typedef NONCLIENTMETRICSW NONCLIENTMETRICS, *LPNONCLIENTMETRICS;
4705 #define ChangeDisplaySettings ChangeDisplaySettingsW
4706 #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
4707 #define CreateDesktop CreateDesktopW
4708 #define EnumDisplaySettings EnumDisplaySettingsW
4709 #define EnumDisplaySettingsEx EnumDisplaySettingsExW
4710 #define EnumDisplayDevices EnumDisplayDevicesW
4711 #endif  /* NOGDI */
4712
4713 #else   /* UNICODE */
4714 #define EDITWORDBREAKPROC       EDITWORDBREAKPROCA
4715 #define PROPENUMPROC            PROPENUMPROCA
4716 #define PROPENUMPROCEX          PROPENUMPROCEXA
4717 #define DEKSTOPENUMPROC         DEKSTOPENUMPROCA
4718 #define WINSTAENUMPROC          WINSTAENUMPROCA
4719 #define PROPENUMPROC            PROPENUMPROCA
4720 #define PROPENUMPROCEX          PROPENUMPROCEXA
4721 #define MAKEINTRESOURCE         MAKEINTRESOURCEA
4722
4723 typedef WNDCLASSA WNDCLASS, *LPWNDCLASS, *PWNDCLASS;
4724 typedef WNDCLASSEXA WNDCLASSEX, *LPWNDCLASSEX, *PWNDCLASSEX;
4725 typedef MENUITEMINFOA MENUITEMINFO, *LPMENUITEMINFO;
4726 typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
4727 typedef MSGBOXPARAMSA MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
4728 typedef HIGHCONTRASTA HIGHCONTRAST, *LPHIGHCONTRAST;
4729 typedef SERIALKEYSA SERIALKEYS, *LPSERIALKEYS;
4730 typedef SOUNDSENTRYA SOUNDSENTRY, *LPSOUNDSENTRY;
4731 typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
4732 typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
4733 typedef MDICREATESTRUCTA MDICREATESTRUCT, *LPMDICREATESTRUCT;
4734 typedef MULTIKEYHELPA MULTIKEYHELP, *PMULTIKEYHELP, *LPMULTIKEYHELP;
4735 typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
4736 #define AppendMenu AppendMenuA
4737 #define BroadcastSystemMessage BroadcastSystemMessageA
4738 #define BroadcastSystemMessageEx BroadcastSystemMessageExA
4739 #define CallMsgFilter CallMsgFilterA
4740 #define CallWindowProc CallWindowProcA
4741 #define ChangeMenu ChangeMenuA
4742 #define CharLower CharLowerA
4743 #define CharLowerBuff CharLowerBuffA
4744 #define CharNext CharNextA
4745 #define CharPrev CharPrevA
4746 #define CharToOem CharToOemA
4747 #define CharToOemBuff CharToOemBuffA
4748 #define CharUpper CharUpperA
4749 #define CharUpperBuff CharUpperBuffA
4750 #define CopyAcceleratorTable CopyAcceleratorTableA
4751 #define CreateAcceleratorTable CreateAcceleratorTableA
4752 #define CreateDialog CreateDialogA
4753 #define CreateDialogIndirect CreateDialogIndirectA
4754 #define CreateDialogIndirectParam CreateDialogIndirectParamA
4755 #define CreateDialogParam CreateDialogParamA
4756 #define CreateMDIWindow CreateMDIWindowA
4757 #define CreateWindow CreateWindowA
4758 #define CreateWindowEx CreateWindowExA
4759 #define CreateWindowStation CreateWindowStationA
4760 #define DefDlgProc DefDlgProcA
4761 #define DefFrameProc DefFrameProcA
4762 #define DefMDIChildProc DefMDIChildProcA
4763 #define DefWindowProc DefWindowProcA
4764 #define DialogBox DialogBoxA
4765 #define DialogBoxIndirect DialogBoxIndirectA
4766 #define DialogBoxIndirectParam DialogBoxIndirectParamA
4767 #define DialogBoxParam DialogBoxParamA
4768 #define DispatchMessage DispatchMessageA
4769 #define DlgDirList DlgDirListA
4770 #define DlgDirListComboBox DlgDirListComboBoxA
4771 #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
4772 #define DlgDirSelectEx DlgDirSelectExA
4773 #define DrawState DrawStateA
4774 #define DrawText DrawTextA
4775 #define DrawTextEx DrawTextExA
4776 #define EnumDesktops EnumDesktopsA
4777 #define EnumProps EnumPropsA
4778 #define EnumPropsEx EnumPropsExA
4779 #define EnumWindowStations EnumWindowStationsA
4780 #define FindWindow FindWindowA
4781 #define FindWindowEx FindWindowExA
4782 #define GetClassInfo GetClassInfoA
4783 #define GetClassInfoEx GetClassInfoExA
4784 #define GetClassLong GetClassLongA
4785 #define GetClassLongPtr GetClassLongPtrA
4786 #define GetClassName GetClassNameA
4787 #define GetClipboardFormatName GetClipboardFormatNameA
4788 #define GetDlgItemText GetDlgItemTextA
4789 #define GetKeyboardLayoutName GetKeyboardLayoutNameA
4790 #define GetKeyNameText GetKeyNameTextA
4791 #define GetMenuItemInfo GetMenuItemInfoA
4792 #define GetMenuString GetMenuStringA
4793 #define GetMessage GetMessageA
4794 #define GetMonitorInfo GetMonitorInfoA
4795 #define GetProp GetPropA
4796 #define GetRawInputDeviceInfo GetRawInputDeviceInfoA
4797 #define GetTabbedTextExtent GetTabbedTextExtentA
4798 #define GetUserObjectInformation GetUserObjectInformationA
4799 #define GetWindowLong GetWindowLongA
4800 #define GetWindowLongPtr GetWindowLongPtrA
4801 #define GetWindowText GetWindowTextA
4802 #define GetWindowTextLength GetWindowTextLengthA
4803 #define GetAltTabInfo GetAltTabInfoA
4804 #define GetWindowModuleFileName GetWindowModuleFileNameA
4805 #define GrayString GrayStringA
4806 #define InsertMenu InsertMenuA
4807 #define InsertMenuItem InsertMenuItemA
4808 #define IsCharAlpha IsCharAlphaA
4809 #define IsCharAlphaNumeric IsCharAlphaNumericA
4810 #define IsCharLower IsCharLowerA
4811 #define IsCharUpper IsCharUpperA
4812 #define IsDialogMessage IsDialogMessageA
4813 #define LoadAccelerators LoadAcceleratorsA
4814 #define LoadBitmap LoadBitmapA
4815 #define LoadCursor LoadCursorA
4816 #define LoadIcon LoadIconA
4817 #define LoadCursorFromFile LoadCursorFromFileA
4818 #define LoadImage LoadImageA
4819 #define LoadKeyboardLayout LoadKeyboardLayoutA
4820 #define LoadMenu LoadMenuA
4821 #define LoadMenuIndirect LoadMenuIndirectA
4822 #define LoadString LoadStringA
4823 #define MapVirtualKey MapVirtualKeyA
4824 #define MapVirtualKeyEx MapVirtualKeyExA
4825 #define MessageBox MessageBoxA
4826 #define MessageBoxEx MessageBoxExA
4827 #define MessageBoxIndirect MessageBoxIndirectA
4828 #define ModifyMenu ModifyMenuA
4829 #define OemToChar OemToCharA
4830 #define OemToCharBuff OemToCharBuffA
4831 #define OpenDesktop OpenDesktopA
4832 #define OpenWindowStation OpenWindowStationA
4833 #define PeekMessage PeekMessageA
4834 #define PostAppMessage PostAppMessageA
4835 #define PostMessage PostMessageA
4836 #define PostThreadMessage PostThreadMessageA
4837 #define RealGetWindowClass RealGetWindowClassA
4838 #define RegisterClass RegisterClassA
4839 #define RegisterClassEx RegisterClassExA
4840 #define RegisterClipboardFormat RegisterClipboardFormatA
4841 #define RegisterDeviceNotification RegisterDeviceNotificationA
4842 #define RegisterWindowMessage RegisterWindowMessageA
4843 #define RemoveProp RemovePropA
4844 #define SendDlgItemMessage SendDlgItemMessageA
4845 #define SendMessage SendMessageA
4846 #define SendMessageCallback SendMessageCallbackA
4847 #define SendMessageTimeout SendMessageTimeoutA
4848 #define SendNotifyMessage SendNotifyMessageA
4849 #define SetClassLong SetClassLongA
4850 #define SetClassLongPtr SetClassLongPtrA
4851 #define SetDlgItemText SetDlgItemTextA
4852 #define SetMenuItemInfo SetMenuItemInfoA
4853 #define SetProp SetPropA
4854 #define SetUserObjectInformation SetUserObjectInformationA
4855 #define SetWindowLong SetWindowLongA
4856 #define SetWindowLongPtr SetWindowLongPtrA
4857 #define SetWindowsHook SetWindowsHookA
4858 #define SetWindowsHookEx SetWindowsHookExA
4859 #define SetWindowText SetWindowTextA
4860 #define SystemParametersInfo SystemParametersInfoA
4861 #define TabbedTextOut TabbedTextOutA
4862 #define TranslateAccelerator TranslateAcceleratorA
4863 #define UnregisterClass UnregisterClassA
4864 #define VkKeyScan VkKeyScanA
4865 #define VkKeyScanEx VkKeyScanExA
4866 #define WinHelp WinHelpA
4867 #define wsprintf wsprintfA
4868 #define wvsprintf wvsprintfA
4869
4870 #ifndef NOGDI
4871 typedef ICONMETRICSA  ICONMETRICS, *LPICONMETRICS;
4872 typedef NONCLIENTMETRICSA  NONCLIENTMETRICS, *LPNONCLIENTMETRICS;
4873 #define ChangeDisplaySettings ChangeDisplaySettingsA
4874 #define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
4875 #define CreateDesktop CreateDesktopA
4876 #define EnumDisplaySettings EnumDisplaySettingsA
4877 #define EnumDisplaySettingsEx EnumDisplaySettingsExA
4878 #define EnumDisplayDevices EnumDisplayDevicesA
4879 #endif  /* NOGDI */
4880 #endif  /* UNICODE */
4881 #endif  /* RC_INVOKED */
4882
4883 _END_C_DECLS
4884
4885 /* End selective inclusion on behalf of <winuser.h>, when done with
4886  * inclusion of <winuser.h> itself.
4887  */
4888 #undef __WINUSER_H_SOURCED__
4889 #endif  /* !_WINUSER_H: $RCSfile$: end of file */