VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/winuser.h@ 19982

Last change on this file since 19982 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette