xref: /reactos/sdk/include/psdk/winuser.h (revision 0707475f)
1c2c66affSColin Finck #ifndef _WINUSER_H
2c2c66affSColin Finck #define _WINUSER_H
3c2c66affSColin Finck 
4c2c66affSColin Finck #ifdef __cplusplus
5c2c66affSColin Finck extern "C" {
6c2c66affSColin Finck #endif
7c2c66affSColin Finck 
8c2c66affSColin Finck #ifdef _MSC_VER
9c2c66affSColin Finck #pragma warning(push)
10c2c66affSColin Finck #pragma warning(disable:4201)
11c2c66affSColin Finck #pragma warning(disable:4820)
12c2c66affSColin Finck #endif
13c2c66affSColin Finck 
14c2c66affSColin Finck #if !defined(_USER32_)
15c2c66affSColin Finck #define WINUSERAPI DECLSPEC_IMPORT
16c2c66affSColin Finck #else
17c2c66affSColin Finck #define WINUSERAPI
18c2c66affSColin Finck #endif
19c2c66affSColin Finck 
20c2c66affSColin Finck #define FALT	16
21c2c66affSColin Finck #define FCONTROL	8
22c2c66affSColin Finck #define FNOINVERT	2
23c2c66affSColin Finck #define FSHIFT	4
24c2c66affSColin Finck #define FVIRTKEY	1
25c2c66affSColin Finck #define ATF_TIMEOUTON	1
26c2c66affSColin Finck #define ATF_ONOFFFEEDBACK	2
27c2c66affSColin Finck #define ATF_AVAILABLE	4 /* May be obsolete. Not in recent MS docs. */
28c2c66affSColin Finck #define WH_MIN	(-1)
29c2c66affSColin Finck #define WH_MSGFILTER	(-1)
30c2c66affSColin Finck #define WH_JOURNALRECORD	0
31c2c66affSColin Finck #define WH_JOURNALPLAYBACK	1
32c2c66affSColin Finck #define WH_KEYBOARD	2
33c2c66affSColin Finck #define WH_GETMESSAGE	3
34c2c66affSColin Finck #define WH_CALLWNDPROC	4
35c2c66affSColin Finck #define WH_CBT	5
36c2c66affSColin Finck #define WH_SYSMSGFILTER	6
37c2c66affSColin Finck #define WH_MOUSE	7
38c2c66affSColin Finck #define WH_HARDWARE	8
39c2c66affSColin Finck #define WH_DEBUG	9
40c2c66affSColin Finck #define WH_SHELL	10
41c2c66affSColin Finck #define WH_FOREGROUNDIDLE	11
42c2c66affSColin Finck #define WH_CALLWNDPROCRET	12
43c2c66affSColin Finck #define WH_KEYBOARD_LL	13
44c2c66affSColin Finck #define WH_MOUSE_LL	14
45c2c66affSColin Finck #define WH_MAX		14
46c2c66affSColin Finck #define WH_MINHOOK	WH_MIN
47c2c66affSColin Finck #define WH_MAXHOOK	WH_MAX
48c2c66affSColin Finck #define HC_ACTION	0
49c2c66affSColin Finck #define HC_GETNEXT	1
50c2c66affSColin Finck #define HC_SKIP	2
51c2c66affSColin Finck #define HC_NOREMOVE	3
52c2c66affSColin Finck #define HC_NOREM	3
53c2c66affSColin Finck #define HC_SYSMODALON	4
54c2c66affSColin Finck #define HC_SYSMODALOFF	5
55c2c66affSColin Finck #define HCBT_MOVESIZE	0
56c2c66affSColin Finck #define HCBT_MINMAX	1
57c2c66affSColin Finck #define HCBT_QS	2
58c2c66affSColin Finck #define HCBT_CREATEWND	3
59c2c66affSColin Finck #define HCBT_DESTROYWND	4
60c2c66affSColin Finck #define HCBT_ACTIVATE	5
61c2c66affSColin Finck #define HCBT_CLICKSKIPPED	6
62c2c66affSColin Finck #define HCBT_KEYSKIPPED	7
63c2c66affSColin Finck #define HCBT_SYSCOMMAND	8
64c2c66affSColin Finck #define HCBT_SETFOCUS	9
65c2c66affSColin Finck 
66c2c66affSColin Finck /* Predefined Clipboard Formats */
67c2c66affSColin Finck #define CF_TEXT	1
68c2c66affSColin Finck #define CF_BITMAP	2
69c2c66affSColin Finck #define CF_METAFILEPICT	3
70c2c66affSColin Finck #define CF_SYLK	4
71c2c66affSColin Finck #define CF_DIF	5
72c2c66affSColin Finck #define CF_TIFF	6
73c2c66affSColin Finck #define CF_OEMTEXT	7
74c2c66affSColin Finck #define CF_DIB	8
75c2c66affSColin Finck #define CF_PALETTE	9
76c2c66affSColin Finck #define CF_PENDATA	10
77c2c66affSColin Finck #define CF_RIFF	11
78c2c66affSColin Finck #define CF_WAVE	12
79c2c66affSColin Finck #define CF_UNICODETEXT	13
80c2c66affSColin Finck #define CF_ENHMETAFILE	14
81c2c66affSColin Finck 
82c2c66affSColin Finck #if(WINVER >= 0x0400)
83c2c66affSColin Finck #define CF_HDROP 15
84c2c66affSColin Finck #define CF_LOCALE 16
85c2c66affSColin Finck #endif
86c2c66affSColin Finck 
87c2c66affSColin Finck #if(WINVER >= 0x0500)
88c2c66affSColin Finck #define CF_DIBV5 17
89c2c66affSColin Finck #endif
90c2c66affSColin Finck 
91c2c66affSColin Finck #if(WINVER >= 0x0500)
92c2c66affSColin Finck #define CF_MAX 18
93c2c66affSColin Finck #elif(WINVER >= 0x0400)
94c2c66affSColin Finck #define CF_MAX 17
95c2c66affSColin Finck #else
96c2c66affSColin Finck #define CF_MAX 15
97c2c66affSColin Finck #endif
98c2c66affSColin Finck 
99c2c66affSColin Finck #define CF_OWNERDISPLAY	128
100c2c66affSColin Finck #define CF_DSPTEXT	129
101c2c66affSColin Finck #define CF_DSPBITMAP	130
102c2c66affSColin Finck #define CF_DSPMETAFILEPICT	131
103c2c66affSColin Finck #define CF_DSPENHMETAFILE	142
104c2c66affSColin Finck #define CF_PRIVATEFIRST	512
105c2c66affSColin Finck #define CF_PRIVATELAST	767
106c2c66affSColin Finck #define CF_GDIOBJFIRST	768
107c2c66affSColin Finck #define CF_GDIOBJLAST	1023
108c2c66affSColin Finck 
109c2c66affSColin Finck #define HKL_NEXT	1
110c2c66affSColin Finck #define HKL_PREV	0
111c2c66affSColin Finck #define KLF_ACTIVATE	1
112c2c66affSColin Finck #define KLF_SUBSTITUTE_OK	2
113c2c66affSColin Finck #define KLF_UNLOADPREVIOUS	4
114c2c66affSColin Finck #define KLF_REORDER	8
115c2c66affSColin Finck #define KLF_REPLACELANG	16
116c2c66affSColin Finck #define KLF_NOTELLSHELL	128
117c2c66affSColin Finck #define KLF_SETFORPROCESS	256
118c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
119c2c66affSColin Finck #define KLF_SHIFTLOCK  0x00010000
120c2c66affSColin Finck #define KLF_RESET 0x40000000
121c2c66affSColin Finck #endif  /*(_WIN32_WINNT >= 0x0500) */
122c2c66affSColin Finck #define KL_NAMELENGTH 9
123c2c66affSColin Finck #if (WINVER >= 0x0500)
124c2c66affSColin Finck #define INPUTLANGCHANGE_BACKWARD   4
125c2c66affSColin Finck #define INPUTLANGCHANGE_FORWARD    2
126c2c66affSColin Finck #define INPUTLANGCHANGE_SYSCHARSET 1
127c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
128c2c66affSColin Finck #define MF_ENABLED	0
129c2c66affSColin Finck #define MF_GRAYED	1
130c2c66affSColin Finck #define MF_DISABLED	2
131c2c66affSColin Finck #define MF_BITMAP	4
132c2c66affSColin Finck #define MF_CHECKED	8
133c2c66affSColin Finck #define MF_MENUBARBREAK 32
134c2c66affSColin Finck #define MF_MENUBREAK	64
135c2c66affSColin Finck #define MF_OWNERDRAW	256
136c2c66affSColin Finck #define MF_POPUP	16
137c2c66affSColin Finck #define MF_SEPARATOR	0x800
138c2c66affSColin Finck #define MF_STRING	0
139c2c66affSColin Finck #define MF_UNCHECKED	0
140c2c66affSColin Finck #define MF_DEFAULT	4096
141c2c66affSColin Finck #define MF_SYSMENU	0x2000
142c2c66affSColin Finck #define MF_HELP	0x4000
143c2c66affSColin Finck #define MF_END	128
144c2c66affSColin Finck #define MF_RIGHTJUSTIFY	0x4000
145c2c66affSColin Finck #define MF_MOUSESELECT	0x8000
146c2c66affSColin Finck #define MF_INSERT 0
147c2c66affSColin Finck #define MF_CHANGE 128
148c2c66affSColin Finck #define MF_APPEND 256
149c2c66affSColin Finck #define MF_DELETE 512
150c2c66affSColin Finck #define MF_REMOVE 4096
151c2c66affSColin Finck #define MF_USECHECKBITMAPS 512
152c2c66affSColin Finck #define MF_UNHILITE 0
153c2c66affSColin Finck #define MF_HILITE 128
154c2c66affSColin Finck 
155c2c66affSColin Finck /* Also defined in dbt.h */
156c2c66affSColin Finck #define BSM_ALLCOMPONENTS	0
157c2c66affSColin Finck #define BSM_APPLICATIONS	8
158c2c66affSColin Finck #define BSM_ALLDESKTOPS		16
159c2c66affSColin Finck #define BSM_INSTALLABLEDRIVERS	4
160c2c66affSColin Finck #define BSM_NETDRIVER	2
161c2c66affSColin Finck #define BSM_VXDS	1
162c2c66affSColin Finck #define BSF_FLUSHDISK 0x00000004
163c2c66affSColin Finck #define BSF_FORCEIFHUNG 0x00000020
164c2c66affSColin Finck #define BSF_IGNORECURRENTTASK 0x00000002
165c2c66affSColin Finck #define BSF_NOHANG 0x00000008
166c2c66affSColin Finck #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
167c2c66affSColin Finck #define BSF_POSTMESSAGE 0x00000010
168c2c66affSColin Finck #define BSF_QUERY 0x00000001
169c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
170c2c66affSColin Finck #define BSF_ALLOWSFW 0x00000080
171c2c66affSColin Finck #define BSF_SENDNOTIFYMESSAGE 0x00000100
172c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
173c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
174c2c66affSColin Finck #define BSF_LUID 0x00000400
175c2c66affSColin Finck #define BSF_RETURNHDESK 0x00000200
176c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0501) */
177c2c66affSColin Finck 
178c2c66affSColin Finck #define BROADCAST_QUERY_DENY	1112363332
179c2c66affSColin Finck #define ENUM_CURRENT_SETTINGS	((DWORD)-1)
180c2c66affSColin Finck #define ENUM_REGISTRY_SETTINGS	((DWORD)-2)
181c2c66affSColin Finck #define CDS_UPDATEREGISTRY	1
182c2c66affSColin Finck #define CDS_TEST	2
183c2c66affSColin Finck #define CDS_FULLSCREEN	4
184c2c66affSColin Finck #define CDS_GLOBAL	8
185c2c66affSColin Finck #define CDS_SET_PRIMARY	16
186c2c66affSColin Finck #define CDS_VIDEOPARAMETERS 20
187c2c66affSColin Finck #define CDS_RESET	0x40000000
188c2c66affSColin Finck #define CDS_SETRECT	0x20000000
189c2c66affSColin Finck #define CDS_NORESET	0x10000000
190c2c66affSColin Finck #define DISP_CHANGE_SUCCESSFUL	0
191c2c66affSColin Finck #define DISP_CHANGE_RESTART	1
192c2c66affSColin Finck #define DISP_CHANGE_BADFLAGS	(-4)
193c2c66affSColin Finck #define DISP_CHANGE_BADPARAM	(-5)
194c2c66affSColin Finck #define DISP_CHANGE_FAILED	(-1)
195c2c66affSColin Finck #define DISP_CHANGE_BADMODE	(-2)
196c2c66affSColin Finck #define DISP_CHANGE_NOTUPDATED	(-3)
197c2c66affSColin Finck #define BST_CHECKED	1
198c2c66affSColin Finck #define BST_INDETERMINATE	2
199c2c66affSColin Finck #define BST_UNCHECKED	0
200c2c66affSColin Finck #define BST_FOCUS	8
201c2c66affSColin Finck #define BST_PUSHED	4
202c2c66affSColin Finck #define MF_BYCOMMAND	0
203c2c66affSColin Finck #define MF_BYPOSITION	1024
204c2c66affSColin Finck #define MF_UNCHECKED	0
205c2c66affSColin Finck #define MF_HILITE	128
206c2c66affSColin Finck #define MF_UNHILITE	0
207c2c66affSColin Finck #define CWP_ALL 0
208c2c66affSColin Finck #define CWP_SKIPINVISIBLE	1
209c2c66affSColin Finck #define CWP_SKIPDISABLED	2
210c2c66affSColin Finck #define CWP_SKIPTRANSPARENT	4
211c2c66affSColin Finck #define IMAGE_BITMAP	0
212c2c66affSColin Finck #define IMAGE_ICON	1
213c2c66affSColin Finck #define IMAGE_CURSOR	2
214c2c66affSColin Finck #define IMAGE_ENHMETAFILE	3
215c2c66affSColin Finck #define DF_ALLOWOTHERACCOUNTHOOK	1
216c2c66affSColin Finck #define DESKTOP_CREATEMENU	4
217c2c66affSColin Finck #define DESKTOP_CREATEWINDOW	2
218c2c66affSColin Finck #define DESKTOP_ENUMERATE	64
219c2c66affSColin Finck #define DESKTOP_HOOKCONTROL	8
220c2c66affSColin Finck #define DESKTOP_JOURNALPLAYBACK	32
221c2c66affSColin Finck #define DESKTOP_JOURNALRECORD	16
222c2c66affSColin Finck #define DESKTOP_READOBJECTS	1
223c2c66affSColin Finck #define DESKTOP_SWITCHDESKTOP	256
224c2c66affSColin Finck #define DESKTOP_WRITEOBJECTS	128
225c2c66affSColin Finck #define CW_USEDEFAULT	((int)0x80000000)
226c2c66affSColin Finck #define WS_BORDER	0x800000
227c2c66affSColin Finck #define WS_CAPTION	0xc00000
228c2c66affSColin Finck #define WS_CHILD	0x40000000
229c2c66affSColin Finck #define WS_CHILDWINDOW	0x40000000
230c2c66affSColin Finck #define WS_CLIPCHILDREN 0x2000000
231c2c66affSColin Finck #define WS_CLIPSIBLINGS 0x4000000
232c2c66affSColin Finck #define WS_DISABLED	0x8000000
233c2c66affSColin Finck #define WS_DLGFRAME	0x400000
234c2c66affSColin Finck #define WS_GROUP	0x20000
235c2c66affSColin Finck #define WS_HSCROLL	0x100000
236c2c66affSColin Finck #define WS_ICONIC	0x20000000
237c2c66affSColin Finck #define WS_MAXIMIZE	0x1000000
238c2c66affSColin Finck #define WS_MAXIMIZEBOX	0x10000
239c2c66affSColin Finck #define WS_MINIMIZE	0x20000000
240c2c66affSColin Finck #define WS_MINIMIZEBOX	0x20000
241c2c66affSColin Finck #define WS_OVERLAPPED	0
242c2c66affSColin Finck #define WS_OVERLAPPEDWINDOW	0xcf0000
243c2c66affSColin Finck #define WS_POPUP	0x80000000
244c2c66affSColin Finck #define WS_POPUPWINDOW	0x80880000
245c2c66affSColin Finck #define WS_SIZEBOX	0x40000
246c2c66affSColin Finck #define WS_SYSMENU	0x80000
247c2c66affSColin Finck #define WS_TABSTOP	0x10000
248c2c66affSColin Finck #define WS_THICKFRAME	0x40000
249c2c66affSColin Finck #define WS_TILED	0
250c2c66affSColin Finck #define WS_TILEDWINDOW	0xcf0000
251c2c66affSColin Finck #define WS_VISIBLE	0x10000000
252c2c66affSColin Finck #define WS_VSCROLL	0x200000
253c2c66affSColin Finck #define MDIS_ALLCHILDSTYLES	1
254c2c66affSColin Finck #define BS_3STATE	5
255c2c66affSColin Finck #define BS_AUTO3STATE	6
256c2c66affSColin Finck #define BS_AUTOCHECKBOX	3
257c2c66affSColin Finck #define BS_AUTORADIOBUTTON	9
258c2c66affSColin Finck #define BS_BITMAP	128
259c2c66affSColin Finck #define BS_BOTTOM	0x800
260c2c66affSColin Finck #define BS_CENTER	0x300
261c2c66affSColin Finck #define BS_CHECKBOX	2
262c2c66affSColin Finck #define BS_DEFPUSHBUTTON	1
263c2c66affSColin Finck #define BS_GROUPBOX	7
264c2c66affSColin Finck #define BS_ICON	64
265c2c66affSColin Finck #define BS_LEFT	256
266c2c66affSColin Finck #define BS_LEFTTEXT	32
267c2c66affSColin Finck #define BS_MULTILINE	0x2000
268c2c66affSColin Finck #define BS_NOTIFY	0x4000
269c2c66affSColin Finck #define BS_OWNERDRAW	0xb
270c2c66affSColin Finck #define BS_TYPEMASK	0xFL
271c2c66affSColin Finck #define BS_PUSHBUTTON	0
272c2c66affSColin Finck #define BS_PUSHLIKE	4096
273c2c66affSColin Finck #define BS_RADIOBUTTON 4
274c2c66affSColin Finck #define BS_RIGHT	512
275c2c66affSColin Finck #define BS_RIGHTBUTTON	32
276c2c66affSColin Finck #define BS_TEXT	0
277c2c66affSColin Finck #define BS_TOP	0x400
278c2c66affSColin Finck #define BS_USERBUTTON	8
279c2c66affSColin Finck #define BS_VCENTER	0xc00
280c2c66affSColin Finck #define BS_FLAT	0x8000
281c2c66affSColin Finck #define CBS_AUTOHSCROLL	64
282c2c66affSColin Finck #define CBS_DISABLENOSCROLL	0x800
283c2c66affSColin Finck #define CBS_DROPDOWN	2
284c2c66affSColin Finck #define CBS_DROPDOWNLIST	3
285c2c66affSColin Finck #define CBS_HASSTRINGS	512
286c2c66affSColin Finck #define CBS_LOWERCASE	0x4000
287c2c66affSColin Finck #define CBS_NOINTEGRALHEIGHT	0x400
288c2c66affSColin Finck #define CBS_OEMCONVERT	128
289c2c66affSColin Finck #define CBS_OWNERDRAWFIXED	16
290c2c66affSColin Finck #define CBS_OWNERDRAWVARIABLE	32
291c2c66affSColin Finck #define CBS_SIMPLE	1
292c2c66affSColin Finck #define CBS_SORT	256
293c2c66affSColin Finck #define CBS_UPPERCASE	0x2000
294c2c66affSColin Finck #define ES_AUTOHSCROLL	128
295c2c66affSColin Finck #define ES_AUTOVSCROLL	64
296c2c66affSColin Finck #define ES_CENTER	1
297c2c66affSColin Finck #define ES_LEFT	0
298c2c66affSColin Finck #define ES_LOWERCASE 16
299c2c66affSColin Finck #define ES_MULTILINE 4
300c2c66affSColin Finck #define ES_NOHIDESEL 256
301c2c66affSColin Finck #define ES_NUMBER 0x2000
302c2c66affSColin Finck #define ES_OEMCONVERT 0x400
303c2c66affSColin Finck #define ES_PASSWORD 32
304c2c66affSColin Finck #define ES_READONLY 0x800
305c2c66affSColin Finck #define ES_RIGHT 2
306c2c66affSColin Finck #define ES_UPPERCASE 8
307c2c66affSColin Finck #define ES_WANTRETURN 4096
308c2c66affSColin Finck #define LBS_DISABLENOSCROLL 4096
309c2c66affSColin Finck #define LBS_EXTENDEDSEL 0x800
310c2c66affSColin Finck #define LBS_HASSTRINGS 64
311c2c66affSColin Finck #define LBS_MULTICOLUMN 512
312c2c66affSColin Finck #define LBS_MULTIPLESEL 8
313c2c66affSColin Finck #define LBS_NODATA	0x2000
314c2c66affSColin Finck #define LBS_NOINTEGRALHEIGHT 256
315c2c66affSColin Finck #define LBS_NOREDRAW 4
316c2c66affSColin Finck #define LBS_NOSEL 0x4000
317c2c66affSColin Finck #define LBS_NOTIFY 1
318c2c66affSColin Finck #define LBS_OWNERDRAWFIXED 16
319c2c66affSColin Finck #define LBS_OWNERDRAWVARIABLE 32
320c2c66affSColin Finck #define LBS_SORT 2
321c2c66affSColin Finck #define LBS_STANDARD 0xa00003
322c2c66affSColin Finck #define LBS_USETABSTOPS 128
323c2c66affSColin Finck #define LBS_WANTKEYBOARDINPUT 0x400
324c2c66affSColin Finck #define LBS_COMBOBOX 0x8000
325c2c66affSColin Finck #define SBS_BOTTOMALIGN 4
326c2c66affSColin Finck #define SBS_HORZ 0
327c2c66affSColin Finck #define SBS_LEFTALIGN 2
328c2c66affSColin Finck #define SBS_RIGHTALIGN 4
329c2c66affSColin Finck #define SBS_SIZEBOX 8
330c2c66affSColin Finck #define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
331c2c66affSColin Finck #define SBS_SIZEBOXTOPLEFTALIGN 2
332c2c66affSColin Finck #define SBS_SIZEGRIP 16
333c2c66affSColin Finck #define SBS_TOPALIGN 2
334c2c66affSColin Finck #define SBS_VERT 1
335c2c66affSColin Finck #define SS_BITMAP 14
336c2c66affSColin Finck #define SS_BLACKFRAME 7
337c2c66affSColin Finck #define SS_BLACKRECT 4
338c2c66affSColin Finck #define SS_CENTER 1
339c2c66affSColin Finck #define SS_CENTERIMAGE 512
340c2c66affSColin Finck #define SS_EDITCONTROL 0x2000
341c2c66affSColin Finck #define SS_ENHMETAFILE 15
342c2c66affSColin Finck #define SS_ETCHEDFRAME 18
343c2c66affSColin Finck #define SS_ETCHEDHORZ 16
344c2c66affSColin Finck #define SS_ETCHEDVERT 17
345c2c66affSColin Finck #define SS_GRAYFRAME 8
346c2c66affSColin Finck #define SS_GRAYRECT 5
347c2c66affSColin Finck #define SS_ICON 3
348c2c66affSColin Finck #define SS_LEFT 0
349c2c66affSColin Finck #define SS_LEFTNOWORDWRAP 0xc
350c2c66affSColin Finck #define SS_NOPREFIX 128
351c2c66affSColin Finck #define SS_NOTIFY 256
352c2c66affSColin Finck #define SS_OWNERDRAW 0xd
353c2c66affSColin Finck #define SS_REALSIZECONTROL 0x040
354c2c66affSColin Finck #define SS_REALSIZEIMAGE 0x800
355c2c66affSColin Finck #define SS_RIGHT 2
356c2c66affSColin Finck #define SS_RIGHTJUST 0x400
357c2c66affSColin Finck #define SS_SIMPLE 11
358c2c66affSColin Finck #define SS_SUNKEN 4096
359c2c66affSColin Finck #define SS_WHITEFRAME 9
360c2c66affSColin Finck #define SS_WHITERECT	6
361c2c66affSColin Finck #define SS_USERITEM	10
362c2c66affSColin Finck #define SS_TYPEMASK	0x0000001FL
363c2c66affSColin Finck #define SS_ENDELLIPSIS	0x00004000L
364c2c66affSColin Finck #define SS_PATHELLIPSIS	0x00008000L
365c2c66affSColin Finck #define SS_WORDELLIPSIS	0x0000C000L
366c2c66affSColin Finck #define SS_ELLIPSISMASK 0x0000C000L
367c2c66affSColin Finck #define DS_3DLOOK 4
368c2c66affSColin Finck #define DS_ABSALIGN 1
369c2c66affSColin Finck #define DS_CENTER 0x800
370c2c66affSColin Finck #define DS_CENTERMOUSE 4096
371c2c66affSColin Finck #define DS_CONTEXTHELP 0x2000
372c2c66affSColin Finck #define DS_CONTROL 0x400
373c2c66affSColin Finck #define DS_FIXEDSYS 8
374c2c66affSColin Finck #define DS_LOCALEDIT 32
375c2c66affSColin Finck #define DS_MODALFRAME 128
376c2c66affSColin Finck #define DS_NOFAILCREATE 16
377c2c66affSColin Finck #define DS_NOIDLEMSG	256
378c2c66affSColin Finck #define DS_SETFONT 64
379c2c66affSColin Finck #define DS_SETFOREGROUND 512
380c2c66affSColin Finck #define DS_SYSMODAL 2
381c2c66affSColin Finck #define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
382c2c66affSColin Finck #define WS_EX_ACCEPTFILES 16
383c2c66affSColin Finck #define WS_EX_APPWINDOW	0x40000
384c2c66affSColin Finck #define WS_EX_CLIENTEDGE 512
385c2c66affSColin Finck #define WS_EX_COMPOSITED 0x2000000 /* XP */
386c2c66affSColin Finck #define WS_EX_CONTEXTHELP 0x400
387c2c66affSColin Finck #define WS_EX_CONTROLPARENT 0x10000
388c2c66affSColin Finck #define WS_EX_DLGMODALFRAME 1
389c2c66affSColin Finck #define WS_EX_LAYERED 0x80000   /* w2k */
390c2c66affSColin Finck #define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */
391c2c66affSColin Finck #define WS_EX_LEFT	0
392c2c66affSColin Finck #define WS_EX_LEFTSCROLLBAR	0x4000
393c2c66affSColin Finck #define WS_EX_LTRREADING	0
394c2c66affSColin Finck #define WS_EX_MDICHILD	64
395c2c66affSColin Finck #define WS_EX_NOACTIVATE 0x8000000 /* w2k */
396c2c66affSColin Finck #define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */
397c2c66affSColin Finck #define WS_EX_NOPARENTNOTIFY	4
398c2c66affSColin Finck #define WS_EX_OVERLAPPEDWINDOW	0x300
399c2c66affSColin Finck #define WS_EX_PALETTEWINDOW	0x188
400c2c66affSColin Finck #define WS_EX_RIGHT	0x1000
401c2c66affSColin Finck #define WS_EX_RIGHTSCROLLBAR	0
402c2c66affSColin Finck #define WS_EX_RTLREADING	0x2000
403c2c66affSColin Finck #define WS_EX_STATICEDGE	0x20000
404c2c66affSColin Finck #define WS_EX_TOOLWINDOW	128
405c2c66affSColin Finck #define WS_EX_TOPMOST	8
406c2c66affSColin Finck #define WS_EX_TRANSPARENT	32
407c2c66affSColin Finck #define WS_EX_WINDOWEDGE	256
408c2c66affSColin Finck #define WINSTA_ACCESSCLIPBOARD	4
409c2c66affSColin Finck #define WINSTA_ACCESSGLOBALATOMS	32
410c2c66affSColin Finck #define WINSTA_CREATEDESKTOP	8
411c2c66affSColin Finck #define WINSTA_ENUMDESKTOPS	1
412c2c66affSColin Finck #define WINSTA_ENUMERATE	256
413c2c66affSColin Finck #define WINSTA_EXITWINDOWS	64
414c2c66affSColin Finck #define WINSTA_READATTRIBUTES	2
415c2c66affSColin Finck #define WINSTA_READSCREEN	512
416c2c66affSColin Finck #define WINSTA_WRITEATTRIBUTES	16
417c2c66affSColin Finck #define WINSTA_ALL_ACCESS       895
418c2c66affSColin Finck #define DDL_READWRITE	0
419c2c66affSColin Finck #define DDL_READONLY	1
420c2c66affSColin Finck #define DDL_HIDDEN	2
421c2c66affSColin Finck #define DDL_SYSTEM	4
422c2c66affSColin Finck #define DDL_DIRECTORY	16
423c2c66affSColin Finck #define DDL_ARCHIVE	32
424c2c66affSColin Finck #define DDL_POSTMSGS	8192
425c2c66affSColin Finck #define DDL_DRIVES	16384
426c2c66affSColin Finck #define DDL_EXCLUSIVE	32768
427c2c66affSColin Finck #define DC_ACTIVE	0x00000001
428c2c66affSColin Finck #define DC_SMALLCAP	0x00000002
429c2c66affSColin Finck #define DC_ICON	0x00000004
430c2c66affSColin Finck #define DC_TEXT	0x00000008
431c2c66affSColin Finck #define DC_INBUTTON	0x00000010
432c2c66affSColin Finck #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
433c2c66affSColin Finck #define DC_GRADIENT	0x00000020
434c2c66affSColin Finck #endif
435c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
436c2c66affSColin Finck #define DC_BUTTONS	0x00001000
437c2c66affSColin Finck #endif
438c2c66affSColin Finck /* Where are these documented? */
439c2c66affSColin Finck #define DC_CAPTION	(DC_ICON|DC_TEXT|DC_BUTTONS)
440c2c66affSColin Finck #define DC_NC	(DC_CAPTION|DC_FRAME)
441c2c66affSColin Finck 
442c2c66affSColin Finck #define BDR_RAISEDOUTER	1
443c2c66affSColin Finck #define BDR_SUNKENOUTER	2
444c2c66affSColin Finck #define BDR_RAISEDINNER	4
445c2c66affSColin Finck #define BDR_SUNKENINNER	8
446c2c66affSColin Finck #define BDR_OUTER	3
447c2c66affSColin Finck #define BDR_INNER	0xc
448c2c66affSColin Finck #define BDR_RAISED	5
449c2c66affSColin Finck #define BDR_SUNKEN	10
450c2c66affSColin Finck #define EDGE_RAISED	(BDR_RAISEDOUTER|BDR_RAISEDINNER)
451c2c66affSColin Finck #define EDGE_SUNKEN	(BDR_SUNKENOUTER|BDR_SUNKENINNER)
452c2c66affSColin Finck #define EDGE_ETCHED	(BDR_SUNKENOUTER|BDR_RAISEDINNER)
453c2c66affSColin Finck #define EDGE_BUMP	(BDR_RAISEDOUTER|BDR_SUNKENINNER)
454c2c66affSColin Finck #define BF_LEFT	1
455c2c66affSColin Finck #define BF_TOP	2
456c2c66affSColin Finck #define BF_RIGHT	4
457c2c66affSColin Finck #define BF_BOTTOM	8
458c2c66affSColin Finck #define BF_TOPLEFT	(BF_TOP|BF_LEFT)
459c2c66affSColin Finck #define BF_TOPRIGHT	(BF_TOP|BF_RIGHT)
460c2c66affSColin Finck #define BF_BOTTOMLEFT	(BF_BOTTOM|BF_LEFT)
461c2c66affSColin Finck #define BF_BOTTOMRIGHT	(BF_BOTTOM|BF_RIGHT)
462c2c66affSColin Finck #define BF_RECT	(BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM)
463c2c66affSColin Finck #define BF_DIAGONAL	16
464c2c66affSColin Finck #define BF_DIAGONAL_ENDTOPRIGHT	(BF_DIAGONAL|BF_TOP|BF_RIGHT)
465c2c66affSColin Finck #define BF_DIAGONAL_ENDTOPLEFT	(BF_DIAGONAL|BF_TOP|BF_LEFT)
466c2c66affSColin Finck #define BF_DIAGONAL_ENDBOTTOMLEFT	(BF_DIAGONAL|BF_BOTTOM|BF_LEFT)
467c2c66affSColin Finck #define BF_DIAGONAL_ENDBOTTOMRIGHT	(BF_DIAGONAL|BF_BOTTOM|BF_RIGHT)
468c2c66affSColin Finck #define BF_MIDDLE	0x800
469c2c66affSColin Finck #define BF_SOFT	0x1000
470c2c66affSColin Finck #define BF_ADJUST	0x2000
471c2c66affSColin Finck #define BF_FLAT	0x4000
472c2c66affSColin Finck #define BF_MONO	0x8000
473c2c66affSColin Finck #define DFC_CAPTION	1
474c2c66affSColin Finck #define DFC_MENU	2
475c2c66affSColin Finck #define DFC_SCROLL	3
476c2c66affSColin Finck #define DFC_BUTTON	4
477c2c66affSColin Finck #if (WINVER >= 0x0500)
478c2c66affSColin Finck #define DFC_POPUPMENU 5
479c2c66affSColin Finck #endif /* WINVER >= 0x0500 */
480c2c66affSColin Finck #define DFCS_CAPTIONCLOSE	0
481c2c66affSColin Finck #define DFCS_CAPTIONMIN	1
482c2c66affSColin Finck #define DFCS_CAPTIONMAX	2
483c2c66affSColin Finck #define DFCS_CAPTIONRESTORE	3
484c2c66affSColin Finck #define DFCS_CAPTIONHELP	4
485c2c66affSColin Finck #define DFCS_MENUARROW	0
486c2c66affSColin Finck #define DFCS_MENUCHECK	1
487c2c66affSColin Finck #define DFCS_MENUBULLET	2
488c2c66affSColin Finck #define DFCS_MENUARROWRIGHT	4
489c2c66affSColin Finck #define DFCS_SCROLLUP	0
490c2c66affSColin Finck #define DFCS_SCROLLDOWN	1
491c2c66affSColin Finck #define DFCS_SCROLLLEFT	2
492c2c66affSColin Finck #define DFCS_SCROLLRIGHT	3
493c2c66affSColin Finck #define DFCS_SCROLLCOMBOBOX	5
494c2c66affSColin Finck #define DFCS_SCROLLSIZEGRIP	8
495c2c66affSColin Finck #define DFCS_SCROLLSIZEGRIPRIGHT	16
496c2c66affSColin Finck #define DFCS_BUTTONCHECK	0
497c2c66affSColin Finck #define DFCS_BUTTONRADIOIMAGE	1
498c2c66affSColin Finck #define DFCS_BUTTONRADIOMASK	2
499c2c66affSColin Finck #define DFCS_BUTTONRADIO	4
500c2c66affSColin Finck #define DFCS_BUTTON3STATE	8
501c2c66affSColin Finck #define DFCS_BUTTONPUSH	16
502c2c66affSColin Finck #define DFCS_INACTIVE	256
503c2c66affSColin Finck #define DFCS_PUSHED	512
504c2c66affSColin Finck #define DFCS_CHECKED	1024
505c2c66affSColin Finck #if (WINVER >= 0x0500)
506c2c66affSColin Finck #define DFCS_TRANSPARENT	0x800
507c2c66affSColin Finck #define DFCS_HOT	0x1000
508c2c66affSColin Finck #endif
509c2c66affSColin Finck #define DFCS_ADJUSTRECT	0x2000
510c2c66affSColin Finck #define DFCS_FLAT	0x4000
511c2c66affSColin Finck #define DFCS_MONO	0x8000
512c2c66affSColin Finck #define DST_COMPLEX	0
513c2c66affSColin Finck #define DST_TEXT	1
514c2c66affSColin Finck #define DST_PREFIXTEXT	2
515c2c66affSColin Finck #define DST_ICON	3
516c2c66affSColin Finck #define DST_BITMAP	4
517c2c66affSColin Finck #define DSS_NORMAL	0
518c2c66affSColin Finck #define DSS_UNION	16
519c2c66affSColin Finck #define DSS_DISABLED	32
520c2c66affSColin Finck #define	DSS_DEFAULT	64
521c2c66affSColin Finck #define DSS_MONO	128
522c2c66affSColin Finck #define	DSS_HIDEPREFIX	0x0200
523c2c66affSColin Finck #define	DSS_PREFIXONLY	0x0400
524c2c66affSColin Finck #define DSS_RIGHT	0x8000
525c2c66affSColin Finck #define DT_BOTTOM	8
526c2c66affSColin Finck #define DT_CALCRECT	1024
527c2c66affSColin Finck #define DT_CENTER	1
528c2c66affSColin Finck #define DT_EDITCONTROL	8192
529c2c66affSColin Finck #define DT_END_ELLIPSIS	32768
530c2c66affSColin Finck #define DT_PATH_ELLIPSIS	16384
531c2c66affSColin Finck #define DT_WORD_ELLIPSIS 0x40000
532c2c66affSColin Finck #define DT_EXPANDTABS	64
533c2c66affSColin Finck #define DT_EXTERNALLEADING	512
534c2c66affSColin Finck #define DT_LEFT	0
535c2c66affSColin Finck #define DT_MODIFYSTRING	65536
536c2c66affSColin Finck #define DT_NOCLIP	256
537c2c66affSColin Finck #define DT_NOPREFIX	2048
538c2c66affSColin Finck #define DT_RIGHT	2
539c2c66affSColin Finck #define DT_RTLREADING	131072
540c2c66affSColin Finck #define DT_SINGLELINE	32
541c2c66affSColin Finck #define DT_TABSTOP	128
542c2c66affSColin Finck #define DT_TOP	0
543c2c66affSColin Finck #define DT_VCENTER	4
544c2c66affSColin Finck #define DT_WORDBREAK	16
545c2c66affSColin Finck #define DT_INTERNAL	4096
546c2c66affSColin Finck #define DT_NOFULLWIDTHCHARBREAK	524288
547c2c66affSColin Finck #define DT_HIDEPREFIX	1048576
548c2c66affSColin Finck #define DT_PREFIXONLY	2097152
549c2c66affSColin Finck #define WB_ISDELIMITER	2
550c2c66affSColin Finck #define WB_LEFT	0
551c2c66affSColin Finck #define WB_RIGHT	1
552c2c66affSColin Finck #define SB_HORZ	0
553c2c66affSColin Finck #define SB_VERT	1
554c2c66affSColin Finck #define SB_CTL	2
555c2c66affSColin Finck #define SB_BOTH	3
556c2c66affSColin Finck #define ESB_DISABLE_BOTH	3
557c2c66affSColin Finck #define ESB_DISABLE_DOWN	2
558c2c66affSColin Finck #define ESB_DISABLE_LEFT	1
559c2c66affSColin Finck #define ESB_DISABLE_LTUP	1
560c2c66affSColin Finck #define ESB_DISABLE_RIGHT	2
561c2c66affSColin Finck #define ESB_DISABLE_RTDN	2
562c2c66affSColin Finck #define ESB_DISABLE_UP	1
563c2c66affSColin Finck #define ESB_ENABLE_BOTH	0
564c2c66affSColin Finck #define SB_LINEUP	0
565c2c66affSColin Finck #define SB_LINEDOWN	1
566c2c66affSColin Finck #define SB_LINELEFT	0
567c2c66affSColin Finck #define SB_LINERIGHT	1
568c2c66affSColin Finck #define SB_PAGEUP	2
569c2c66affSColin Finck #define SB_PAGEDOWN	3
570c2c66affSColin Finck #define SB_PAGELEFT	2
571c2c66affSColin Finck #define SB_PAGERIGHT	3
572c2c66affSColin Finck #define SB_THUMBPOSITION	4
573c2c66affSColin Finck #define SB_THUMBTRACK	5
574c2c66affSColin Finck #define SB_ENDSCROLL	8
575c2c66affSColin Finck #define SB_LEFT	6
576c2c66affSColin Finck #define SB_RIGHT	7
577c2c66affSColin Finck #define SB_BOTTOM	7
578c2c66affSColin Finck #define SB_TOP	6
579c2c66affSColin Finck 
580c2c66affSColin Finck #define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
581c2c66affSColin Finck #define MAKEINTRESOURCEA(i) ((LPSTR)(ULONG_PTR)LOWORD(i))
582c2c66affSColin Finck #define MAKEINTRESOURCEW(i) ((LPWSTR)(ULONG_PTR)LOWORD(i))
583c2c66affSColin Finck 
584c2c66affSColin Finck #ifndef RC_INVOKED
585c2c66affSColin Finck #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
586c2c66affSColin Finck #define MAKEINTRESOURCE(i) ((ULONG_PTR)((WORD)(i)))
587c2c66affSColin Finck #else
588c2c66affSColin Finck #ifdef UNICODE
589c2c66affSColin Finck #define MAKEINTRESOURCE MAKEINTRESOURCEW
590c2c66affSColin Finck #else
591c2c66affSColin Finck #define MAKEINTRESOURCE MAKEINTRESOURCEA
592c2c66affSColin Finck #endif /* UNICODE */
593c2c66affSColin Finck #endif /* WINE_NO_UNICODE_MACROS */
594c2c66affSColin Finck #endif /* !RC_INVOKED */
595c2c66affSColin Finck 
5969578bae8SHermès Bélusca-Maïto 
5979578bae8SHermès Bélusca-Maïto #ifndef NORESOURCE
5989578bae8SHermès Bélusca-Maïto 
599c2c66affSColin Finck #define RT_CURSOR MAKEINTRESOURCE(1)
600c2c66affSColin Finck #define RT_BITMAP MAKEINTRESOURCE(2)
601c2c66affSColin Finck #define RT_ICON MAKEINTRESOURCE(3)
602c2c66affSColin Finck #define RT_MENU MAKEINTRESOURCE(4)
603c2c66affSColin Finck #define RT_DIALOG MAKEINTRESOURCE(5)
604c2c66affSColin Finck #define RT_STRING MAKEINTRESOURCE(6)
605c2c66affSColin Finck #define RT_FONTDIR MAKEINTRESOURCE(7)
6069578bae8SHermès Bélusca-Maïto #define RT_FONT MAKEINTRESOURCE(8)
607c2c66affSColin Finck #define RT_ACCELERATOR MAKEINTRESOURCE(9)
608c2c66affSColin Finck #define RT_RCDATA MAKEINTRESOURCE(10)
609c2c66affSColin Finck #define RT_MESSAGETABLE MAKEINTRESOURCE(11)
610c2c66affSColin Finck #define DIFFERENCE 11
611c2c66affSColin Finck #define RT_GROUP_CURSOR MAKEINTRESOURCE((ULONG_PTR)RT_CURSOR+DIFFERENCE)
612c2c66affSColin Finck #define RT_GROUP_ICON MAKEINTRESOURCE((ULONG_PTR)RT_ICON+DIFFERENCE)
613c2c66affSColin Finck #define RT_VERSION MAKEINTRESOURCE(16)
614c2c66affSColin Finck #define RT_DLGINCLUDE MAKEINTRESOURCE(17)
615c2c66affSColin Finck #define RT_PLUGPLAY MAKEINTRESOURCE(19)
616c2c66affSColin Finck #define RT_VXD MAKEINTRESOURCE(20)
617c2c66affSColin Finck #define RT_ANICURSOR MAKEINTRESOURCE(21)
618c2c66affSColin Finck #define RT_ANIICON MAKEINTRESOURCE(22)
619c2c66affSColin Finck #define RT_HTML MAKEINTRESOURCE(23)
620c2c66affSColin Finck #ifndef RC_INVOKED
621c2c66affSColin Finck #define RT_MANIFEST MAKEINTRESOURCE(24)
622c2c66affSColin Finck #define CREATEPROCESS_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(1)
623c2c66affSColin Finck #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
624c2c66affSColin Finck #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
625c2c66affSColin Finck #else
626c2c66affSColin Finck #define RT_MANIFEST 24
627c2c66affSColin Finck #define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
628c2c66affSColin Finck #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
629c2c66affSColin Finck #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
630072965ebSHermès Bélusca-Maïto #endif /* !RC_INVOKED */
6319578bae8SHermès Bélusca-Maïto 
6329578bae8SHermès Bélusca-Maïto #endif /* !NORESOURCE */
6339578bae8SHermès Bélusca-Maïto 
6349578bae8SHermès Bélusca-Maïto 
635c2c66affSColin Finck #define EWX_FORCE 0x00000004
636c2c66affSColin Finck #define EWX_LOGOFF 0
637c2c66affSColin Finck #define EWX_POWEROFF 0x00000008
638c2c66affSColin Finck #define EWX_REBOOT 0x00000002
639c2c66affSColin Finck #define EWX_SHUTDOWN 0x00000001
640c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
641c2c66affSColin Finck #define EWX_FORCEIFHUNG 0x00000010
642c2c66affSColin Finck #endif
643c2c66affSColin Finck #if (_WIN32_WINNT > 0x06010000)
644c2c66affSColin Finck #define EWX_HYBRID_SHUTDOWN 0x00400000
645c2c66affSColin Finck #endif
646c2c66affSColin Finck #define CS_BYTEALIGNCLIENT 4096
647c2c66affSColin Finck #define CS_BYTEALIGNWINDOW 8192
648c2c66affSColin Finck #define CS_KEYCVTWINDOW 4
649c2c66affSColin Finck #define CS_NOKEYCVT 256 // Class Name to Version
650c2c66affSColin Finck #define CS_CLASSDC 64
651c2c66affSColin Finck #define CS_DBLCLKS 8
652c2c66affSColin Finck #define CS_GLOBALCLASS 16384
653c2c66affSColin Finck #define CS_HREDRAW 2
654c2c66affSColin Finck #define CS_NOCLOSE 512
655c2c66affSColin Finck #define CS_OWNDC 32
656c2c66affSColin Finck #define CS_PARENTDC 128
657c2c66affSColin Finck #define CS_SAVEBITS 2048
658c2c66affSColin Finck #define CS_VREDRAW 1
659c2c66affSColin Finck #define CS_IME 0x10000
660c2c66affSColin Finck #define CS_DROPSHADOW 0x20000
661c2c66affSColin Finck #define GCW_ATOM (-32)
662c2c66affSColin Finck #define GCL_CBCLSEXTRA (-20)
663c2c66affSColin Finck #define GCL_CBWNDEXTRA (-18)
664c2c66affSColin Finck #define GCL_HBRBACKGROUND (-10)
665c2c66affSColin Finck #define GCL_HCURSOR (-12)
666c2c66affSColin Finck #define GCL_HICON (-14)
667c2c66affSColin Finck #define GCL_HICONSM (-34)
668c2c66affSColin Finck #define GCL_HMODULE (-16)
669c2c66affSColin Finck #define GCL_MENUNAME (-8)
670c2c66affSColin Finck #define GCL_STYLE (-26)
671c2c66affSColin Finck #define GCL_WNDPROC (-24)
672c2c66affSColin Finck #define GCLP_HBRBACKGROUND (-10)
673c2c66affSColin Finck #define GCLP_HCURSOR (-12)
674c2c66affSColin Finck #define GCLP_HICON (-14)
675c2c66affSColin Finck #define GCLP_HICONSM (-34)
676c2c66affSColin Finck #define GCLP_HMODULE (-16)
677c2c66affSColin Finck #define GCLP_MENUNAME (-8)
678c2c66affSColin Finck #define GCLP_WNDPROC (-24)
679c2c66affSColin Finck #if 0
680c2c66affSColin Finck     /* This is supposed to be defined by the program using it not defined
681c2c66affSColin Finck        in the w32api headers.  I've left it here for documentation purposes.
682c2c66affSColin Finck     */
683c2c66affSColin Finck #ifndef IDC_STATIC  /* May be predefined by resource compiler. */
684c2c66affSColin Finck #define IDC_STATIC (-1)
685c2c66affSColin Finck #endif
686c2c66affSColin Finck #endif
687c2c66affSColin Finck #define IDC_ARROW MAKEINTRESOURCE(32512)
688c2c66affSColin Finck #define IDC_IBEAM MAKEINTRESOURCE(32513)
689c2c66affSColin Finck #define IDC_WAIT MAKEINTRESOURCE(32514)
690c2c66affSColin Finck #define IDC_CROSS MAKEINTRESOURCE(32515)
691c2c66affSColin Finck #define IDC_UPARROW MAKEINTRESOURCE(32516)
692c2c66affSColin Finck #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
693c2c66affSColin Finck #define IDC_SIZENESW MAKEINTRESOURCE(32643)
694c2c66affSColin Finck #define IDC_SIZEWE MAKEINTRESOURCE(32644)
695c2c66affSColin Finck #define IDC_SIZENS MAKEINTRESOURCE(32645)
696c2c66affSColin Finck #define IDC_SIZEALL MAKEINTRESOURCE(32646)
697c2c66affSColin Finck #define IDC_NO MAKEINTRESOURCE(32648)
698c2c66affSColin Finck #define IDC_HAND MAKEINTRESOURCE(32649)
699c2c66affSColin Finck #define IDC_APPSTARTING MAKEINTRESOURCE(32650)
700c2c66affSColin Finck #define IDC_HELP MAKEINTRESOURCE(32651)
701c2c66affSColin Finck #define IDC_ICON MAKEINTRESOURCE(32641)
702c2c66affSColin Finck #define IDC_SIZE MAKEINTRESOURCE(32640)
703c2c66affSColin Finck #ifndef RC_INVOKED
704c2c66affSColin Finck #define IDI_APPLICATION MAKEINTRESOURCE(32512)
705c2c66affSColin Finck #define IDI_HAND MAKEINTRESOURCE(32513)
706c2c66affSColin Finck #define IDI_QUESTION MAKEINTRESOURCE(32514)
707c2c66affSColin Finck #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
708c2c66affSColin Finck #define IDI_ASTERISK MAKEINTRESOURCE(32516)
709c2c66affSColin Finck #define IDI_WINLOGO MAKEINTRESOURCE(32517)
710c2c66affSColin Finck #else
711c2c66affSColin Finck #define IDI_APPLICATION 32512
712c2c66affSColin Finck #define IDI_HAND 32513
713c2c66affSColin Finck #define IDI_QUESTION 32514
714c2c66affSColin Finck #define IDI_EXCLAMATION 32515
715c2c66affSColin Finck #define IDI_ASTERISK 32516
716c2c66affSColin Finck #define IDI_WINLOGO 32517
717*0707475fSJustin Miller #if(WINVER >= 0x0600)
718*0707475fSJustin Miller #define IDI_SHIELD  32518
719*0707475fSJustin Miller #endif /* WINVER >= 0x0600 */
720c2c66affSColin Finck #endif
721c2c66affSColin Finck #define IDI_WARNING IDI_EXCLAMATION
722c2c66affSColin Finck #define IDI_ERROR IDI_HAND
723c2c66affSColin Finck #define IDI_INFORMATION IDI_ASTERISK
724c2c66affSColin Finck #define MIIM_STATE 1
725c2c66affSColin Finck #define MIIM_ID 2
726c2c66affSColin Finck #define MIIM_SUBMENU 4
727c2c66affSColin Finck #define MIIM_CHECKMARKS 8
728c2c66affSColin Finck #define MIIM_TYPE 16
729c2c66affSColin Finck #define MIIM_DATA 32
730c2c66affSColin Finck #define MIIM_STRING 64
731c2c66affSColin Finck #define MIIM_BITMAP 128
732c2c66affSColin Finck #define MIIM_FTYPE 256
733c2c66affSColin Finck #if (WINVER >= 0x0500)
734c2c66affSColin Finck #define MIM_MAXHEIGHT 1
735c2c66affSColin Finck #define MIM_BACKGROUND 2
736c2c66affSColin Finck #define MIM_HELPID 4
737c2c66affSColin Finck #define MIM_MENUDATA 8
738c2c66affSColin Finck #define MIM_STYLE 16
739c2c66affSColin Finck #define MIM_APPLYTOSUBMENUS 0x80000000L
740c2c66affSColin Finck #endif
741c2c66affSColin Finck #define MFT_BITMAP 4
742c2c66affSColin Finck #define MFT_MENUBARBREAK 32
743c2c66affSColin Finck #define MFT_MENUBREAK 64
744c2c66affSColin Finck #define MFT_OWNERDRAW 256
745c2c66affSColin Finck #define MFT_RADIOCHECK 512
746c2c66affSColin Finck #define MFT_RIGHTJUSTIFY 0x4000
747c2c66affSColin Finck #define MFT_SEPARATOR 0x800
748c2c66affSColin Finck #define MFT_RIGHTORDER 0x2000L
749c2c66affSColin Finck #define MFT_STRING 0
750c2c66affSColin Finck #define MFS_CHECKED 8
751c2c66affSColin Finck #define MFS_DEFAULT 4096
752c2c66affSColin Finck #define MFS_DISABLED 3
753c2c66affSColin Finck #define MFS_ENABLED 0
754c2c66affSColin Finck #define MFS_GRAYED 3
755c2c66affSColin Finck #define MFS_HILITE 128
756c2c66affSColin Finck #define MFS_UNCHECKED 0
757c2c66affSColin Finck #define MFS_UNHILITE 0
758c2c66affSColin Finck #define MNS_NOCHECK 0x80000000
759c2c66affSColin Finck #define MNS_MODELESS 0x40000000
760c2c66affSColin Finck #define MNS_DRAGDROP 0x20000000
761c2c66affSColin Finck #define MNS_AUTODISMISS 0x10000000
762c2c66affSColin Finck #define MNS_NOTIFYBYPOS 0x08000000
763c2c66affSColin Finck #define MNS_CHECKORBMP 0x04000000
764c2c66affSColin Finck #define GW_HWNDNEXT 2
765c2c66affSColin Finck #define GW_HWNDPREV 3
766c2c66affSColin Finck #define GW_CHILD 5
767c2c66affSColin Finck #define GW_HWNDFIRST 0
768c2c66affSColin Finck #define GW_HWNDLAST 1
769c2c66affSColin Finck #define GW_OWNER 4
7700d43ce78SKatayama Hirofumi MZ #define GW_ENABLEDPOPUP 6
771c2c66affSColin Finck #define SW_HIDE 0
772c2c66affSColin Finck #define SW_NORMAL 1
773c2c66affSColin Finck #define SW_SHOWNORMAL 1
774c2c66affSColin Finck #define SW_SHOWMINIMIZED 2
775c2c66affSColin Finck #define SW_MAXIMIZE 3
776c2c66affSColin Finck #define SW_SHOWMAXIMIZED 3
777c2c66affSColin Finck #define SW_SHOWNOACTIVATE 4
778c2c66affSColin Finck #define SW_SHOW 5
779c2c66affSColin Finck #define SW_MINIMIZE 6
780c2c66affSColin Finck #define SW_SHOWMINNOACTIVE 7
781c2c66affSColin Finck #define SW_SHOWNA 8
782c2c66affSColin Finck #define SW_RESTORE 9
783c2c66affSColin Finck #define SW_SHOWDEFAULT 10
784c2c66affSColin Finck #define SW_FORCEMINIMIZE 11
785c2c66affSColin Finck #define SW_MAX 11
786c2c66affSColin Finck #define MB_USERICON 128
787c2c66affSColin Finck #define MB_ICONASTERISK 64
788c2c66affSColin Finck #define MB_ICONEXCLAMATION 0x30
789c2c66affSColin Finck #define MB_ICONWARNING 0x30
790c2c66affSColin Finck #define MB_ICONERROR 16
791c2c66affSColin Finck #define MB_ICONHAND 16
792c2c66affSColin Finck #define MB_ICONQUESTION 32
793c2c66affSColin Finck #define MB_OK 0
794c2c66affSColin Finck #define MB_ABORTRETRYIGNORE 2
795c2c66affSColin Finck #define MB_APPLMODAL 0
796c2c66affSColin Finck #define MB_DEFAULT_DESKTOP_ONLY 0x20000
797c2c66affSColin Finck #define MB_HELP 0x4000
798c2c66affSColin Finck #define MB_RIGHT 0x80000
799c2c66affSColin Finck #define MB_RTLREADING 0x100000
800c2c66affSColin Finck #define MB_TOPMOST 0x40000
801c2c66affSColin Finck #define MB_DEFBUTTON1 0
802c2c66affSColin Finck #define MB_DEFBUTTON2 256
803c2c66affSColin Finck #define MB_DEFBUTTON3 512
804c2c66affSColin Finck #define MB_DEFBUTTON4 0x300
805c2c66affSColin Finck #define MB_ICONINFORMATION 64
806c2c66affSColin Finck #define MB_ICONSTOP 16
807c2c66affSColin Finck #define MB_OKCANCEL 1
808c2c66affSColin Finck #define MB_RETRYCANCEL 5
809c2c66affSColin Finck #ifdef _WIN32_WINNT
810c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
811c2c66affSColin Finck #define MB_SERVICE_NOTIFICATION 0x00200000
812c2c66affSColin Finck #else
813c2c66affSColin Finck #define MB_SERVICE_NOTIFICATION 0x00040000
814c2c66affSColin Finck #endif
815c2c66affSColin Finck #define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
816c2c66affSColin Finck #endif
817c2c66affSColin Finck #define MB_SETFOREGROUND 0x10000
818c2c66affSColin Finck #define MB_SYSTEMMODAL 4096
819c2c66affSColin Finck #define MB_TASKMODAL 0x2000
820c2c66affSColin Finck #define MB_YESNO 4
821c2c66affSColin Finck #define MB_YESNOCANCEL 3
822c2c66affSColin Finck #define MB_ICONMASK 240
823c2c66affSColin Finck #define MB_DEFMASK 3840
824c2c66affSColin Finck #define MB_MODEMASK 0x00003000
825c2c66affSColin Finck #define MB_MISCMASK 0x0000C000
826c2c66affSColin Finck #define MB_NOFOCUS 0x00008000
827c2c66affSColin Finck #define MB_TYPEMASK 15
828c2c66affSColin Finck #define MB_TOPMOST 0x40000
829c2c66affSColin Finck #if (WINVER >= 0x0500)
830c2c66affSColin Finck #define MB_CANCELTRYCONTINUE 6
831c2c66affSColin Finck #endif
832c2c66affSColin Finck 
833c2c66affSColin Finck #define IDOK 1
834c2c66affSColin Finck #define IDCANCEL 2
835c2c66affSColin Finck #define IDABORT 3
836c2c66affSColin Finck #define IDRETRY 4
837c2c66affSColin Finck #define IDIGNORE 5
838c2c66affSColin Finck #define IDYES 6
839c2c66affSColin Finck #define IDNO 7
840c2c66affSColin Finck #if (WINVER >= 0x0400)
841c2c66affSColin Finck #define IDCLOSE 8
842c2c66affSColin Finck #define IDHELP 9
843c2c66affSColin Finck #endif
844c2c66affSColin Finck #if (WINVER >= 0x0500)
845c2c66affSColin Finck #define IDTRYAGAIN 10
846c2c66affSColin Finck #define IDCONTINUE 11
847c2c66affSColin Finck #endif
8487bfd6858SHermès Bélusca-Maïto #if (WINVER >= 0x0501)
8497bfd6858SHermès Bélusca-Maïto #ifndef IDTIMEOUT
8507bfd6858SHermès Bélusca-Maïto #define IDTIMEOUT 32000
8517bfd6858SHermès Bélusca-Maïto #endif
8527bfd6858SHermès Bélusca-Maïto #endif
853c2c66affSColin Finck 
854c2c66affSColin Finck #define GWL_EXSTYLE (-20)
855c2c66affSColin Finck #define GWL_STYLE (-16)
856c2c66affSColin Finck #define GWL_WNDPROC (-4)
857c2c66affSColin Finck #define GWLP_WNDPROC (-4)
858c2c66affSColin Finck #define GWL_HINSTANCE (-6)
859c2c66affSColin Finck #define GWLP_HINSTANCE (-6)
860c2c66affSColin Finck #define GWL_HWNDPARENT (-8)
861c2c66affSColin Finck #define GWLP_HWNDPARENT (-8)
862c2c66affSColin Finck #define GWL_ID (-12)
863c2c66affSColin Finck #define GWLP_ID (-12)
864c2c66affSColin Finck #define GWL_USERDATA (-21)
865c2c66affSColin Finck #define GWLP_USERDATA (-21)
8660182dcd7STimo Kreuzer 
8670182dcd7STimo Kreuzer #ifndef __REACTOS__ // NEVER USE THESE!
868c2c66affSColin Finck #define DWL_MSGRESULT 0
8690182dcd7STimo Kreuzer #define DWL_DLGPROC 4
870c2c66affSColin Finck #define DWL_USER 8
8710182dcd7STimo Kreuzer #endif
8720182dcd7STimo Kreuzer 
8730182dcd7STimo Kreuzer #define DWLP_MSGRESULT 0
8740182dcd7STimo Kreuzer #define DWLP_DLGPROC (DWLP_MSGRESULT + sizeof(LRESULT))
8750182dcd7STimo Kreuzer #define DWLP_USER (DWLP_DLGPROC + sizeof(DLGPROC))
8760182dcd7STimo Kreuzer 
877c2c66affSColin Finck #define QS_KEY              1
878c2c66affSColin Finck #define QS_MOUSEMOVE        2
879d78a5b6dSHermès Bélusca-Maïto #define QS_MOUSEBUTTON      4
880c2c66affSColin Finck #define QS_POSTMESSAGE      8
881c2c66affSColin Finck #define QS_TIMER            16
882d78a5b6dSHermès Bélusca-Maïto #define QS_PAINT            32
883d78a5b6dSHermès Bélusca-Maïto #define QS_SENDMESSAGE      64
884d78a5b6dSHermès Bélusca-Maïto #define QS_HOTKEY           128
885d78a5b6dSHermès Bélusca-Maïto #define QS_ALLPOSTMESSAGE   256
886d78a5b6dSHermès Bélusca-Maïto 
887d78a5b6dSHermès Bélusca-Maïto #if (_WIN32_WINNT >= 0x0501)
888d78a5b6dSHermès Bélusca-Maïto #define QS_RAWINPUT         1024
889d78a5b6dSHermès Bélusca-Maïto #endif
890d78a5b6dSHermès Bélusca-Maïto #if (_WIN32_WINNT >= 0x0602)
891d78a5b6dSHermès Bélusca-Maïto #define QS_TOUCH            2048
892d78a5b6dSHermès Bélusca-Maïto #define QS_POINTER          4096
893d78a5b6dSHermès Bélusca-Maïto #endif
894d78a5b6dSHermès Bélusca-Maïto 
895d78a5b6dSHermès Bélusca-Maïto #define QS_MOUSE            (QS_MOUSEMOVE | QS_MOUSEBUTTON)
896d78a5b6dSHermès Bélusca-Maïto 
897d78a5b6dSHermès Bélusca-Maïto #if (_WIN32_WINNT >= 0x0602)
898d78a5b6dSHermès Bélusca-Maïto #define QS_INPUT            (QS_KEY | QS_MOUSE | QS_RAWINPUT | QS_TOUCH | QS_POINTER)
899d78a5b6dSHermès Bélusca-Maïto #elif (_WIN32_WINNT >= 0x0501)
900d78a5b6dSHermès Bélusca-Maïto #define QS_INPUT            (QS_KEY | QS_MOUSE | QS_RAWINPUT)
901d78a5b6dSHermès Bélusca-Maïto #else
902d78a5b6dSHermès Bélusca-Maïto #define QS_INPUT            (QS_KEY | QS_MOUSE)
903d78a5b6dSHermès Bélusca-Maïto #endif
904d78a5b6dSHermès Bélusca-Maïto 
905d78a5b6dSHermès Bélusca-Maïto #define QS_ALLEVENTS        (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
906d78a5b6dSHermès Bélusca-Maïto #define QS_ALLINPUT         (QS_ALLEVENTS | QS_SENDMESSAGE)
907c2c66affSColin Finck 
908c2c66affSColin Finck #define USER_TIMER_MAXIMUM  2147483647
909c2c66affSColin Finck #define USER_TIMER_MINIMUM  10
910c2c66affSColin Finck 
911c2c66affSColin Finck #define MWMO_WAITALL 1
912c2c66affSColin Finck #define MWMO_ALERTABLE 2
913c2c66affSColin Finck #define MWMO_INPUTAVAILABLE 4
914c2c66affSColin Finck 
915c2c66affSColin Finck #define COLOR_SCROLLBAR 0
916c2c66affSColin Finck #define COLOR_BACKGROUND 1
917c2c66affSColin Finck #define COLOR_DESKTOP COLOR_BACKGROUND
918c2c66affSColin Finck #define COLOR_ACTIVECAPTION 2
919c2c66affSColin Finck #define COLOR_INACTIVECAPTION 3
920c2c66affSColin Finck #define COLOR_MENU 4
921c2c66affSColin Finck #define COLOR_WINDOW 5
922c2c66affSColin Finck #define COLOR_WINDOWFRAME 6
923c2c66affSColin Finck #define COLOR_MENUTEXT 7
924c2c66affSColin Finck #define COLOR_WINDOWTEXT 8
925c2c66affSColin Finck #define COLOR_CAPTIONTEXT 9
926c2c66affSColin Finck #define COLOR_ACTIVEBORDER 10
927c2c66affSColin Finck #define COLOR_INACTIVEBORDER 11
928c2c66affSColin Finck #define COLOR_APPWORKSPACE 12
929c2c66affSColin Finck #define COLOR_HIGHLIGHT 13
930c2c66affSColin Finck #define COLOR_HIGHLIGHTTEXT 14
931c2c66affSColin Finck #define COLOR_BTNFACE 15
932c2c66affSColin Finck #define COLOR_3DFACE COLOR_BTNFACE
933c2c66affSColin Finck #define COLOR_BTNSHADOW 16
934c2c66affSColin Finck #define COLOR_3DSHADOW COLOR_BTNSHADOW
935c2c66affSColin Finck #define COLOR_GRAYTEXT 17
936c2c66affSColin Finck #define COLOR_BTNTEXT 18
937c2c66affSColin Finck #define COLOR_INACTIVECAPTIONTEXT 19
938c2c66affSColin Finck #define COLOR_BTNHIGHLIGHT 20
939c2c66affSColin Finck #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
940c2c66affSColin Finck #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
941c2c66affSColin Finck #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
942c2c66affSColin Finck #define COLOR_3DDKSHADOW 21
943c2c66affSColin Finck #define COLOR_3DLIGHT 22
944c2c66affSColin Finck #define COLOR_INFOTEXT 23
945c2c66affSColin Finck #define COLOR_INFOBK 24
946c2c66affSColin Finck #define COLOR_HOTLIGHT 26
947c2c66affSColin Finck #define COLOR_GRADIENTACTIVECAPTION 27
948c2c66affSColin Finck #define COLOR_GRADIENTINACTIVECAPTION 28
949c2c66affSColin Finck #if WINVER >= 0x0501
950c2c66affSColin Finck #define COLOR_MENUHILIGHT 29
951c2c66affSColin Finck #define COLOR_MENUBAR 30
952c2c66affSColin Finck #endif
953c2c66affSColin Finck 
954c2c66affSColin Finck #define CTLCOLOR_MSGBOX 0
955c2c66affSColin Finck #define CTLCOLOR_EDIT 1
956c2c66affSColin Finck #define CTLCOLOR_LISTBOX 2
957c2c66affSColin Finck #define CTLCOLOR_BTN 3
958c2c66affSColin Finck #define CTLCOLOR_DLG 4
959c2c66affSColin Finck #define CTLCOLOR_SCROLLBAR 5
960c2c66affSColin Finck #define CTLCOLOR_STATIC 6
961c2c66affSColin Finck #define CTLCOLOR_MAX 7
962c2c66affSColin Finck #define SM_CXSCREEN 0
963c2c66affSColin Finck #define SM_CYSCREEN 1
964c2c66affSColin Finck #define SM_CXVSCROLL 2
965c2c66affSColin Finck #define SM_CYHSCROLL 3
966c2c66affSColin Finck #define SM_CYCAPTION 4
967c2c66affSColin Finck #define SM_CXBORDER 5
968c2c66affSColin Finck #define SM_CYBORDER 6
969c2c66affSColin Finck #define SM_CXDLGFRAME 7
970c2c66affSColin Finck #define SM_CXFIXEDFRAME 7
971c2c66affSColin Finck #define SM_CYDLGFRAME 8
972c2c66affSColin Finck #define SM_CYFIXEDFRAME 8
973c2c66affSColin Finck #define SM_CYVTHUMB 9
974c2c66affSColin Finck #define SM_CXHTHUMB 10
975c2c66affSColin Finck #define SM_CXICON 11
976c2c66affSColin Finck #define SM_CYICON 12
977c2c66affSColin Finck #define SM_CXCURSOR 13
978c2c66affSColin Finck #define SM_CYCURSOR 14
979c2c66affSColin Finck #define SM_CYMENU 15
980c2c66affSColin Finck #define SM_CXFULLSCREEN 16
981c2c66affSColin Finck #define SM_CYFULLSCREEN 17
982c2c66affSColin Finck #define SM_CYKANJIWINDOW 18
983c2c66affSColin Finck #define SM_MOUSEPRESENT 19
984c2c66affSColin Finck #define SM_CYVSCROLL 20
985c2c66affSColin Finck #define SM_CXHSCROLL 21
986c2c66affSColin Finck #define SM_DEBUG 22
987c2c66affSColin Finck #define SM_SWAPBUTTON 23
988c2c66affSColin Finck #define SM_RESERVED1 24
989c2c66affSColin Finck #define SM_RESERVED2 25
990c2c66affSColin Finck #define SM_RESERVED3 26
991c2c66affSColin Finck #define SM_RESERVED4 27
992c2c66affSColin Finck #define SM_CXMIN 28
993c2c66affSColin Finck #define SM_CYMIN 29
994c2c66affSColin Finck #define SM_CXSIZE 30
995c2c66affSColin Finck #define SM_CYSIZE 31
996c2c66affSColin Finck #define SM_CXSIZEFRAME 32
997c2c66affSColin Finck #define SM_CXFRAME 32
998c2c66affSColin Finck #define SM_CYSIZEFRAME 33
999c2c66affSColin Finck #define SM_CYFRAME 33
1000c2c66affSColin Finck #define SM_CXMINTRACK 34
1001c2c66affSColin Finck #define SM_CYMINTRACK 35
1002c2c66affSColin Finck #define SM_CXDOUBLECLK 36
1003c2c66affSColin Finck #define SM_CYDOUBLECLK 37
1004c2c66affSColin Finck #define SM_CXICONSPACING 38
1005c2c66affSColin Finck #define SM_CYICONSPACING 39
1006c2c66affSColin Finck #define SM_MENUDROPALIGNMENT 40
1007c2c66affSColin Finck #define SM_PENWINDOWS 41
1008c2c66affSColin Finck #define SM_DBCSENABLED 42
1009c2c66affSColin Finck #define SM_CMOUSEBUTTONS 43
1010c2c66affSColin Finck #define SM_SECURE 44
1011c2c66affSColin Finck #define SM_CXEDGE 45
1012c2c66affSColin Finck #define SM_CYEDGE 46
1013c2c66affSColin Finck #define SM_CXMINSPACING 47
1014c2c66affSColin Finck #define SM_CYMINSPACING 48
1015c2c66affSColin Finck #define SM_CXSMICON 49
1016c2c66affSColin Finck #define SM_CYSMICON 50
1017c2c66affSColin Finck #define SM_CYSMCAPTION 51
1018c2c66affSColin Finck #define SM_CXSMSIZE 52
1019c2c66affSColin Finck #define SM_CYSMSIZE 53
1020c2c66affSColin Finck #define SM_CXMENUSIZE 54
1021c2c66affSColin Finck #define SM_CYMENUSIZE 55
1022c2c66affSColin Finck #define SM_ARRANGE 56
1023c2c66affSColin Finck #define SM_CXMINIMIZED 57
1024c2c66affSColin Finck #define SM_CYMINIMIZED 58
1025c2c66affSColin Finck #define SM_CXMAXTRACK 59
1026c2c66affSColin Finck #define SM_CYMAXTRACK 60
1027c2c66affSColin Finck #define SM_CXMAXIMIZED 61
1028c2c66affSColin Finck #define SM_CYMAXIMIZED 62
1029c2c66affSColin Finck #define SM_NETWORK 63
1030c2c66affSColin Finck #define SM_CLEANBOOT 67
1031c2c66affSColin Finck #define SM_CXDRAG 68
1032c2c66affSColin Finck #define SM_CYDRAG 69
1033c2c66affSColin Finck #define SM_SHOWSOUNDS 70
1034c2c66affSColin Finck #define SM_CXMENUCHECK 71
1035c2c66affSColin Finck #define SM_CYMENUCHECK 72
1036c2c66affSColin Finck #define SM_SLOWMACHINE 73
1037c2c66affSColin Finck #define SM_MIDEASTENABLED 74
1038c2c66affSColin Finck #define SM_MOUSEWHEELPRESENT 75
1039c2c66affSColin Finck #define SM_XVIRTUALSCREEN 76
1040c2c66affSColin Finck #define SM_YVIRTUALSCREEN 77
1041c2c66affSColin Finck #define SM_CXVIRTUALSCREEN 78
1042c2c66affSColin Finck #define SM_CYVIRTUALSCREEN 79
1043c2c66affSColin Finck #define SM_CMONITORS 80
1044c2c66affSColin Finck #define SM_SAMEDISPLAYFORMAT 81
1045c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
1046c2c66affSColin Finck #define SM_IMMENABLED 82
1047c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0500 */
1048c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
1049c2c66affSColin Finck #define SM_CXFOCUSBORDER 83
1050c2c66affSColin Finck #define SM_CYFOCUSBORDER 84
1051c2c66affSColin Finck #define SM_TABLETPC      86
1052c2c66affSColin Finck #define SM_MEDIACENTER   87
1053c2c66affSColin Finck #define SM_STARTER       88
1054c2c66affSColin Finck #define SM_SERVERR2      89
1055c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0501 */
1056c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0600)
1057c2c66affSColin Finck #define SM_MOUSEHORIZONTALWHEELPRESENT 91
1058c2c66affSColin Finck #define SM_CXPADDEDBORDER 92
1059c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0600 */
1060c2c66affSColin Finck 
1061c2c66affSColin Finck #define SM_REMOTESESSION 0x1000
1062c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
1063c2c66affSColin Finck #define SM_SHUTTINGDOWN 0x2000
1064c2c66affSColin Finck #define SM_REMOTECONTROL 0x2001
1065c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0501 */
1066c2c66affSColin Finck 
1067c2c66affSColin Finck #if (WINVER < 0x0500) && ((_WIN32_WINNT < 0x0400) || !defined(_WIN32_WINNT))
1068c2c66affSColin Finck #define SM_CMETRICS 76
1069c2c66affSColin Finck #elif (WINVER == 0x500)
1070c2c66affSColin Finck #define SM_CMETRICS 83
1071c2c66affSColin Finck #elif (WINVER == 0x501)
1072c2c66affSColin Finck #define SM_CMETRICS 90
1073c2c66affSColin Finck #else
1074c2c66affSColin Finck #define SM_CMETRICS 93
1075c2c66affSColin Finck #endif
1076c2c66affSColin Finck 
1077c2c66affSColin Finck #define ARW_BOTTOMLEFT 0
1078c2c66affSColin Finck #define ARW_BOTTOMRIGHT 1
1079c2c66affSColin Finck #define ARW_HIDE 8
1080c2c66affSColin Finck #define ARW_TOPLEFT 2
1081c2c66affSColin Finck #define ARW_TOPRIGHT 3
1082c2c66affSColin Finck #define ARW_DOWN 4
1083c2c66affSColin Finck #define ARW_LEFT 0
1084c2c66affSColin Finck #define ARW_RIGHT 0
1085c2c66affSColin Finck #define ARW_UP 4
1086c2c66affSColin Finck #define UOI_FLAGS 1
1087c2c66affSColin Finck #define UOI_NAME 2
1088c2c66affSColin Finck #define UOI_TYPE 3
1089c2c66affSColin Finck #define UOI_USER_SID 4
1090c2c66affSColin Finck #define LR_DEFAULTCOLOR 0
1091c2c66affSColin Finck #define LR_MONOCHROME 1
1092c2c66affSColin Finck #define LR_COLOR 2
1093c2c66affSColin Finck #define LR_COPYRETURNORG 4
1094c2c66affSColin Finck #define LR_COPYDELETEORG 8
1095c2c66affSColin Finck #define LR_LOADFROMFILE 16
1096c2c66affSColin Finck #define LR_LOADTRANSPARENT 32
1097c2c66affSColin Finck #define LR_DEFAULTSIZE 64
1098c2c66affSColin Finck #define LR_LOADREALSIZE 128
1099c2c66affSColin Finck #define LR_VGACOLOR 128
1100c2c66affSColin Finck #define LR_LOADMAP3DCOLORS 4096
1101c2c66affSColin Finck #define LR_CREATEDIBSECTION 8192
1102c2c66affSColin Finck #define LR_COPYFROMRESOURCE 0x4000
1103c2c66affSColin Finck #define LR_SHARED 32768
1104c2c66affSColin Finck #define KEYEVENTF_EXTENDEDKEY 0x00000001
1105c2c66affSColin Finck #define KEYEVENTF_KEYUP 00000002
1106c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
1107c2c66affSColin Finck #define KEYEVENTF_UNICODE 0x00000004
1108c2c66affSColin Finck #define KEYEVENTF_SCANCODE 0x00000008
1109c2c66affSColin Finck #endif
1110072965ebSHermès Bélusca-Maïto 
1111072965ebSHermès Bélusca-Maïto #ifdef OEMRESOURCE
1112c2c66affSColin Finck #define OBM_TRTYPE 32732
1113c2c66affSColin Finck #define OBM_LFARROWI 32734
1114c2c66affSColin Finck #define OBM_RGARROWI 32735
1115c2c66affSColin Finck #define OBM_DNARROWI 32736
1116c2c66affSColin Finck #define OBM_UPARROWI 32737
1117c2c66affSColin Finck #define OBM_COMBO 32738
1118c2c66affSColin Finck #define OBM_MNARROW 32739
1119c2c66affSColin Finck #define OBM_LFARROWD 32740
1120c2c66affSColin Finck #define OBM_RGARROWD 32741
1121c2c66affSColin Finck #define OBM_DNARROWD 32742
1122c2c66affSColin Finck #define OBM_UPARROWD 32743
1123c2c66affSColin Finck #define OBM_RESTORED 32744
1124c2c66affSColin Finck #define OBM_ZOOMD 32745
1125c2c66affSColin Finck #define OBM_REDUCED 32746
1126c2c66affSColin Finck #define OBM_RESTORE 32747
1127c2c66affSColin Finck #define OBM_ZOOM 32748
1128c2c66affSColin Finck #define OBM_REDUCE 32749
1129c2c66affSColin Finck #define OBM_LFARROW 32750
1130c2c66affSColin Finck #define OBM_RGARROW 32751
1131c2c66affSColin Finck #define OBM_DNARROW 32752
1132c2c66affSColin Finck #define OBM_UPARROW 32753
1133c2c66affSColin Finck #define OBM_CLOSE 32754
1134c2c66affSColin Finck #define OBM_OLD_RESTORE 32755
1135c2c66affSColin Finck #define OBM_OLD_ZOOM 32756
1136c2c66affSColin Finck #define OBM_OLD_REDUCE 32757
1137c2c66affSColin Finck #define OBM_BTNCORNERS 32758
1138c2c66affSColin Finck #define OBM_CHECKBOXES 32759
1139c2c66affSColin Finck #define OBM_CHECK 32760
1140c2c66affSColin Finck #define OBM_BTSIZE 32761
1141c2c66affSColin Finck #define OBM_OLD_LFARROW 32762
1142c2c66affSColin Finck #define OBM_OLD_RGARROW 32763
1143c2c66affSColin Finck #define OBM_OLD_DNARROW 32764
1144c2c66affSColin Finck #define OBM_OLD_UPARROW 32765
1145c2c66affSColin Finck #define OBM_SIZE 32766
1146c2c66affSColin Finck #define OBM_OLD_CLOSE 32767
1147c2c66affSColin Finck #define OCR_NORMAL 32512
1148c2c66affSColin Finck #define OCR_IBEAM 32513
1149c2c66affSColin Finck #define OCR_WAIT 32514
1150c2c66affSColin Finck #define OCR_CROSS 32515
1151c2c66affSColin Finck #define OCR_UP 32516
1152c2c66affSColin Finck #define OCR_SIZE 32640
1153c2c66affSColin Finck #define OCR_ICON 32641
1154c2c66affSColin Finck #define OCR_SIZENWSE 32642
1155c2c66affSColin Finck #define OCR_SIZENESW 32643
1156c2c66affSColin Finck #define OCR_SIZEWE 32644
1157c2c66affSColin Finck #define OCR_SIZENS 32645
1158c2c66affSColin Finck #define OCR_SIZEALL 32646
1159c2c66affSColin Finck #define OCR_NO 32648
1160c2c66affSColin Finck #define OCR_HAND 32649
1161c2c66affSColin Finck #define OCR_APPSTARTING 32650
1162c2c66affSColin Finck #define OCR_HELP 32651
1163c2c66affSColin Finck #define OIC_SAMPLE 32512
1164c2c66affSColin Finck #define OIC_HAND 32513
1165c2c66affSColin Finck #define OIC_QUES 32514
1166c2c66affSColin Finck #define OIC_BANG 32515
1167c2c66affSColin Finck #define OIC_NOTE 32516
1168c2c66affSColin Finck #define OIC_WINLOGO 32517
1169c2c66affSColin Finck #define OIC_WARNING OIC_BANG
1170c2c66affSColin Finck #define OIC_ERROR OIC_HAND
1171c2c66affSColin Finck #define OIC_INFORMATION OIC_NOTE
1172072965ebSHermès Bélusca-Maïto #endif /* OEMRESOURCE */
1173072965ebSHermès Bélusca-Maïto 
1174c2c66affSColin Finck #define HELPINFO_MENUITEM 2
1175c2c66affSColin Finck #define HELPINFO_WINDOW 1
1176c2c66affSColin Finck #define MSGF_DIALOGBOX 0
1177c2c66affSColin Finck #define MSGF_MESSAGEBOX 1
1178c2c66affSColin Finck #define MSGF_MENU 2
1179c2c66affSColin Finck #define MSGF_MOVE 3
1180c2c66affSColin Finck #define MSGF_SIZE 4
1181c2c66affSColin Finck #define MSGF_SCROLLBAR 5
1182c2c66affSColin Finck #define MSGF_NEXTWINDOW 6
1183c2c66affSColin Finck #define MSGF_MAINLOOP 8
1184c2c66affSColin Finck #define MSGF_USER 4096
1185c2c66affSColin Finck #define MSGF_MAX  8
1186c2c66affSColin Finck #define MOUSEEVENTF_MOVE        0x0001
1187c2c66affSColin Finck #define MOUSEEVENTF_LEFTDOWN    0x0002
1188c2c66affSColin Finck #define MOUSEEVENTF_LEFTUP      0x0004
1189c2c66affSColin Finck #define MOUSEEVENTF_RIGHTDOWN   0x0008
1190c2c66affSColin Finck #define MOUSEEVENTF_RIGHTUP     0x0010
1191c2c66affSColin Finck #define MOUSEEVENTF_MIDDLEDOWN  0x0020
1192c2c66affSColin Finck #define MOUSEEVENTF_MIDDLEUP    0x0040
1193c2c66affSColin Finck #define MOUSEEVENTF_XDOWN       0x0080
1194c2c66affSColin Finck #define MOUSEEVENTF_XUP         0x0100
1195c2c66affSColin Finck #define MOUSEEVENTF_WHEEL       0x0800
1196c2c66affSColin Finck #define MOUSEEVENTF_VIRTUALDESK 0x4000
1197c2c66affSColin Finck #define MOUSEEVENTF_ABSOLUTE    0x8000
1198c2c66affSColin Finck #define PM_NOREMOVE 0
1199c2c66affSColin Finck #define PM_REMOVE 1
1200c2c66affSColin Finck #define PM_NOYIELD 2
1201c2c66affSColin Finck #if (WINVER >= 0x0500)
1202c2c66affSColin Finck # define PM_QS_INPUT (QS_INPUT << 16)
1203c2c66affSColin Finck # define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
1204c2c66affSColin Finck # define PM_QS_PAINT (QS_PAINT << 16)
1205c2c66affSColin Finck # define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
1206c2c66affSColin Finck #endif
1207c2c66affSColin Finck #define HWND_BROADCAST  ((HWND)0xffff)
1208c2c66affSColin Finck #define HWND_BOTTOM ((HWND)1)
1209c2c66affSColin Finck #define HWND_NOTOPMOST ((HWND)(-2))
1210c2c66affSColin Finck #define HWND_TOP ((HWND)0)
1211c2c66affSColin Finck #define HWND_TOPMOST ((HWND)(-1))
1212c2c66affSColin Finck #define HWND_DESKTOP (HWND)0
1213c2c66affSColin Finck #define HWND_MESSAGE ((HWND)(-3)) /* w2k */
1214c2c66affSColin Finck #define RDW_ERASE 4
1215c2c66affSColin Finck #define RDW_FRAME 1024
1216c2c66affSColin Finck #define RDW_INTERNALPAINT 2
1217c2c66affSColin Finck #define RDW_INVALIDATE 1
1218c2c66affSColin Finck #define RDW_NOERASE 32
1219c2c66affSColin Finck #define RDW_NOFRAME 2048
1220c2c66affSColin Finck #define RDW_NOINTERNALPAINT 16
1221c2c66affSColin Finck #define RDW_VALIDATE 8
1222c2c66affSColin Finck #define RDW_ERASENOW 512
1223c2c66affSColin Finck #define RDW_UPDATENOW 256
1224c2c66affSColin Finck #define RDW_ALLCHILDREN 128
1225c2c66affSColin Finck #define RDW_NOCHILDREN 64
1226c2c66affSColin Finck #define SMTO_ABORTIFHUNG 2
1227c2c66affSColin Finck #define SMTO_BLOCK 1
1228c2c66affSColin Finck #define SMTO_NORMAL 0
1229c2c66affSColin Finck #if (WINVER >= 0x0500)
1230c2c66affSColin Finck #define SMTO_NOTIMEOUTIFNOTHUNG 8
1231c2c66affSColin Finck #endif
1232c2c66affSColin Finck #if (WINVER >= 0x0600)
1233c2c66affSColin Finck #define SMTO_ERRORONEXIT 32
1234c2c66affSColin Finck #endif
1235c2c66affSColin Finck #define SIF_ALL 23
1236c2c66affSColin Finck #define SIF_PAGE 2
1237c2c66affSColin Finck #define SIF_POS 4
1238c2c66affSColin Finck #define SIF_RANGE 1
1239c2c66affSColin Finck #define SIF_DISABLENOSCROLL 8
1240c2c66affSColin Finck #define SIF_TRACKPOS   16
1241236649c6SDoug Lyons #define SIF_THEMED 128      /* REACTOS Specific Only */
1242c2c66affSColin Finck #define SWP_DRAWFRAME 32
1243c2c66affSColin Finck #define SWP_FRAMECHANGED 32
1244c2c66affSColin Finck #define SWP_HIDEWINDOW 128
1245c2c66affSColin Finck #define SWP_NOACTIVATE 16
1246c2c66affSColin Finck #define SWP_NOCOPYBITS 256
1247c2c66affSColin Finck #define SWP_NOMOVE 2
1248c2c66affSColin Finck #define SWP_NOSIZE 1
1249c2c66affSColin Finck #define SWP_NOREDRAW 8
1250c2c66affSColin Finck #define SWP_NOZORDER 4
1251c2c66affSColin Finck #define SWP_SHOWWINDOW 64
1252c2c66affSColin Finck #define SWP_NOOWNERZORDER 512
1253c2c66affSColin Finck #define SWP_NOREPOSITION 512
1254c2c66affSColin Finck #define SWP_NOSENDCHANGING 1024
1255c2c66affSColin Finck #define SWP_DEFERERASE 8192
1256c2c66affSColin Finck #define SWP_ASYNCWINDOWPOS  16384
1257c2c66affSColin Finck 
1258c2c66affSColin Finck #define HSHELL_WINDOWCREATED 1
1259c2c66affSColin Finck #define HSHELL_WINDOWDESTROYED 2
1260c2c66affSColin Finck #define HSHELL_ACTIVATESHELLWINDOW 3
1261c2c66affSColin Finck #if(WINVER >= 0x0400)
1262c2c66affSColin Finck #define HSHELL_WINDOWACTIVATED 4
1263c2c66affSColin Finck #define HSHELL_GETMINRECT 5
1264c2c66affSColin Finck #define HSHELL_REDRAW 6
1265c2c66affSColin Finck #define HSHELL_TASKMAN 7
1266c2c66affSColin Finck #define HSHELL_LANGUAGE 8
1267c2c66affSColin Finck #define HSHELL_SYSMENU  9
1268c2c66affSColin Finck #define HSHELL_ENDTASK  10
1269c2c66affSColin Finck #endif /* WINVER >= 0x0400 */
1270c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
1271c2c66affSColin Finck #define HSHELL_ACCESSIBILITYSTATE 11
1272ab760e53SMark Jansen #define ACCESS_STICKYKEYS 0x01
1273ab760e53SMark Jansen #define ACCESS_FILTERKEYS 0x02
1274ab760e53SMark Jansen #define ACCESS_MOUSEKEYS 0x03
1275c2c66affSColin Finck #define HSHELL_APPCOMMAND 12
1276c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0500 */
1277c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0501)
1278c2c66affSColin Finck #define HSHELL_WINDOWREPLACED 13
1279c2c66affSColin Finck #define HSHELL_WINDOWREPLACING 14
1280c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0501 */
1281c2c66affSColin Finck 
1282c2c66affSColin Finck #define HSHELL_HIGHBIT          0x8000
1283c2c66affSColin Finck #define HSHELL_FLASH            (HSHELL_REDRAW|HSHELL_HIGHBIT)
1284c2c66affSColin Finck #define HSHELL_RUDEAPPACTIVATED (HSHELL_WINDOWACTIVATED|HSHELL_HIGHBIT)
1285c2c66affSColin Finck 
1286c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
1287c2c66affSColin Finck #define APPCOMMAND_BROWSER_BACKWARD 1
1288c2c66affSColin Finck #define APPCOMMAND_BROWSER_FORWARD 2
1289c2c66affSColin Finck #define APPCOMMAND_BROWSER_REFRESH 3
1290c2c66affSColin Finck #define APPCOMMAND_BROWSER_STOP 4
1291c2c66affSColin Finck #define APPCOMMAND_BROWSER_SEARCH 5
1292c2c66affSColin Finck #define APPCOMMAND_BROWSER_FAVORITES 6
1293c2c66affSColin Finck #define APPCOMMAND_BROWSER_HOME 7
1294c2c66affSColin Finck #define APPCOMMAND_VOLUME_MUTE 8
1295c2c66affSColin Finck #define APPCOMMAND_VOLUME_DOWN 9
1296c2c66affSColin Finck #define APPCOMMAND_VOLUME_UP 10
1297c2c66affSColin Finck #define APPCOMMAND_MEDIA_NEXTTRACK 11
1298c2c66affSColin Finck #define APPCOMMAND_MEDIA_PREVIOUSTRACK 12
1299c2c66affSColin Finck #define APPCOMMAND_MEDIA_STOP 13
1300c2c66affSColin Finck #define APPCOMMAND_MEDIA_PLAY_PAUSE 14
1301c2c66affSColin Finck #define APPCOMMAND_LAUNCH_MAIL 15
1302c2c66affSColin Finck #define APPCOMMAND_LAUNCH_MEDIA_SELECT 16
1303c2c66affSColin Finck #define APPCOMMAND_LAUNCH_APP1 17
1304c2c66affSColin Finck #define APPCOMMAND_LAUNCH_APP2 18
1305c2c66affSColin Finck #define APPCOMMAND_BASS_DOWN 19
1306c2c66affSColin Finck #define APPCOMMAND_BASS_BOOST 20
1307c2c66affSColin Finck #define APPCOMMAND_BASS_UP 21
1308c2c66affSColin Finck #define APPCOMMAND_TREBLE_DOWN 22
1309c2c66affSColin Finck #define APPCOMMAND_TREBLE_UP 23
1310c2c66affSColin Finck #if( _WIN32_WINNT >= 0x0501 )
1311c2c66affSColin Finck #define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24
1312c2c66affSColin Finck #define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25
1313c2c66affSColin Finck #define APPCOMMAND_MICROPHONE_VOLUME_UP 26
1314c2c66affSColin Finck #define APPCOMMAND_HELP 27
1315c2c66affSColin Finck #define APPCOMMAND_FIND 28
1316c2c66affSColin Finck #define APPCOMMAND_NEW 29
1317c2c66affSColin Finck #define APPCOMMAND_OPEN 30
1318c2c66affSColin Finck #define APPCOMMAND_CLOSE 31
1319c2c66affSColin Finck #define APPCOMMAND_SAVE 32
1320c2c66affSColin Finck #define APPCOMMAND_PRINT 33
1321c2c66affSColin Finck #define APPCOMMAND_UNDO 34
1322c2c66affSColin Finck #define APPCOMMAND_REDO 35
1323c2c66affSColin Finck #define APPCOMMAND_COPY 36
1324c2c66affSColin Finck #define APPCOMMAND_CUT 37
1325c2c66affSColin Finck #define APPCOMMAND_PASTE 38
1326c2c66affSColin Finck #define APPCOMMAND_REPLY_TO_MAIL 39
1327c2c66affSColin Finck #define APPCOMMAND_FORWARD_MAIL 40
1328c2c66affSColin Finck #define APPCOMMAND_SEND_MAIL 41
1329c2c66affSColin Finck #define APPCOMMAND_SPELL_CHECK 42
1330c2c66affSColin Finck #define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43
1331c2c66affSColin Finck #define APPCOMMAND_MIC_ON_OFF_TOGGLE 44
1332c2c66affSColin Finck #define APPCOMMAND_CORRECTION_LIST 45
1333c2c66affSColin Finck #define APPCOMMAND_MEDIA_PLAY 46
1334c2c66affSColin Finck #define APPCOMMAND_MEDIA_PAUSE 47
1335c2c66affSColin Finck #define APPCOMMAND_MEDIA_RECORD 48
1336c2c66affSColin Finck #define APPCOMMAND_MEDIA_FAST_FORWARD 49
1337c2c66affSColin Finck #define APPCOMMAND_MEDIA_REWIND 50
1338c2c66affSColin Finck #define APPCOMMAND_MEDIA_CHANNEL_UP 51
1339c2c66affSColin Finck #define APPCOMMAND_MEDIA_CHANNEL_DOWN 52
1340c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0501 */
1341c2c66affSColin Finck 
1342c2c66affSColin Finck #define FAPPCOMMAND_MOUSE   0x8000
1343c2c66affSColin Finck #define FAPPCOMMAND_KEY 0
1344c2c66affSColin Finck #define FAPPCOMMAND_OEM 0x1000
1345c2c66affSColin Finck #define FAPPCOMMAND_MASK    0xf000
1346c2c66affSColin Finck 
1347c2c66affSColin Finck #define GET_APPCOMMAND_LPARAM(lParam)   ((SHORT)(HIWORD(lParam) & ~FAPPCOMMAND_MASK))
1348c2c66affSColin Finck #define GET_DEVICE_LPARAM(lParam)   ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK))
1349c2c66affSColin Finck #define GET_MOUSEORKEY_LPARAM   GET_DEVICE_LPARAM
1350c2c66affSColin Finck #define GET_FLAGS_LPARAM(lParam)    (LOWORD(lParam))
1351c2c66affSColin Finck #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam)
1352c2c66affSColin Finck #endif
1353c2c66affSColin Finck 
1354c2c66affSColin Finck 
1355c2c66affSColin Finck 
1356c2c66affSColin Finck #define SPI_GETBEEP 0x0001
1357c2c66affSColin Finck #define SPI_SETBEEP 0x0002
1358c2c66affSColin Finck #define SPI_GETMOUSE 0x0003
1359c2c66affSColin Finck #define SPI_SETMOUSE 0x0004
1360c2c66affSColin Finck #define SPI_GETBORDER 0x0005
1361c2c66affSColin Finck #define SPI_SETBORDER 0x0006
1362c2c66affSColin Finck #define SPI_GETKEYBOARDSPEED 0x000A
1363c2c66affSColin Finck #define SPI_SETKEYBOARDSPEED 0x000B
1364c2c66affSColin Finck #define SPI_LANGDRIVER 0x000C
1365c2c66affSColin Finck #define SPI_ICONHORIZONTALSPACING 0x000D
1366c2c66affSColin Finck #define SPI_GETSCREENSAVETIMEOUT 0x000E
1367c2c66affSColin Finck #define SPI_SETSCREENSAVETIMEOUT 0x000F
1368c2c66affSColin Finck #define SPI_GETSCREENSAVEACTIVE 0x0010
1369c2c66affSColin Finck #define SPI_SETSCREENSAVEACTIVE 0x0011
1370c2c66affSColin Finck #define SPI_GETGRIDGRANULARITY 0x0012
1371c2c66affSColin Finck #define SPI_SETGRIDGRANULARITY 0x0013
1372c2c66affSColin Finck #define SPI_SETDESKWALLPAPER 0x0014
1373c2c66affSColin Finck #define SPI_SETDESKPATTERN 0x0015
1374c2c66affSColin Finck #define SPI_GETKEYBOARDDELAY 0x0016
1375c2c66affSColin Finck #define SPI_SETKEYBOARDDELAY 0x0017
1376c2c66affSColin Finck #define SPI_ICONVERTICALSPACING 0x0018
1377c2c66affSColin Finck #define SPI_GETICONTITLEWRAP 0x0019
1378c2c66affSColin Finck #define SPI_SETICONTITLEWRAP 0x001A
1379c2c66affSColin Finck #define SPI_GETMENUDROPALIGNMENT 0x001B
1380c2c66affSColin Finck #define SPI_SETMENUDROPALIGNMENT 0x001C
1381c2c66affSColin Finck #define SPI_SETDOUBLECLKWIDTH 0x001D
1382c2c66affSColin Finck #define SPI_SETDOUBLECLKHEIGHT 0x001E
1383c2c66affSColin Finck #define SPI_GETICONTITLELOGFONT 0x001F
1384c2c66affSColin Finck #define SPI_SETDOUBLECLICKTIME 0x0020
1385c2c66affSColin Finck #define SPI_SETMOUSEBUTTONSWAP 0x0021
1386c2c66affSColin Finck #define SPI_SETICONTITLELOGFONT 0x0022
1387c2c66affSColin Finck #define SPI_GETFASTTASKSWITCH 0x0023
1388c2c66affSColin Finck #define SPI_SETFASTTASKSWITCH 0x0024
1389c2c66affSColin Finck #if(WINVER >= 0x0400)
1390c2c66affSColin Finck     #define SPI_SETDRAGFULLWINDOWS 0x0025
1391c2c66affSColin Finck     #define SPI_GETDRAGFULLWINDOWS 0x0026
1392c2c66affSColin Finck     #define SPI_GETNONCLIENTMETRICS 0x0029
1393c2c66affSColin Finck     #define SPI_SETNONCLIENTMETRICS 0x002A
1394c2c66affSColin Finck     #define SPI_GETMINIMIZEDMETRICS 0x002B
1395c2c66affSColin Finck     #define SPI_SETMINIMIZEDMETRICS 0x002C
1396c2c66affSColin Finck     #define SPI_GETICONMETRICS 0x002D
1397c2c66affSColin Finck     #define SPI_SETICONMETRICS 0x002E
1398c2c66affSColin Finck     #define SPI_SETWORKAREA 0x002F
1399c2c66affSColin Finck     #define SPI_GETWORKAREA 0x0030
1400c2c66affSColin Finck     #define SPI_SETPENWINDOWS 0x0031
1401c2c66affSColin Finck #endif
1402c2c66affSColin Finck #define SPI_GETFILTERKEYS 0x0032
1403c2c66affSColin Finck #define SPI_SETFILTERKEYS 0x0033
1404c2c66affSColin Finck #define SPI_GETTOGGLEKEYS 0x0034
1405c2c66affSColin Finck #define SPI_SETTOGGLEKEYS 0x0035
1406c2c66affSColin Finck #define SPI_GETMOUSEKEYS 0x0036
1407c2c66affSColin Finck #define SPI_SETMOUSEKEYS 0x0037
1408c2c66affSColin Finck #define SPI_GETSHOWSOUNDS 0x0038
1409c2c66affSColin Finck #define SPI_SETSHOWSOUNDS 0x0039
1410c2c66affSColin Finck #define SPI_GETSTICKYKEYS 0x003A
1411c2c66affSColin Finck #define SPI_SETSTICKYKEYS 0x003B
1412c2c66affSColin Finck #define SPI_GETACCESSTIMEOUT 0x003C
1413c2c66affSColin Finck #define SPI_SETACCESSTIMEOUT 0x003D
1414c2c66affSColin Finck #if(WINVER >= 0x0400)
1415c2c66affSColin Finck     #define SPI_GETSERIALKEYS 0x003E
1416c2c66affSColin Finck     #define SPI_SETSERIALKEYS 0x003F
1417c2c66affSColin Finck #endif
1418c2c66affSColin Finck #define SPI_GETSOUNDSENTRY 0x0040
1419c2c66affSColin Finck #define SPI_SETSOUNDSENTRY 0x0041
1420c2c66affSColin Finck #if(WINVER >= 0x0400)
1421c2c66affSColin Finck     #define SPI_GETHIGHCONTRAST 0x0042
1422c2c66affSColin Finck     #define SPI_SETHIGHCONTRAST 0x0043
1423c2c66affSColin Finck     #define SPI_GETKEYBOARDPREF 0x0044
1424c2c66affSColin Finck     #define SPI_SETKEYBOARDPREF 0x0045
1425c2c66affSColin Finck     #define SPI_GETSCREENREADER 0x0046
1426c2c66affSColin Finck     #define SPI_SETSCREENREADER 0x0047
1427c2c66affSColin Finck     #define SPI_GETANIMATION 0x0048
1428c2c66affSColin Finck     #define SPI_SETANIMATION 0x0049
1429c2c66affSColin Finck     #define SPI_GETFONTSMOOTHING 0x004A
1430c2c66affSColin Finck     #define SPI_SETFONTSMOOTHING 0x004B
1431c2c66affSColin Finck     #define SPI_SETDRAGWIDTH 0x004C
1432c2c66affSColin Finck     #define SPI_SETDRAGHEIGHT 0x004D
1433c2c66affSColin Finck     #define SPI_SETHANDHELD 0x004E
1434c2c66affSColin Finck     #define SPI_GETLOWPOWERTIMEOUT 0x004F
1435c2c66affSColin Finck     #define SPI_GETPOWEROFFTIMEOUT 0x0050
1436c2c66affSColin Finck     #define SPI_SETLOWPOWERTIMEOUT 0x0051
1437c2c66affSColin Finck     #define SPI_SETPOWEROFFTIMEOUT 0x0052
1438c2c66affSColin Finck     #define SPI_GETLOWPOWERACTIVE 0x0053
1439c2c66affSColin Finck     #define SPI_GETPOWEROFFACTIVE 0x0054
1440c2c66affSColin Finck     #define SPI_SETLOWPOWERACTIVE 0x0055
1441c2c66affSColin Finck     #define SPI_SETPOWEROFFACTIVE 0x0056
1442c2c66affSColin Finck     #define SPI_SETCURSORS 0x0057
1443c2c66affSColin Finck     #define SPI_SETICONS 0x0058
1444c2c66affSColin Finck     #define SPI_GETDEFAULTINPUTLANG 0x0059
1445c2c66affSColin Finck     #define SPI_SETDEFAULTINPUTLANG 0x005A
1446c2c66affSColin Finck     #define SPI_SETLANGTOGGLE 0x005B
1447c2c66affSColin Finck     #define SPI_GETWINDOWSEXTENSION 0x005C
1448c2c66affSColin Finck     #define SPI_SETMOUSETRAILS 0x005D
1449c2c66affSColin Finck     #define SPI_GETMOUSETRAILS 0x005E
1450c2c66affSColin Finck #endif
1451c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0400)
1452c2c66affSColin Finck     #define SPI_GETSNAPTODEFBUTTON 0x005F
1453c2c66affSColin Finck     #define SPI_SETSNAPTODEFBUTTON 0x0060
1454c2c66affSColin Finck #endif
1455c2c66affSColin Finck #if(WINVER >= 0x0400)
1456c2c66affSColin Finck     #define SPI_SCREENSAVERRUNNING 0x0061
1457c2c66affSColin Finck     #define SPI_SETSCREENSAVERRUNNING SPI_SCREENSAVERRUNNING
1458c2c66affSColin Finck #endif
1459c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
1460c2c66affSColin Finck     #define SPI_GETMOUSEHOVERWIDTH 0x0062
1461c2c66affSColin Finck     #define SPI_SETMOUSEHOVERWIDTH 0x0063
1462c2c66affSColin Finck     #define SPI_GETMOUSEHOVERHEIGHT 0x0064
1463c2c66affSColin Finck     #define SPI_SETMOUSEHOVERHEIGHT 0x0065
1464c2c66affSColin Finck     #define SPI_GETMOUSEHOVERTIME 0x0066
1465c2c66affSColin Finck     #define SPI_SETMOUSEHOVERTIME 0x0067
1466c2c66affSColin Finck     #define SPI_GETWHEELSCROLLLINES 0x0068
1467c2c66affSColin Finck     #define SPI_SETWHEELSCROLLLINES 0x0069
1468c2c66affSColin Finck     #define SPI_GETMENUSHOWDELAY 0x006A
1469c2c66affSColin Finck     #define SPI_SETMENUSHOWDELAY 0x006B
1470c2c66affSColin Finck     #if (_WIN32_WINNT >= 0x0600)
1471c2c66affSColin Finck         #define SPI_GETWHEELSCROLLCHARS 0x006C
1472c2c66affSColin Finck         #define SPI_SETWHEELSCROLLCHARS 0x006D
1473c2c66affSColin Finck     #endif
1474c2c66affSColin Finck     #define SPI_GETSHOWIMEUI 0x006E
1475c2c66affSColin Finck     #define SPI_SETSHOWIMEUI 0x006F
1476c2c66affSColin Finck #endif
1477c2c66affSColin Finck #if(WINVER >= 0x0500)
1478c2c66affSColin Finck     #define SPI_GETMOUSESPEED 0x0070
1479c2c66affSColin Finck     #define SPI_SETMOUSESPEED 0x0071
1480c2c66affSColin Finck     #define SPI_GETSCREENSAVERRUNNING 0x0072
1481c2c66affSColin Finck     #define SPI_GETDESKWALLPAPER 0x0073
1482c2c66affSColin Finck #endif
1483c2c66affSColin Finck #if(WINVER >= 0x0600)
1484c2c66affSColin Finck     #define SPI_GETAUDIODESCRIPTION 0x0074
1485c2c66affSColin Finck     #define SPI_SETAUDIODESCRIPTION 0x0075
1486c2c66affSColin Finck     #define SPI_GETSCREENSAVESECURE 0x0076
1487c2c66affSColin Finck     #define SPI_SETSCREENSAVESECURE 0x0077
1488c2c66affSColin Finck #endif
1489c2c66affSColin Finck #if(WINVER >= 0x0500)
1490c2c66affSColin Finck     #define SPI_GETACTIVEWINDOWTRACKING 0x1000
1491c2c66affSColin Finck     #define SPI_SETACTIVEWINDOWTRACKING 0x1001
1492c2c66affSColin Finck     #define SPI_GETMENUANIMATION 0x1002
1493c2c66affSColin Finck     #define SPI_SETMENUANIMATION 0x1003
1494c2c66affSColin Finck     #define SPI_GETCOMBOBOXANIMATION 0x1004
1495c2c66affSColin Finck     #define SPI_SETCOMBOBOXANIMATION 0x1005
1496c2c66affSColin Finck     #define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
1497c2c66affSColin Finck     #define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
1498c2c66affSColin Finck     #define SPI_GETGRADIENTCAPTIONS 0x1008
1499c2c66affSColin Finck     #define SPI_SETGRADIENTCAPTIONS 0x1009
1500c2c66affSColin Finck     #define SPI_GETKEYBOARDCUES 0x100A
1501c2c66affSColin Finck     #define SPI_SETKEYBOARDCUES 0x100B
1502c2c66affSColin Finck     #define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES
1503c2c66affSColin Finck     #define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES
1504c2c66affSColin Finck     #define SPI_GETACTIVEWNDTRKZORDER 0x100C
1505c2c66affSColin Finck     #define SPI_SETACTIVEWNDTRKZORDER 0x100D
1506c2c66affSColin Finck     #define SPI_GETHOTTRACKING 0x100E
1507c2c66affSColin Finck     #define SPI_SETHOTTRACKING 0x100F
1508c2c66affSColin Finck     #define SPI_GETMENUFADE 0x1012
1509c2c66affSColin Finck     #define SPI_SETMENUFADE 0x1013
1510c2c66affSColin Finck     #define SPI_GETSELECTIONFADE 0x1014
1511c2c66affSColin Finck     #define SPI_SETSELECTIONFADE 0x1015
1512c2c66affSColin Finck     #define SPI_GETTOOLTIPANIMATION 0x1016
1513c2c66affSColin Finck     #define SPI_SETTOOLTIPANIMATION 0x1017
1514c2c66affSColin Finck     #define SPI_GETTOOLTIPFADE 0x1018
1515c2c66affSColin Finck     #define SPI_SETTOOLTIPFADE 0x1019
1516c2c66affSColin Finck     #define SPI_GETCURSORSHADOW 0x101A
1517c2c66affSColin Finck     #define SPI_SETCURSORSHADOW 0x101B
1518c2c66affSColin Finck     #if(_WIN32_WINNT >= 0x0501)
1519c2c66affSColin Finck         #define SPI_GETMOUSESONAR 0x101C
1520c2c66affSColin Finck         #define SPI_SETMOUSESONAR 0x101D
1521c2c66affSColin Finck         #define SPI_GETMOUSECLICKLOCK 0x101E
1522c2c66affSColin Finck         #define SPI_SETMOUSECLICKLOCK 0x101F
1523c2c66affSColin Finck         #define SPI_GETMOUSEVANISH 0x1020
1524c2c66affSColin Finck         #define SPI_SETMOUSEVANISH 0x1021
1525c2c66affSColin Finck         #define SPI_GETFLATMENU 0x1022
1526c2c66affSColin Finck         #define SPI_SETFLATMENU 0x1023
1527c2c66affSColin Finck         #define SPI_GETDROPSHADOW 0x1024
1528c2c66affSColin Finck         #define SPI_SETDROPSHADOW 0x1025
1529c2c66affSColin Finck         #define SPI_GETBLOCKSENDINPUTRESETS 0x1026
1530c2c66affSColin Finck         #define SPI_SETBLOCKSENDINPUTRESETS 0x1027
1531c2c66affSColin Finck     #endif
1532c2c66affSColin Finck     #define SPI_GETUIEFFECTS 0x103E
1533c2c66affSColin Finck     #define SPI_SETUIEFFECTS 0x103F
1534c2c66affSColin Finck     #if(_WIN32_WINNT >= 0x0600)
1535c2c66affSColin Finck         #define SPI_GETDISABLEOVERLAPPEDCONTENT 0x1040
1536c2c66affSColin Finck         #define SPI_SETDISABLEOVERLAPPEDCONTENT 0x1041
1537c2c66affSColin Finck         #define SPI_GETCLIENTAREAANIMATION 0x1042
1538c2c66affSColin Finck         #define SPI_SETCLIENTAREAANIMATION 0x1043
1539c2c66affSColin Finck         #define SPI_GETCLEARTYPE 0x1048
1540c2c66affSColin Finck         #define SPI_SETCLEARTYPE 0x1049
1541c2c66affSColin Finck         #define SPI_GETSPEECHRECOGNITION 0x104A
1542c2c66affSColin Finck         #define SPI_SETSPEECHRECOGNITION 0x104B
1543c2c66affSColin Finck     #endif
1544c2c66affSColin Finck     #define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
1545c2c66affSColin Finck     #define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
1546c2c66affSColin Finck     #define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
1547c2c66affSColin Finck     #define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
1548c2c66affSColin Finck     #define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
1549c2c66affSColin Finck     #define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
1550c2c66affSColin Finck     #define SPI_GETCARETWIDTH 0x2006
1551c2c66affSColin Finck     #define SPI_SETCARETWIDTH 0x2007
1552c2c66affSColin Finck     #if(_WIN32_WINNT >= 0x0501)
1553c2c66affSColin Finck         #define SPI_GETMOUSECLICKLOCKTIME 0x2008
1554c2c66affSColin Finck         #define SPI_SETMOUSECLICKLOCKTIME 0x2009
1555c2c66affSColin Finck         #define SPI_GETFONTSMOOTHINGTYPE 0x200A
1556c2c66affSColin Finck         #define SPI_SETFONTSMOOTHINGTYPE 0x200B
1557c2c66affSColin Finck         #define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
1558c2c66affSColin Finck         #define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
1559c2c66affSColin Finck         #define SPI_GETFOCUSBORDERWIDTH 0x200E
1560c2c66affSColin Finck         #define SPI_SETFOCUSBORDERWIDTH 0x200F
1561c2c66affSColin Finck         #define SPI_GETFOCUSBORDERHEIGHT 0x2010
1562c2c66affSColin Finck         #define SPI_SETFOCUSBORDERHEIGHT 0x2011
1563c2c66affSColin Finck         #define SPI_GETFONTSMOOTHINGORIENTATION 0x2012
1564c2c66affSColin Finck         #define SPI_SETFONTSMOOTHINGORIENTATION 0x2013
1565c2c66affSColin Finck 
1566c2c66affSColin Finck         #define FE_FONTSMOOTHINGSTANDARD 0x0001
1567c2c66affSColin Finck         #define FE_FONTSMOOTHINGCLEARTYPE 0x0002
1568c2c66affSColin Finck         #define FE_FONTSMOOTHINGDOCKING 0x8000
1569c2c66affSColin Finck         #define FE_FONTSMOOTHINGORIENTATIONBGR 0x0000
1570c2c66affSColin Finck         #define FE_FONTSMOOTHINGORIENTATIONRGB 0x0001
1571c2c66affSColin Finck     #endif
1572c2c66affSColin Finck #endif
1573c2c66affSColin Finck 
1574c2c66affSColin Finck #define SPIF_UPDATEINIFILE 1
1575c2c66affSColin Finck #define SPIF_SENDCHANGE 2
1576cf48f8bfSSerge Gautherie #define SPIF_SENDWININICHANGE SPIF_SENDCHANGE
1577c2c66affSColin Finck #define ATF_ONOFFFEEDBACK 2
1578c2c66affSColin Finck #define ATF_TIMEOUTON 1
1579c2c66affSColin Finck 
1580c2c66affSColin Finck #if (WINVER >= 0x0500)
1581c2c66affSColin Finck #define UIS_SET 1
1582c2c66affSColin Finck #define UIS_CLEAR 2
1583c2c66affSColin Finck #define UIS_INITIALIZE 3
1584c2c66affSColin Finck 
1585c2c66affSColin Finck #define UISF_HIDEFOCUS 0x1
1586c2c66affSColin Finck #define UISF_HIDEACCEL 0x2
1587c2c66affSColin Finck #if (WINVER >= 0x0501)
1588c2c66affSColin Finck #define UISF_ACTIVE 0x4
1589c2c66affSColin Finck #endif
1590c2c66affSColin Finck 
1591c2c66affSColin Finck #endif
1592c2c66affSColin Finck 
1593c2c66affSColin Finck #define PBT_APMQUERYSUSPEND 0x0000
1594c2c66affSColin Finck #define PBT_APMQUERYSTANDBY 0x0001
1595c2c66affSColin Finck #define PBT_APMQUERYSUSPENDFAILED 0x0002
1596c2c66affSColin Finck #define PBT_APMQUERYSTANDBYFAILED 0x0003
1597c2c66affSColin Finck #define PBT_APMSUSPEND 0x0004
1598c2c66affSColin Finck #define PBT_APMSTANDBY 0x0005
1599c2c66affSColin Finck #define PBT_APMRESUMECRITICAL 0x0006
1600c2c66affSColin Finck #define PBT_APMRESUMESUSPEND 0x0007
1601c2c66affSColin Finck #define PBT_APMRESUMESTANDBY 0x0008
1602c2c66affSColin Finck #define PBTF_APMRESUMEFROMFAILURE 0x00000001
1603c2c66affSColin Finck #define PBT_APMBATTERYLOW 0x0009
1604c2c66affSColin Finck #define PBT_APMPOWERSTATUSCHANGE 0x000A
1605c2c66affSColin Finck #define PBT_APMOEMEVENT 0x000B
1606c2c66affSColin Finck #define PBT_APMRESUMEAUTOMATIC 0x0012
1607c2c66affSColin Finck 
1608c2c66affSColin Finck 
1609c2c66affSColin Finck /* Window messages */
1610c2c66affSColin Finck #define WM_NULL 0
1611c2c66affSColin Finck #define WM_CREATE 1
1612c2c66affSColin Finck #define WM_DESTROY 2
1613c2c66affSColin Finck #define WM_MOVE 3
1614c2c66affSColin Finck #define WM_SIZE 5
1615c2c66affSColin Finck #define WM_ACTIVATE 6
1616c2c66affSColin Finck #define WM_SETFOCUS 7
1617c2c66affSColin Finck #define WM_KILLFOCUS 8
1618c2c66affSColin Finck #define WM_ENABLE 10
1619c2c66affSColin Finck #define WM_SETREDRAW 11
1620c2c66affSColin Finck #define WM_SETTEXT 12
1621c2c66affSColin Finck #define WM_GETTEXT 13
1622c2c66affSColin Finck #define WM_GETTEXTLENGTH 14
1623c2c66affSColin Finck #define WM_PAINT 15
1624c2c66affSColin Finck #define WM_CLOSE 16
1625c2c66affSColin Finck #define WM_QUERYENDSESSION 17
1626c2c66affSColin Finck #define WM_QUIT 18
1627c2c66affSColin Finck #define WM_QUERYOPEN 19
1628c2c66affSColin Finck #define WM_ERASEBKGND 20
1629c2c66affSColin Finck #define WM_SYSCOLORCHANGE 21
1630c2c66affSColin Finck #define WM_ENDSESSION 22
1631c2c66affSColin Finck #define WM_SHOWWINDOW 24
1632c2c66affSColin Finck #define WM_SETTINGCHANGE 26
1633c2c66affSColin Finck #define WM_WININICHANGE 26
1634c2c66affSColin Finck #define WM_DEVMODECHANGE 27
1635c2c66affSColin Finck #define WM_ACTIVATEAPP 28
1636c2c66affSColin Finck #define WM_FONTCHANGE 29
1637c2c66affSColin Finck #define WM_TIMECHANGE 30
1638c2c66affSColin Finck #define WM_CANCELMODE 31
1639c2c66affSColin Finck #define WM_SETCURSOR 32
1640c2c66affSColin Finck #define WM_MOUSEACTIVATE 33
1641c2c66affSColin Finck #define WM_CHILDACTIVATE 34
1642c2c66affSColin Finck #define WM_QUEUESYNC 35
1643c2c66affSColin Finck #define WM_GETMINMAXINFO 36
1644c2c66affSColin Finck #define WM_PAINTICON 38
1645c2c66affSColin Finck #define WM_ICONERASEBKGND 39
1646c2c66affSColin Finck #define WM_NEXTDLGCTL 40
1647c2c66affSColin Finck #define WM_SPOOLERSTATUS 42
1648c2c66affSColin Finck #define WM_DRAWITEM 43
1649c2c66affSColin Finck #define WM_MEASUREITEM 44
1650c2c66affSColin Finck #define WM_DELETEITEM 45
1651c2c66affSColin Finck #define WM_VKEYTOITEM 46
1652c2c66affSColin Finck #define WM_CHARTOITEM 47
1653c2c66affSColin Finck #define WM_SETFONT 48
1654c2c66affSColin Finck #define WM_GETFONT 49
1655c2c66affSColin Finck #define WM_SETHOTKEY 50
1656c2c66affSColin Finck #define WM_GETHOTKEY 51
1657c2c66affSColin Finck #define WM_QUERYDRAGICON 55
1658c2c66affSColin Finck #define WM_COMPAREITEM 57
1659c2c66affSColin Finck #if (WINVER >= 0x0500)
1660c2c66affSColin Finck #define WM_GETOBJECT 61
1661c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
1662c2c66affSColin Finck #define WM_COMPACTING 65
1663c2c66affSColin Finck #define WM_COMMNOTIFY 68		/* obsolete */
1664c2c66affSColin Finck #define WM_WINDOWPOSCHANGING 70
1665c2c66affSColin Finck #define WM_WINDOWPOSCHANGED 71
1666c2c66affSColin Finck #define WM_POWER 72
1667c2c66affSColin Finck #define WM_COPYDATA 74
1668c2c66affSColin Finck #define WM_CANCELJOURNAL 75
1669c2c66affSColin Finck 
1670c2c66affSColin Finck #if (WINVER >= 0x0400)
1671c2c66affSColin Finck #define WM_NOTIFY 78
1672c2c66affSColin Finck #define WM_INPUTLANGCHANGEREQUEST 80
1673c2c66affSColin Finck #define WM_INPUTLANGCHANGE 81
1674c2c66affSColin Finck #define WM_TCARD 82
1675c2c66affSColin Finck #define WM_HELP 83
1676c2c66affSColin Finck #define WM_USERCHANGED 84
1677c2c66affSColin Finck #define WM_NOTIFYFORMAT 85
1678c2c66affSColin Finck #define WM_CONTEXTMENU 123
1679c2c66affSColin Finck #define WM_STYLECHANGING 124
1680c2c66affSColin Finck #define WM_STYLECHANGED 125
1681c2c66affSColin Finck #define WM_DISPLAYCHANGE 126
1682c2c66affSColin Finck #define WM_GETICON 127
1683c2c66affSColin Finck #define WM_SETICON 128
1684c2c66affSColin Finck #endif /* (WINVER >= 0x0400) */
1685c2c66affSColin Finck 
1686c2c66affSColin Finck #define WM_NCCREATE 129
1687c2c66affSColin Finck #define WM_NCDESTROY 130
1688c2c66affSColin Finck #define WM_NCCALCSIZE 131
1689c2c66affSColin Finck #define WM_NCHITTEST 132
1690c2c66affSColin Finck #define WM_NCPAINT 133
1691c2c66affSColin Finck #define WM_NCACTIVATE 134
1692c2c66affSColin Finck #define WM_GETDLGCODE 135
1693c2c66affSColin Finck #define WM_SYNCPAINT  136
1694c2c66affSColin Finck #define WM_NCMOUSEMOVE 160
1695c2c66affSColin Finck #define WM_NCLBUTTONDOWN 161
1696c2c66affSColin Finck #define WM_NCLBUTTONUP 162
1697c2c66affSColin Finck #define WM_NCLBUTTONDBLCLK 163
1698c2c66affSColin Finck #define WM_NCRBUTTONDOWN 164
1699c2c66affSColin Finck #define WM_NCRBUTTONUP 165
1700c2c66affSColin Finck #define WM_NCRBUTTONDBLCLK 166
1701c2c66affSColin Finck #define WM_NCMBUTTONDOWN 167
1702c2c66affSColin Finck #define WM_NCMBUTTONUP 168
1703c2c66affSColin Finck #define WM_NCMBUTTONDBLCLK 169
1704c2c66affSColin Finck 
1705c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
1706c2c66affSColin Finck #define WM_NCXBUTTONDOWN 171
1707c2c66affSColin Finck #define WM_NCXBUTTONUP 172
1708c2c66affSColin Finck #define WM_NCXBUTTONDBLCLK 173
1709c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
1710c2c66affSColin Finck 
1711d3cdbad2SKatayama Hirofumi MZ #define GIDC_ARRIVAL 1
1712d3cdbad2SKatayama Hirofumi MZ #define GIDC_REMOVAL 2
1713d3cdbad2SKatayama Hirofumi MZ 
1714d3cdbad2SKatayama Hirofumi MZ #define WM_INPUT_DEVICE_CHANGE 254
1715d3cdbad2SKatayama Hirofumi MZ #define WM_INPUT 255
1716d3cdbad2SKatayama Hirofumi MZ 
1717c2c66affSColin Finck #define WM_KEYFIRST 256
1718c2c66affSColin Finck #define WM_KEYDOWN 256
1719c2c66affSColin Finck #define WM_KEYUP 257
1720c2c66affSColin Finck #define WM_CHAR 258
1721c2c66affSColin Finck #define WM_DEADCHAR 259
1722c2c66affSColin Finck #define WM_SYSKEYDOWN 260
1723c2c66affSColin Finck #define WM_SYSKEYUP 261
1724c2c66affSColin Finck #define WM_SYSCHAR 262
1725c2c66affSColin Finck #define WM_SYSDEADCHAR 263
1726c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0501)
1727c2c66affSColin Finck #define WM_UNICHAR 0x0109
1728c2c66affSColin Finck #define WM_KEYLAST WM_UNICHAR
1729c2c66affSColin Finck #define UNICODE_NOCHAR 0xffff
1730c2c66affSColin Finck #else
1731c2c66affSColin Finck #define WM_KEYLAST 264
1732c2c66affSColin Finck #endif
1733c2c66affSColin Finck 
1734c2c66affSColin Finck /* Win32 4.0 messages for IME */
1735c2c66affSColin Finck #if (WINVER >= 0x0400)
1736c2c66affSColin Finck #define WM_IME_STARTCOMPOSITION     0x010d
1737c2c66affSColin Finck #define WM_IME_ENDCOMPOSITION       0x010e
1738c2c66affSColin Finck #define WM_IME_COMPOSITION          0x010f
1739c2c66affSColin Finck #define WM_IME_KEYLAST              0x010f
1740c2c66affSColin Finck #endif /* (WINVER >= 0x0400) */
1741c2c66affSColin Finck 
1742c2c66affSColin Finck #define WM_INITDIALOG 272
1743c2c66affSColin Finck #define WM_COMMAND 273
1744c2c66affSColin Finck #define WM_SYSCOMMAND 274
1745c2c66affSColin Finck #define WM_TIMER 275
1746c2c66affSColin Finck #define WM_HSCROLL 276
1747c2c66affSColin Finck #define WM_VSCROLL 277
1748c2c66affSColin Finck #define WM_INITMENU 278
1749c2c66affSColin Finck #define WM_INITMENUPOPUP 279
1750c2c66affSColin Finck #define WM_MENUSELECT 287
1751c2c66affSColin Finck #define WM_MENUCHAR 288
1752c2c66affSColin Finck #define WM_ENTERIDLE 289
1753c2c66affSColin Finck 
1754c2c66affSColin Finck #if (WINVER >= 0x0500)
1755c2c66affSColin Finck #ifndef _WIN32_WCE
1756c2c66affSColin Finck #define WM_MENURBUTTONUP 290
1757c2c66affSColin Finck #define WM_MENUDRAG 291
1758c2c66affSColin Finck #define WM_MENUGETOBJECT 292
1759c2c66affSColin Finck #define WM_UNINITMENUPOPUP 293
1760c2c66affSColin Finck #define WM_MENUCOMMAND 294
1761c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
1762c2c66affSColin Finck #define WM_CHANGEUISTATE 295
1763c2c66affSColin Finck #define WM_UPDATEUISTATE 296
1764c2c66affSColin Finck #define WM_QUERYUISTATE 297
1765c2c66affSColin Finck #endif /* _WIN32_WINNT >= 0x0500 */
1766c2c66affSColin Finck #endif /* _WIN32_WCE */
1767c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
1768c2c66affSColin Finck 
1769c2c66affSColin Finck #define WM_CTLCOLORMSGBOX 306
1770c2c66affSColin Finck #define WM_CTLCOLOREDIT 307
1771c2c66affSColin Finck #define WM_CTLCOLORLISTBOX 308
1772c2c66affSColin Finck #define WM_CTLCOLORBTN 309
1773c2c66affSColin Finck #define WM_CTLCOLORDLG 310
1774c2c66affSColin Finck #define WM_CTLCOLORSCROLLBAR 311
1775c2c66affSColin Finck #define WM_CTLCOLORSTATIC 312
1776c2c66affSColin Finck #define MN_GETHMENU 481
1777c2c66affSColin Finck #define WM_MOUSEFIRST 512
1778c2c66affSColin Finck #define WM_MOUSEMOVE 512
1779c2c66affSColin Finck #define WM_LBUTTONDOWN 513
1780c2c66affSColin Finck #define WM_LBUTTONUP 514
1781c2c66affSColin Finck #define WM_LBUTTONDBLCLK 515
1782c2c66affSColin Finck #define WM_RBUTTONDOWN 516
1783c2c66affSColin Finck #define WM_RBUTTONUP 517
1784c2c66affSColin Finck #define WM_RBUTTONDBLCLK 518
1785c2c66affSColin Finck #define WM_MBUTTONDOWN 519
1786c2c66affSColin Finck #define WM_MBUTTONUP 520
1787c2c66affSColin Finck #define WM_MBUTTONDBLCLK 521
1788c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
1789c2c66affSColin Finck #define WM_MOUSEWHEEL 522
1790c2c66affSColin Finck #endif
1791c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
1792c2c66affSColin Finck #define WM_XBUTTONDOWN 523
1793c2c66affSColin Finck #define WM_XBUTTONUP 524
1794c2c66affSColin Finck #define WM_XBUTTONDBLCLK 525
1795c2c66affSColin Finck #endif
1796c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0600)
1797c2c66affSColin Finck #define WM_MOUSEHWHEEL 526
1798c2c66affSColin Finck #endif
1799c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
1800c2c66affSColin Finck #define WM_MOUSELAST 525
1801c2c66affSColin Finck #elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
1802c2c66affSColin Finck #define WM_MOUSELAST 522
1803c2c66affSColin Finck #else
1804c2c66affSColin Finck #define WM_MOUSELAST 521
1805c2c66affSColin Finck #endif
1806c2c66affSColin Finck #define WM_PARENTNOTIFY 528
1807c2c66affSColin Finck #define WM_ENTERMENULOOP 529
1808c2c66affSColin Finck #define WM_EXITMENULOOP 530
1809c2c66affSColin Finck #define WM_NEXTMENU 531
1810c2c66affSColin Finck #define WM_SIZING 532
1811c2c66affSColin Finck #define WM_CAPTURECHANGED 533
1812c2c66affSColin Finck #define WM_MOVING 534
1813c2c66affSColin Finck #define WM_POWERBROADCAST 536
1814c2c66affSColin Finck #define WM_DEVICECHANGE 537
1815c2c66affSColin Finck #define WM_MDICREATE 544
1816c2c66affSColin Finck #define WM_MDIDESTROY 545
1817c2c66affSColin Finck #define WM_MDIACTIVATE 546
1818c2c66affSColin Finck #define WM_MDIRESTORE 547
1819c2c66affSColin Finck #define WM_MDINEXT 548
1820c2c66affSColin Finck #define WM_MDIMAXIMIZE 549
1821c2c66affSColin Finck #define WM_MDITILE 550
1822c2c66affSColin Finck #define WM_MDICASCADE 551
1823c2c66affSColin Finck #define WM_MDIICONARRANGE 552
1824c2c66affSColin Finck #define WM_MDIGETACTIVE 553
1825c2c66affSColin Finck #define WM_MDISETMENU 560
1826c2c66affSColin Finck #define WM_ENTERSIZEMOVE 561
1827c2c66affSColin Finck #define WM_EXITSIZEMOVE 562
1828c2c66affSColin Finck #define WM_DROPFILES 563
1829c2c66affSColin Finck #define WM_MDIREFRESHMENU 564
1830c2c66affSColin Finck 
1831c2c66affSColin Finck /* Win32 4.0 messages for IME */
1832c2c66affSColin Finck #define WM_IME_SETCONTEXT           0x0281
1833c2c66affSColin Finck #define WM_IME_NOTIFY               0x0282
1834c2c66affSColin Finck #define WM_IME_CONTROL              0x0283
1835c2c66affSColin Finck #define WM_IME_COMPOSITIONFULL      0x0284
1836c2c66affSColin Finck #define WM_IME_SELECT               0x0285
1837c2c66affSColin Finck #define WM_IME_CHAR                 0x0286
1838c2c66affSColin Finck /* Win32 5.0 messages for IME */
1839c2c66affSColin Finck #define WM_IME_REQUEST              0x0288
1840c2c66affSColin Finck /* Win32 4.0 messages for IME */
1841c2c66affSColin Finck #define WM_IME_KEYDOWN              0x0290
1842c2c66affSColin Finck #define WM_IME_KEYUP                0x0291
1843c2c66affSColin Finck 
1844c2c66affSColin Finck #define WM_NCMOUSEHOVER             0x02A0
1845c2c66affSColin Finck #define WM_NCMOUSELEAVE             0x02A2
1846c2c66affSColin Finck #define WM_MOUSEHOVER               0x02A1
1847c2c66affSColin Finck #define WM_MOUSELEAVE               0x02A3
1848c2c66affSColin Finck 
184934bf2475SKatayama Hirofumi MZ #if (_WIN32_WINNT >= 0x0501)
185034bf2475SKatayama Hirofumi MZ #define WTS_CONSOLE_CONNECT 0x1
185134bf2475SKatayama Hirofumi MZ #define WTS_CONSOLE_DISCONNECT 0x2
185234bf2475SKatayama Hirofumi MZ #define WTS_REMOTE_CONNECT 0x3
185334bf2475SKatayama Hirofumi MZ #define WTS_REMOTE_DISCONNECT 0x4
185434bf2475SKatayama Hirofumi MZ #define WTS_SESSION_LOGON 0x5
185534bf2475SKatayama Hirofumi MZ #define WTS_SESSION_LOGOFF 0x6
185634bf2475SKatayama Hirofumi MZ #define WTS_SESSION_LOCK 0x7
185734bf2475SKatayama Hirofumi MZ #define WTS_SESSION_UNLOCK 0x8
185834bf2475SKatayama Hirofumi MZ #define WTS_SESSION_REMOTE_CONTROL 0x9
185934bf2475SKatayama Hirofumi MZ #define WTS_SESSION_CREATE 0xA
186034bf2475SKatayama Hirofumi MZ #define WTS_SESSION_TERMINATE 0xB
186134bf2475SKatayama Hirofumi MZ #define WM_WTSSESSION_CHANGE 0x02B1
186234bf2475SKatayama Hirofumi MZ #endif
186334bf2475SKatayama Hirofumi MZ 
1864c2c66affSColin Finck #define WM_CUT 768
1865c2c66affSColin Finck #define WM_COPY 769
1866c2c66affSColin Finck #define WM_PASTE 770
1867c2c66affSColin Finck #define WM_CLEAR 771
1868c2c66affSColin Finck #define WM_UNDO 772
1869c2c66affSColin Finck #define WM_RENDERFORMAT 773
1870c2c66affSColin Finck #define WM_RENDERALLFORMATS 774
1871c2c66affSColin Finck #define WM_DESTROYCLIPBOARD 775
1872c2c66affSColin Finck #define WM_DRAWCLIPBOARD 776
1873c2c66affSColin Finck #define WM_PAINTCLIPBOARD 777
1874c2c66affSColin Finck #define WM_VSCROLLCLIPBOARD 778
1875c2c66affSColin Finck #define WM_SIZECLIPBOARD 779
1876c2c66affSColin Finck #define WM_ASKCBFORMATNAME 780
1877c2c66affSColin Finck #define WM_CHANGECBCHAIN 781
1878c2c66affSColin Finck #define WM_HSCROLLCLIPBOARD 782
1879c2c66affSColin Finck #define WM_PALETTEISCHANGING 784
1880c2c66affSColin Finck #define WM_PALETTECHANGED 785
1881c2c66affSColin Finck #define WM_QUERYNEWPALETTE 783
1882c2c66affSColin Finck #define WM_HOTKEY 786
1883c2c66affSColin Finck #define WM_PRINT 791
1884c2c66affSColin Finck #define WM_PRINTCLIENT 792
1885c2c66affSColin Finck #define WM_APPCOMMAND 793
1886c2c66affSColin Finck 
1887c2c66affSColin Finck #define WM_DWMCOMPOSITIONCHANGED 0x031E
1888c2c66affSColin Finck #define WM_DWMNCRENDERINGCHANGED 0x031F
1889c2c66affSColin Finck #define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320
1890c2c66affSColin Finck #define WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321
1891c2c66affSColin Finck 
1892c2c66affSColin Finck #define WM_HANDHELDFIRST 856
1893c2c66affSColin Finck #define WM_HANDHELDLAST 863
1894c2c66affSColin Finck #define WM_AFXFIRST 864
1895c2c66affSColin Finck #define WM_AFXLAST 895
1896c2c66affSColin Finck #define WM_PENWINFIRST 896
1897c2c66affSColin Finck #define WM_PENWINLAST 911
1898c2c66affSColin Finck #define WM_USER 1024
1899c2c66affSColin Finck #define WM_APP 32768
1900c2c66affSColin Finck #define WM_GETTITLEBARINFOEX 0x033F
1901c2c66affSColin Finck 
1902c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
1903c2c66affSColin Finck #define WHEEL_DELTA 120
1904c2c66affSColin Finck #define GET_WHEEL_DELTA_WPARAM(wParam)  ((short)HIWORD(wParam))
1905c2c66affSColin Finck #define WHEEL_PAGESCROLL UINT_MAX
1906c2c66affSColin Finck #endif
1907c2c66affSColin Finck 
1908c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
1909c2c66affSColin Finck #define GET_KEYSTATE_WPARAM(wParam)     (LOWORD(wParam))
1910c2c66affSColin Finck #define GET_NCHITTEST_WPARAM(wParam)    ((short)LOWORD(wParam))
1911c2c66affSColin Finck #define GET_XBUTTON_WPARAM(wParam)      (HIWORD(wParam))
1912c2c66affSColin Finck #define XBUTTON1    0x0001
1913c2c66affSColin Finck #define XBUTTON2    0x0002
1914c2c66affSColin Finck #endif
1915c2c66affSColin Finck 
1916c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
1917c2c66affSColin Finck #define WM_THEMECHANGED 794
1918c2c66affSColin Finck #endif
1919c2c66affSColin Finck 
1920c2c66affSColin Finck #define BM_CLICK 245
1921c2c66affSColin Finck #define BM_GETCHECK 240
1922c2c66affSColin Finck #define BM_GETIMAGE 246
1923c2c66affSColin Finck #define BM_GETSTATE 242
1924c2c66affSColin Finck #define BM_SETCHECK 241
1925c2c66affSColin Finck #define BM_SETIMAGE 247
1926c2c66affSColin Finck #define BM_SETSTATE 243
1927c2c66affSColin Finck #define BM_SETSTYLE 244
1928c2c66affSColin Finck #define BN_CLICKED 0
1929c2c66affSColin Finck #define BN_DBLCLK 5
1930c2c66affSColin Finck #define BN_DISABLE 4
1931c2c66affSColin Finck #define BN_DOUBLECLICKED 5
1932c2c66affSColin Finck #define BN_HILITE 2
1933c2c66affSColin Finck #define BN_KILLFOCUS 7
1934c2c66affSColin Finck #define BN_PAINT 1
1935c2c66affSColin Finck #define BN_PUSHED 2
1936c2c66affSColin Finck #define BN_SETFOCUS 6
1937c2c66affSColin Finck #define BN_UNHILITE 3
1938c2c66affSColin Finck #define BN_UNPUSHED 3
1939c2c66affSColin Finck #define CB_ADDSTRING 323
1940c2c66affSColin Finck #define CB_DELETESTRING 324
1941c2c66affSColin Finck #define CB_DIR 325
1942c2c66affSColin Finck #define CB_FINDSTRING 332
1943c2c66affSColin Finck #define CB_FINDSTRINGEXACT 344
1944c2c66affSColin Finck #define CB_GETCOMBOBOXINFO 356
1945c2c66affSColin Finck #define CB_GETCOUNT 326
1946c2c66affSColin Finck #define CB_GETCURSEL 327
1947c2c66affSColin Finck #define CB_GETDROPPEDCONTROLRECT 338
1948c2c66affSColin Finck #define CB_GETDROPPEDSTATE 343
1949c2c66affSColin Finck #define CB_GETDROPPEDWIDTH 351
1950c2c66affSColin Finck #define CB_GETEDITSEL 320
1951c2c66affSColin Finck #define CB_GETEXTENDEDUI 342
1952c2c66affSColin Finck #define CB_GETHORIZONTALEXTENT 349
1953c2c66affSColin Finck #define CB_GETITEMDATA 336
1954c2c66affSColin Finck #define CB_GETITEMHEIGHT 340
1955c2c66affSColin Finck #define CB_GETLBTEXT 328
1956c2c66affSColin Finck #define CB_GETLBTEXTLEN 329
1957c2c66affSColin Finck #define CB_GETLOCALE 346
1958c2c66affSColin Finck #define CB_GETTOPINDEX 347
1959c2c66affSColin Finck #define CB_INITSTORAGE 353
1960c2c66affSColin Finck #define CB_INSERTSTRING 330
1961c2c66affSColin Finck #define CB_LIMITTEXT 321
1962c2c66affSColin Finck #define CB_RESETCONTENT 331
1963c2c66affSColin Finck #define CB_SELECTSTRING 333
1964c2c66affSColin Finck #define CB_SETCURSEL 334
1965c2c66affSColin Finck #define CB_SETDROPPEDWIDTH 352
1966c2c66affSColin Finck #define CB_SETEDITSEL 322
1967c2c66affSColin Finck #define CB_SETEXTENDEDUI 341
1968c2c66affSColin Finck #define CB_SETHORIZONTALEXTENT 350
1969c2c66affSColin Finck #define CB_SETITEMDATA 337
1970c2c66affSColin Finck #define CB_SETITEMHEIGHT 339
1971c2c66affSColin Finck #define CB_SETLOCALE 345
1972c2c66affSColin Finck #define CB_SETTOPINDEX 348
1973c2c66affSColin Finck #define CB_SHOWDROPDOWN 335
1974c2c66affSColin Finck #define CB_MSGMAX 357
1975c2c66affSColin Finck #define CBN_CLOSEUP 8
1976c2c66affSColin Finck #define CBN_DBLCLK 2
1977c2c66affSColin Finck #define CBN_DROPDOWN 7
1978c2c66affSColin Finck #define CBN_EDITCHANGE 5
1979c2c66affSColin Finck #define CBN_EDITUPDATE 6
1980c2c66affSColin Finck #define CBN_ERRSPACE (-1)
1981c2c66affSColin Finck #define CBN_KILLFOCUS 4
1982c2c66affSColin Finck #define CBN_SELCHANGE 1
1983c2c66affSColin Finck #define CBN_SELENDCANCEL 10
1984c2c66affSColin Finck #define CBN_SELENDOK 9
1985c2c66affSColin Finck #define CBN_SETFOCUS 3
1986c2c66affSColin Finck #define EM_CANUNDO 198
1987c2c66affSColin Finck #define EM_CHARFROMPOS 215
1988c2c66affSColin Finck #define EM_EMPTYUNDOBUFFER 205
1989c2c66affSColin Finck #define EM_FMTLINES 200
1990c2c66affSColin Finck #define EM_GETIMESTATUS 217
1991c2c66affSColin Finck #define EM_GETFIRSTVISIBLELINE 206
1992c2c66affSColin Finck #define EM_GETHANDLE 189
1993c2c66affSColin Finck #define EM_GETLIMITTEXT 213
1994c2c66affSColin Finck #define EM_GETLINE 196
1995c2c66affSColin Finck #define EM_GETLINECOUNT 186
1996c2c66affSColin Finck #define EM_GETMARGINS 212
1997c2c66affSColin Finck #define EM_GETMODIFY 184
1998c2c66affSColin Finck #define EM_GETPASSWORDCHAR 210
1999c2c66affSColin Finck #define EM_GETRECT 178
2000c2c66affSColin Finck #define EM_GETSEL 176
2001c2c66affSColin Finck #define EM_GETTHUMB 190
2002c2c66affSColin Finck #define EM_GETWORDBREAKPROC 209
2003c2c66affSColin Finck #define EM_LIMITTEXT 197
2004c2c66affSColin Finck #define EM_LINEFROMCHAR 201
2005c2c66affSColin Finck #define EM_LINEINDEX 187
2006c2c66affSColin Finck #define EM_LINELENGTH 193
2007c2c66affSColin Finck #define EM_LINESCROLL 182
2008c2c66affSColin Finck #define EM_POSFROMCHAR 214
2009c2c66affSColin Finck #define EM_REPLACESEL 194
2010c2c66affSColin Finck #define EM_SCROLL 181
2011c2c66affSColin Finck #define EM_SCROLLCARET 183
2012c2c66affSColin Finck #define EM_SETHANDLE 188
2013c2c66affSColin Finck #define EM_SETIMESTATUS 216
2014c2c66affSColin Finck #define EM_SETLIMITTEXT 197
2015c2c66affSColin Finck #define EM_SETMARGINS 211
2016c2c66affSColin Finck #define EM_SETMODIFY 185
2017c2c66affSColin Finck #define EM_SETPASSWORDCHAR 204
2018c2c66affSColin Finck #define EM_SETREADONLY 207
2019c2c66affSColin Finck #define EM_SETRECT 179
2020c2c66affSColin Finck #define EM_SETRECTNP 180
2021c2c66affSColin Finck #define EM_SETSEL 177
2022c2c66affSColin Finck #define EM_SETTABSTOPS 203
2023c2c66affSColin Finck #define EM_SETWORDBREAKPROC 208
2024c2c66affSColin Finck #define EM_UNDO 199
2025c2c66affSColin Finck #define EN_CHANGE 768
2026c2c66affSColin Finck #define EN_ERRSPACE 1280
2027c2c66affSColin Finck #define EN_HSCROLL 1537
2028c2c66affSColin Finck #define EN_KILLFOCUS 512
2029c2c66affSColin Finck #define EN_MAXTEXT 1281
2030c2c66affSColin Finck #define EN_SETFOCUS 256
2031c2c66affSColin Finck #define EN_UPDATE 1024
2032c2c66affSColin Finck #define EN_VSCROLL 1538
2033c2c66affSColin Finck #define LB_ADDFILE 406
2034c2c66affSColin Finck #define LB_ADDSTRING 384
2035c2c66affSColin Finck #define LB_DELETESTRING 386
2036c2c66affSColin Finck #define LB_DIR 397
2037c2c66affSColin Finck #define LB_FINDSTRING 399
2038c2c66affSColin Finck #define LB_FINDSTRINGEXACT 418
2039c2c66affSColin Finck #define LB_GETANCHORINDEX 413
2040c2c66affSColin Finck #define LB_GETCARETINDEX 415
2041c2c66affSColin Finck #define LB_GETCOUNT 395
2042c2c66affSColin Finck #define LB_GETCURSEL 392
2043c2c66affSColin Finck #define LB_GETHORIZONTALEXTENT 403
2044c2c66affSColin Finck #define LB_GETITEMDATA 409
2045c2c66affSColin Finck #define LB_GETITEMHEIGHT 417
2046c2c66affSColin Finck #define LB_GETITEMRECT 408
2047c2c66affSColin Finck #define LB_GETLISTBOXINFO 434
2048c2c66affSColin Finck #define LB_GETLOCALE 422
2049c2c66affSColin Finck #define LB_GETSEL 391
2050c2c66affSColin Finck #define LB_GETSELCOUNT 400
2051c2c66affSColin Finck #define LB_GETSELITEMS 401
2052c2c66affSColin Finck #define LB_GETTEXT 393
2053c2c66affSColin Finck #define LB_GETTEXTLEN 394
2054c2c66affSColin Finck #define LB_GETTOPINDEX 398
2055c2c66affSColin Finck #define LB_INITSTORAGE 424
2056c2c66affSColin Finck #define LB_INSERTSTRING 385
2057c2c66affSColin Finck #define LB_ITEMFROMPOINT 425
2058c2c66affSColin Finck #define LB_RESETCONTENT 388
2059c2c66affSColin Finck #define LB_SELECTSTRING 396
2060c2c66affSColin Finck #define LB_SELITEMRANGE 411
2061c2c66affSColin Finck #define LB_SELITEMRANGEEX 387
2062c2c66affSColin Finck #define LB_SETANCHORINDEX 412
2063c2c66affSColin Finck #define LB_SETCARETINDEX 414
2064c2c66affSColin Finck #define LB_SETCOLUMNWIDTH 405
2065c2c66affSColin Finck #define LB_SETCOUNT 423
2066c2c66affSColin Finck #define LB_SETCURSEL 390
2067c2c66affSColin Finck #define LB_SETHORIZONTALEXTENT 404
2068c2c66affSColin Finck #define LB_SETITEMDATA 410
2069c2c66affSColin Finck #define LB_SETITEMHEIGHT 416
2070c2c66affSColin Finck #define LB_SETLOCALE 421
2071c2c66affSColin Finck #define LB_SETSEL 389
2072c2c66affSColin Finck #define LB_SETTABSTOPS 402
2073c2c66affSColin Finck #define LB_SETTOPINDEX 407
2074c2c66affSColin Finck #define LBN_DBLCLK 2
2075c2c66affSColin Finck #define LBN_ERRSPACE (-2)
2076c2c66affSColin Finck #define LBN_KILLFOCUS 5
2077c2c66affSColin Finck #define LBN_SELCANCEL 3
2078c2c66affSColin Finck #define LBN_SELCHANGE 1
2079c2c66affSColin Finck #define LBN_SETFOCUS 4
2080c2c66affSColin Finck #define SBM_ENABLE_ARROWS 228
2081c2c66affSColin Finck #define SBM_GETPOS 225
2082c2c66affSColin Finck #define SBM_GETRANGE 227
2083c2c66affSColin Finck #define SBM_SETPOS 224
2084c2c66affSColin Finck #define SBM_SETRANGE 226
2085c2c66affSColin Finck #define SBM_SETRANGEREDRAW 230
2086c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
2087c2c66affSColin Finck #define SBM_GETSCROLLINFO 234
2088c2c66affSColin Finck #define SBM_SETSCROLLINFO 233
2089c2c66affSColin Finck #endif
2090c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2091c2c66affSColin Finck #define SBM_GETSCROLLBARINFO 235
2092c2c66affSColin Finck #endif
2093c2c66affSColin Finck #define STM_GETICON 369
2094c2c66affSColin Finck #define STM_GETIMAGE 371
2095c2c66affSColin Finck #define STM_SETICON 368
2096c2c66affSColin Finck #define STM_SETIMAGE 370
2097c2c66affSColin Finck #define STN_CLICKED 0
2098c2c66affSColin Finck #define STN_DBLCLK 1
2099c2c66affSColin Finck #define STN_DISABLE 3
2100c2c66affSColin Finck #define STN_ENABLE 2
2101c2c66affSColin Finck #define DM_GETDEFID WM_USER
2102c2c66affSColin Finck #define DM_SETDEFID (WM_USER+1)
2103c2c66affSColin Finck #define DM_REPOSITION (WM_USER+2)
2104c2c66affSColin Finck #define PSM_PAGEINFO (WM_USER+100)
2105c2c66affSColin Finck #define PSM_SHEETINFO (WM_USER+101)
2106c2c66affSColin Finck #define PSI_SETACTIVE 1
2107c2c66affSColin Finck #define PSI_KILLACTIVE 2
2108c2c66affSColin Finck #define PSI_APPLY 3
2109c2c66affSColin Finck #define PSI_RESET 4
2110c2c66affSColin Finck #define PSI_HASHELP 5
2111c2c66affSColin Finck #define PSI_HELP 6
2112c2c66affSColin Finck #define PSI_CHANGED 1
2113c2c66affSColin Finck #define PSI_GUISTART 2
2114c2c66affSColin Finck #define PSI_REBOOT 3
2115c2c66affSColin Finck #define PSI_GETSIBLINGS 4
2116c2c66affSColin Finck #define DCX_WINDOW 1
2117c2c66affSColin Finck #define DCX_CACHE 2
2118c2c66affSColin Finck #define DCX_PARENTCLIP 32
2119c2c66affSColin Finck #define DCX_CLIPSIBLINGS 16
2120c2c66affSColin Finck #define DCX_CLIPCHILDREN 8
2121c2c66affSColin Finck #define DCX_NORESETATTRS 4
2122c2c66affSColin Finck #define DCX_INTERSECTUPDATE 0x200
2123c2c66affSColin Finck #define DCX_LOCKWINDOWUPDATE 0x400
2124c2c66affSColin Finck #define DCX_EXCLUDERGN 64
2125c2c66affSColin Finck #define DCX_INTERSECTRGN 128
2126c2c66affSColin Finck #define DCX_VALIDATE 0x200000
2127c2c66affSColin Finck #define DCX_EXCLUDEUPDATE   0x100
2128c2c66affSColin Finck #define GMDI_GOINTOPOPUPS 2
2129c2c66affSColin Finck #define GMDI_USEDISABLED 1
2130c2c66affSColin Finck #define FKF_AVAILABLE 2
2131c2c66affSColin Finck #define FKF_CLICKON 64
2132c2c66affSColin Finck #define FKF_FILTERKEYSON 1
2133c2c66affSColin Finck #define FKF_HOTKEYACTIVE 4
2134c2c66affSColin Finck #define FKF_HOTKEYSOUND 16
2135c2c66affSColin Finck #define FKF_CONFIRMHOTKEY 8
2136c2c66affSColin Finck #define FKF_INDICATOR 32
2137c2c66affSColin Finck #define HCF_HIGHCONTRASTON 1
2138c2c66affSColin Finck #define HCF_AVAILABLE 2
2139c2c66affSColin Finck #define HCF_HOTKEYACTIVE 4
2140c2c66affSColin Finck #define HCF_CONFIRMHOTKEY 8
2141c2c66affSColin Finck #define HCF_HOTKEYSOUND 16
2142c2c66affSColin Finck #define HCF_INDICATOR 32
2143c2c66affSColin Finck #define HCF_HOTKEYAVAILABLE 64
2144ab760e53SMark Jansen 
2145ab760e53SMark Jansen #define MKF_MOUSEKEYSON     0x00000001
2146ab760e53SMark Jansen #define MKF_AVAILABLE       0x00000002
2147ab760e53SMark Jansen #define MKF_HOTKEYACTIVE    0x00000004
2148ab760e53SMark Jansen #define MKF_CONFIRMHOTKEY   0x00000008
2149ab760e53SMark Jansen #define MKF_HOTKEYSOUND     0x00000010
2150ab760e53SMark Jansen #define MKF_INDICATOR       0x00000020
2151ab760e53SMark Jansen #define MKF_MODIFIERS       0x00000040
2152ab760e53SMark Jansen #define MKF_REPLACENUMBERS  0x00000080
2153ab760e53SMark Jansen #define MKF_LEFTBUTTONDOWN  0x01000000
2154ab760e53SMark Jansen #define MKF_RIGHTBUTTONDOWN 0x02000000
2155ab760e53SMark Jansen #define MKF_LEFTBUTTONSEL   0x10000000
2156ab760e53SMark Jansen #define MKF_RIGHTBUTTONSEL  0x20000000
2157ab760e53SMark Jansen #define MKF_MOUSEMODE       0x80000000
2158ab760e53SMark Jansen 
2159c2c66affSColin Finck #define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */
2160c2c66affSColin Finck #define SERKF_AVAILABLE 2
2161c2c66affSColin Finck #define SERKF_INDICATOR 4
2162c2c66affSColin Finck #define SERKF_SERIALKEYSON 1
2163c2c66affSColin Finck #define SSF_AVAILABLE 2
2164c2c66affSColin Finck #define SSF_SOUNDSENTRYON 1
2165c2c66affSColin Finck #define SSTF_BORDER 2
2166c2c66affSColin Finck #define SSTF_CHARS 1
2167c2c66affSColin Finck #define SSTF_DISPLAY 3
2168c2c66affSColin Finck #define SSTF_NONE 0
2169c2c66affSColin Finck #define SSGF_DISPLAY 3
2170c2c66affSColin Finck #define SSGF_NONE 0
2171c2c66affSColin Finck #define SSWF_CUSTOM 4
2172c2c66affSColin Finck #define SSWF_DISPLAY 3
2173c2c66affSColin Finck #define SSWF_NONE 0
2174c2c66affSColin Finck #define SSWF_TITLE 1
2175c2c66affSColin Finck #define SSWF_WINDOW 2
2176c2c66affSColin Finck #define SKF_AUDIBLEFEEDBACK 64
2177c2c66affSColin Finck #define SKF_AVAILABLE 2
2178c2c66affSColin Finck #define SKF_CONFIRMHOTKEY 8
2179c2c66affSColin Finck #define SKF_HOTKEYACTIVE 4
2180c2c66affSColin Finck #define SKF_HOTKEYSOUND 16
2181c2c66affSColin Finck #define SKF_INDICATOR 32
2182c2c66affSColin Finck #define SKF_STICKYKEYSON 1
2183c2c66affSColin Finck #define SKF_TRISTATE 128
2184c2c66affSColin Finck #define SKF_TWOKEYSOFF 256
2185c2c66affSColin Finck #define TKF_AVAILABLE 2
2186c2c66affSColin Finck #define TKF_CONFIRMHOTKEY 8
2187c2c66affSColin Finck #define TKF_HOTKEYACTIVE 4
2188c2c66affSColin Finck #define TKF_HOTKEYSOUND 16
2189c2c66affSColin Finck #define TKF_TOGGLEKEYSON 1
2190c2c66affSColin Finck #define MDITILE_SKIPDISABLED 2
2191c2c66affSColin Finck #define MDITILE_HORIZONTAL 1
2192c2c66affSColin Finck #define MDITILE_VERTICAL 0
2193c2c66affSColin Finck #define VK_LBUTTON	1
2194c2c66affSColin Finck #define VK_RBUTTON	2
2195c2c66affSColin Finck #define VK_CANCEL	3
2196c2c66affSColin Finck #define VK_MBUTTON	4
2197c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2198c2c66affSColin Finck #define VK_XBUTTON1	5
2199c2c66affSColin Finck #define VK_XBUTTON2	6
2200c2c66affSColin Finck #endif
2201c2c66affSColin Finck #define VK_BACK	8
2202c2c66affSColin Finck #define VK_TAB	9
2203c2c66affSColin Finck #define VK_CLEAR	12
2204c2c66affSColin Finck #define VK_RETURN	13
2205c2c66affSColin Finck #define VK_SHIFT	16
2206c2c66affSColin Finck #define VK_CONTROL	17
2207c2c66affSColin Finck #define VK_MENU	18
2208c2c66affSColin Finck #define VK_PAUSE	19
2209c2c66affSColin Finck #define VK_CAPITAL	20
2210c2c66affSColin Finck #define VK_KANA	0x15
2211c2c66affSColin Finck #define VK_HANGEUL	0x15
2212c2c66affSColin Finck #define VK_HANGUL	0x15
2213c2c66affSColin Finck #define VK_JUNJA	0x17
2214c2c66affSColin Finck #define VK_FINAL	0x18
2215c2c66affSColin Finck #define VK_HANJA	0x19
2216c2c66affSColin Finck #define VK_KANJI	0x19
2217c2c66affSColin Finck #define VK_ESCAPE	0x1B
2218c2c66affSColin Finck #define VK_CONVERT	0x1C
2219c2c66affSColin Finck #define VK_NONCONVERT	0x1D
2220c2c66affSColin Finck #define VK_ACCEPT	0x1E
2221c2c66affSColin Finck #define VK_MODECHANGE	0x1F
2222c2c66affSColin Finck #define VK_SPACE	32
2223c2c66affSColin Finck #define VK_PRIOR	33
2224c2c66affSColin Finck #define VK_NEXT	34
2225c2c66affSColin Finck #define VK_END	35
2226c2c66affSColin Finck #define VK_HOME	36
2227c2c66affSColin Finck #define VK_LEFT	37
2228c2c66affSColin Finck #define VK_UP	38
2229c2c66affSColin Finck #define VK_RIGHT	39
2230c2c66affSColin Finck #define VK_DOWN	40
2231c2c66affSColin Finck #define VK_SELECT	41
2232c2c66affSColin Finck #define VK_PRINT	42
2233c2c66affSColin Finck #define VK_EXECUTE	43
2234c2c66affSColin Finck #define VK_SNAPSHOT	44
2235c2c66affSColin Finck #define VK_INSERT	45
2236c2c66affSColin Finck #define VK_DELETE	46
2237c2c66affSColin Finck #define VK_HELP	47
2238c2c66affSColin Finck #define VK_LWIN	0x5B
2239c2c66affSColin Finck #define VK_RWIN	0x5C
2240c2c66affSColin Finck #define VK_APPS	0x5D
2241c2c66affSColin Finck #define VK_SLEEP	0x5F
2242c2c66affSColin Finck #define VK_NUMPAD0	0x60
2243c2c66affSColin Finck #define VK_NUMPAD1	0x61
2244c2c66affSColin Finck #define VK_NUMPAD2	0x62
2245c2c66affSColin Finck #define VK_NUMPAD3	0x63
2246c2c66affSColin Finck #define VK_NUMPAD4	0x64
2247c2c66affSColin Finck #define VK_NUMPAD5	0x65
2248c2c66affSColin Finck #define VK_NUMPAD6	0x66
2249c2c66affSColin Finck #define VK_NUMPAD7	0x67
2250c2c66affSColin Finck #define VK_NUMPAD8	0x68
2251c2c66affSColin Finck #define VK_NUMPAD9	0x69
2252c2c66affSColin Finck #define VK_MULTIPLY	0x6A
2253c2c66affSColin Finck #define VK_ADD	0x6B
2254c2c66affSColin Finck #define VK_SEPARATOR	0x6C
2255c2c66affSColin Finck #define VK_SUBTRACT	0x6D
2256c2c66affSColin Finck #define VK_DECIMAL	0x6E
2257c2c66affSColin Finck #define VK_DIVIDE	0x6F
2258c2c66affSColin Finck #define VK_F1	0x70
2259c2c66affSColin Finck #define VK_F2	0x71
2260c2c66affSColin Finck #define VK_F3	0x72
2261c2c66affSColin Finck #define VK_F4	0x73
2262c2c66affSColin Finck #define VK_F5	0x74
2263c2c66affSColin Finck #define VK_F6	0x75
2264c2c66affSColin Finck #define VK_F7	0x76
2265c2c66affSColin Finck #define VK_F8	0x77
2266c2c66affSColin Finck #define VK_F9	0x78
2267c2c66affSColin Finck #define VK_F10	0x79
2268c2c66affSColin Finck #define VK_F11	0x7A
2269c2c66affSColin Finck #define VK_F12	0x7B
2270c2c66affSColin Finck #define VK_F13	0x7C
2271c2c66affSColin Finck #define VK_F14	0x7D
2272c2c66affSColin Finck #define VK_F15	0x7E
2273c2c66affSColin Finck #define VK_F16	0x7F
2274c2c66affSColin Finck #define VK_F17	0x80
2275c2c66affSColin Finck #define VK_F18	0x81
2276c2c66affSColin Finck #define VK_F19	0x82
2277c2c66affSColin Finck #define VK_F20	0x83
2278c2c66affSColin Finck #define VK_F21	0x84
2279c2c66affSColin Finck #define VK_F22	0x85
2280c2c66affSColin Finck #define VK_F23	0x86
2281c2c66affSColin Finck #define VK_F24	0x87
2282c2c66affSColin Finck #define VK_NUMLOCK	0x90
2283c2c66affSColin Finck #define VK_SCROLL	0x91
2284c2c66affSColin Finck #define VK_OEM_NEC_EQUAL	0x92
2285c2c66affSColin Finck #define VK_LSHIFT	0xA0
2286c2c66affSColin Finck #define VK_RSHIFT	0xA1
2287c2c66affSColin Finck #define VK_LCONTROL	0xA2
2288c2c66affSColin Finck #define VK_RCONTROL	0xA3
2289c2c66affSColin Finck #define VK_LMENU	0xA4
2290c2c66affSColin Finck #define VK_RMENU	0xA5
2291c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2292c2c66affSColin Finck #define VK_BROWSER_BACK	0xA6
2293c2c66affSColin Finck #define VK_BROWSER_FORWARD	0xA7
2294c2c66affSColin Finck #define VK_BROWSER_REFRESH	0xA8
2295c2c66affSColin Finck #define VK_BROWSER_STOP	0xA9
2296c2c66affSColin Finck #define VK_BROWSER_SEARCH	0xAA
2297c2c66affSColin Finck #define VK_BROWSER_FAVORITES	0xAB
2298c2c66affSColin Finck #define VK_BROWSER_HOME	0xAC
2299c2c66affSColin Finck #define VK_VOLUME_MUTE	0xAD
2300c2c66affSColin Finck #define VK_VOLUME_DOWN	0xAE
2301c2c66affSColin Finck #define VK_VOLUME_UP	0xAF
2302c2c66affSColin Finck #define VK_MEDIA_NEXT_TRACK	0xB0
2303c2c66affSColin Finck #define VK_MEDIA_PREV_TRACK	0xB1
2304c2c66affSColin Finck #define VK_MEDIA_STOP	0xB2
2305c2c66affSColin Finck #define VK_MEDIA_PLAY_PAUSE	0xB3
2306c2c66affSColin Finck #define VK_LAUNCH_MAIL	0xB4
2307c2c66affSColin Finck #define VK_LAUNCH_MEDIA_SELECT	0xB5
2308c2c66affSColin Finck #define VK_LAUNCH_APP1	0xB6
2309c2c66affSColin Finck #define VK_LAUNCH_APP2	0xB7
2310c2c66affSColin Finck #endif
2311c2c66affSColin Finck #define VK_OEM_1	0xBA
2312c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2313c2c66affSColin Finck #define VK_OEM_PLUS	0xBB
2314c2c66affSColin Finck #define VK_OEM_COMMA	0xBC
2315c2c66affSColin Finck #define VK_OEM_MINUS	0xBD
2316c2c66affSColin Finck #define VK_OEM_PERIOD	0xBE
2317c2c66affSColin Finck #endif
2318c2c66affSColin Finck #define VK_OEM_2	0xBF
2319c2c66affSColin Finck #define VK_OEM_3	0xC0
2320c2c66affSColin Finck #define VK_OEM_4	0xDB
2321c2c66affSColin Finck #define VK_OEM_5	0xDC
2322c2c66affSColin Finck #define VK_OEM_6	0xDD
2323c2c66affSColin Finck #define VK_OEM_7	0xDE
2324c2c66affSColin Finck #define VK_OEM_8	0xDF
2325c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2326c2c66affSColin Finck #define VK_OEM_102	0xE2
2327c2c66affSColin Finck #endif
2328c2c66affSColin Finck #define VK_ICO_HELP	0xE3  /* Help key on ICO */
2329c2c66affSColin Finck #define VK_ICO_00	0xE4  /* 00 key on ICO */
2330c2c66affSColin Finck #define VK_PROCESSKEY	0xE5
2331c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2332c2c66affSColin Finck #define VK_PACKET	0xE7
2333c2c66affSColin Finck #endif
2334c2c66affSColin Finck #define VK_OEM_RESET	0xE9
2335c2c66affSColin Finck #define VK_OEM_JUMP	0xEA
2336c2c66affSColin Finck #define VK_OEM_PA1	0xEB
2337c2c66affSColin Finck #define VK_OEM_PA2	0xEC
2338c2c66affSColin Finck #define VK_OEM_PA3	0xED
2339c2c66affSColin Finck #define VK_OEM_WSCTRL	0xEE
2340c2c66affSColin Finck #define VK_OEM_CUSEL	0xEF
2341c2c66affSColin Finck #define VK_OEM_ATTN	0xF0
2342c2c66affSColin Finck #define VK_OEM_FINISH	0xF1
2343c2c66affSColin Finck #define VK_OEM_COPY	0xF2
2344c2c66affSColin Finck #define VK_OEM_AUTO	0xF3
2345c2c66affSColin Finck #define VK_OEM_ENLW	0xF4
2346c2c66affSColin Finck #define VK_OEM_BACKTAB	0xF5
2347c2c66affSColin Finck #define VK_ATTN	0xF6
2348c2c66affSColin Finck #define VK_CRSEL	0xF7
2349c2c66affSColin Finck #define VK_EXSEL	0xF8
2350c2c66affSColin Finck #define VK_EREOF	0xF9
2351c2c66affSColin Finck #define VK_PLAY	0xFA
2352c2c66affSColin Finck #define VK_ZOOM	0xFB
2353c2c66affSColin Finck #define VK_NONAME	0xFC
2354c2c66affSColin Finck #define VK_PA1	0xFD
2355c2c66affSColin Finck #define VK_OEM_CLEAR	0xFE
2356c2c66affSColin Finck 
2357c2c66affSColin Finck /* MapVirtualKey translation types */
2358c2c66affSColin Finck #define MAPVK_VK_TO_VSC     0
2359c2c66affSColin Finck #define MAPVK_VSC_TO_VK     1
2360c2c66affSColin Finck #define MAPVK_VK_TO_CHAR    2
2361c2c66affSColin Finck #define MAPVK_VSC_TO_VK_EX  3
2362c2c66affSColin Finck #define MAPVK_VK_TO_VSC_EX  4
2363c2c66affSColin Finck 
2364c2c66affSColin Finck #define TME_HOVER	1
2365c2c66affSColin Finck #define TME_LEAVE	2
2366c2c66affSColin Finck #define TME_NONCLIENT   0x00000010
2367c2c66affSColin Finck #define TME_QUERY	0x40000000
2368c2c66affSColin Finck #define TME_CANCEL	0x80000000
2369c2c66affSColin Finck #define HOVER_DEFAULT	0xFFFFFFFF
2370c2c66affSColin Finck #define MK_LBUTTON	1
2371c2c66affSColin Finck #define MK_RBUTTON	2
2372c2c66affSColin Finck #define MK_SHIFT	4
2373c2c66affSColin Finck #define MK_CONTROL	8
2374c2c66affSColin Finck #define MK_MBUTTON	16
2375c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
2376c2c66affSColin Finck #define MK_XBUTTON1	0x0020
2377c2c66affSColin Finck #define MK_XBUTTON2	0x0040
2378c2c66affSColin Finck #endif
2379c2c66affSColin Finck #define TPM_CENTERALIGN 4
2380c2c66affSColin Finck #define TPM_LEFTALIGN 0
2381c2c66affSColin Finck #define TPM_RIGHTALIGN 8
2382c2c66affSColin Finck #define TPM_LEFTBUTTON 0
2383c2c66affSColin Finck #define TPM_RIGHTBUTTON 2
2384c2c66affSColin Finck #define TPM_HORIZONTAL 0
2385c2c66affSColin Finck #define TPM_VERTICAL 64
2386c2c66affSColin Finck #define TPM_TOPALIGN 0
2387c2c66affSColin Finck #define TPM_VCENTERALIGN 16
2388c2c66affSColin Finck #define TPM_BOTTOMALIGN 32
2389c2c66affSColin Finck #define TPM_NONOTIFY 128
2390c2c66affSColin Finck #define TPM_RETURNCMD 256
2391c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2392c2c66affSColin Finck #define TPM_RECURSE 0x0001
2393c2c66affSColin Finck #define TPM_HORPOSANIMATION 0x0400
2394c2c66affSColin Finck #define TPM_HORNEGANIMATION 0x0800
2395c2c66affSColin Finck #define TPM_VERPOSANIMATION 0x1000
2396c2c66affSColin Finck #define TPM_VERNEGANIMATION 0x2000
2397c2c66affSColin Finck #endif
2398c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
2399c2c66affSColin Finck #define TPM_NOANIMATION 16384
2400c2c66affSColin Finck #endif
2401c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2402c2c66affSColin Finck #define TPM_LAYOUTRTL 32768
2403c2c66affSColin Finck #endif
2404c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0601)
2405c2c66affSColin Finck #define TPM_WORKAREA 65536
2406c2c66affSColin Finck #endif
2407c2c66affSColin Finck #define HELP_COMMAND 0x102
2408c2c66affSColin Finck #define HELP_CONTENTS 3
2409c2c66affSColin Finck #define HELP_CONTEXT 1
2410c2c66affSColin Finck #define HELP_CONTEXTPOPUP 8
2411c2c66affSColin Finck #define HELP_FORCEFILE 9
2412c2c66affSColin Finck #define HELP_HELPONHELP 4
2413c2c66affSColin Finck #define HELP_INDEX 3
2414c2c66affSColin Finck #define HELP_KEY 0x101
2415c2c66affSColin Finck #define HELP_MULTIKEY 0x201
2416c2c66affSColin Finck #define HELP_PARTIALKEY 0x105
2417c2c66affSColin Finck #define HELP_QUIT 2
2418c2c66affSColin Finck #define HELP_SETCONTENTS 5
2419c2c66affSColin Finck #define HELP_SETINDEX 5
2420c2c66affSColin Finck #define HELP_SETWINPOS 0x203
2421c2c66affSColin Finck #define HELP_CONTEXTMENU 0xa
2422c2c66affSColin Finck #define HELP_FINDER 0xb
2423c2c66affSColin Finck #define HELP_WM_HELP 0xc
2424c2c66affSColin Finck #define HELP_TCARD 0x8000
2425c2c66affSColin Finck #define HELP_TCARD_DATA 16
2426c2c66affSColin Finck #define HELP_TCARD_OTHER_CALLER 0x11
2427c2c66affSColin Finck #define IDH_NO_HELP	28440
2428c2c66affSColin Finck #define IDH_MISSING_CONTEXT	28441
2429c2c66affSColin Finck #define IDH_GENERIC_HELP_BUTTON	28442
2430c2c66affSColin Finck #define IDH_OK	28443
2431c2c66affSColin Finck #define IDH_CANCEL	28444
2432c2c66affSColin Finck #define IDH_HELP	28445
2433c2c66affSColin Finck #define LB_CTLCODE 0
2434c2c66affSColin Finck #define LB_OKAY 0
2435c2c66affSColin Finck #define LB_ERR (-1)
2436c2c66affSColin Finck #define LB_ERRSPACE (-2)
2437c2c66affSColin Finck #define CB_OKAY 0
2438c2c66affSColin Finck #define CB_ERR (-1)
2439c2c66affSColin Finck #define CB_ERRSPACE (-2)
2440c2c66affSColin Finck #define HIDE_WINDOW 0
2441c2c66affSColin Finck #define SHOW_OPENWINDOW 1
2442c2c66affSColin Finck #define SHOW_ICONWINDOW 2
2443c2c66affSColin Finck #define SHOW_FULLSCREEN 3
2444c2c66affSColin Finck #define SHOW_OPENNOACTIVATE 4
2445c2c66affSColin Finck #define SW_PARENTCLOSING 1
2446c2c66affSColin Finck #define SW_OTHERZOOM 2
2447c2c66affSColin Finck #define SW_PARENTOPENING 3
2448c2c66affSColin Finck #define SW_OTHERUNZOOM 4
2449c2c66affSColin Finck #define KF_EXTENDED 256
2450c2c66affSColin Finck #define KF_DLGMODE 2048
2451c2c66affSColin Finck #define KF_MENUMODE 4096
2452c2c66affSColin Finck #define KF_ALTDOWN 8192
2453c2c66affSColin Finck #define KF_REPEAT 16384
2454c2c66affSColin Finck #define KF_UP 32768
2455c2c66affSColin Finck #define WSF_VISIBLE 1
2456c2c66affSColin Finck #define PWR_OK 1
2457c2c66affSColin Finck #define PWR_FAIL (-1)
2458c2c66affSColin Finck #define PWR_SUSPENDREQUEST 1
2459c2c66affSColin Finck #define PWR_SUSPENDRESUME 2
2460c2c66affSColin Finck #define PWR_CRITICALRESUME 3
2461c2c66affSColin Finck #define NFR_ANSI 1
2462c2c66affSColin Finck #define NFR_UNICODE 2
2463c2c66affSColin Finck #define NF_QUERY 3
2464c2c66affSColin Finck #define NF_REQUERY 4
2465c2c66affSColin Finck #define MENULOOP_WINDOW 0
2466c2c66affSColin Finck #define MENULOOP_POPUP 1
2467c2c66affSColin Finck #define WMSZ_LEFT 1
2468c2c66affSColin Finck #define WMSZ_RIGHT 2
2469c2c66affSColin Finck #define WMSZ_TOP 3
2470c2c66affSColin Finck #define WMSZ_TOPLEFT 4
2471c2c66affSColin Finck #define WMSZ_TOPRIGHT 5
2472c2c66affSColin Finck #define WMSZ_BOTTOM 6
2473c2c66affSColin Finck #define WMSZ_BOTTOMLEFT 7
2474c2c66affSColin Finck #define WMSZ_BOTTOMRIGHT 8
2475c2c66affSColin Finck #define HTERROR (-2)
2476c2c66affSColin Finck #define HTTRANSPARENT (-1)
2477c2c66affSColin Finck #define HTNOWHERE 0
2478c2c66affSColin Finck #define HTCLIENT 1
2479c2c66affSColin Finck #define HTCAPTION 2
2480c2c66affSColin Finck #define HTSYSMENU 3
2481c2c66affSColin Finck #define HTGROWBOX 4
2482c2c66affSColin Finck #define HTSIZE 4
2483c2c66affSColin Finck #define HTMENU 5
2484c2c66affSColin Finck #define HTHSCROLL 6
2485c2c66affSColin Finck #define HTVSCROLL 7
2486c2c66affSColin Finck #define HTMINBUTTON 8
2487c2c66affSColin Finck #define HTMAXBUTTON 9
2488c2c66affSColin Finck #define HTREDUCE 8
2489c2c66affSColin Finck #define HTZOOM 9
2490c2c66affSColin Finck #define HTLEFT 10
2491c2c66affSColin Finck #define HTSIZEFIRST 10
2492c2c66affSColin Finck #define HTRIGHT 11
2493c2c66affSColin Finck #define HTTOP 12
2494c2c66affSColin Finck #define HTTOPLEFT 13
2495c2c66affSColin Finck #define HTTOPRIGHT 14
2496c2c66affSColin Finck #define HTBOTTOM 15
2497c2c66affSColin Finck #define HTBOTTOMLEFT 16
2498c2c66affSColin Finck #define HTBOTTOMRIGHT 17
2499c2c66affSColin Finck #define HTSIZELAST 17
2500c2c66affSColin Finck #define HTBORDER 18
2501c2c66affSColin Finck #define HTOBJECT 19
2502c2c66affSColin Finck #define HTCLOSE 20
2503c2c66affSColin Finck #define HTHELP 21
2504c2c66affSColin Finck #define MA_ACTIVATE 1
2505c2c66affSColin Finck #define MA_ACTIVATEANDEAT 2
2506c2c66affSColin Finck #define MA_NOACTIVATE 3
2507c2c66affSColin Finck #define MA_NOACTIVATEANDEAT 4
2508c2c66affSColin Finck #define SIZE_RESTORED 0
2509c2c66affSColin Finck #define SIZE_MINIMIZED 1
2510c2c66affSColin Finck #define SIZE_MAXIMIZED 2
2511c2c66affSColin Finck #define SIZE_MAXSHOW 3
2512c2c66affSColin Finck #define SIZE_MAXHIDE 4
2513c2c66affSColin Finck #define SIZENORMAL 0
2514c2c66affSColin Finck #define SIZEICONIC 1
2515c2c66affSColin Finck #define SIZEFULLSCREEN 2
2516c2c66affSColin Finck #define SIZEZOOMSHOW 3
2517c2c66affSColin Finck #define SIZEZOOMHIDE 4
2518c2c66affSColin Finck #define WVR_ALIGNTOP 16
2519c2c66affSColin Finck #define WVR_ALIGNLEFT 32
2520c2c66affSColin Finck #define WVR_ALIGNBOTTOM 64
2521c2c66affSColin Finck #define WVR_ALIGNRIGHT 128
2522c2c66affSColin Finck #define WVR_HREDRAW 256
2523c2c66affSColin Finck #define WVR_VREDRAW 512
2524c2c66affSColin Finck #define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW)
2525c2c66affSColin Finck #define WVR_VALIDRECTS 1024
2526c2c66affSColin Finck #define PRF_CHECKVISIBLE 1
2527c2c66affSColin Finck #define PRF_NONCLIENT 2
2528c2c66affSColin Finck #define PRF_CLIENT 4
2529c2c66affSColin Finck #define PRF_ERASEBKGND 8
2530c2c66affSColin Finck #define PRF_CHILDREN 16
2531c2c66affSColin Finck #define PRF_OWNED 32
2532c2c66affSColin Finck #define IDANI_OPEN 1
2533c2c66affSColin Finck #define IDANI_CLOSE 2
2534c2c66affSColin Finck #define IDANI_CAPTION 3
2535c2c66affSColin Finck #define WPF_RESTORETOMAXIMIZED 2
2536c2c66affSColin Finck #define WPF_SETMINPOSITION 1
2537c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
2538c2c66affSColin Finck #define WPF_ASYNCWINDOWPLACEMENT 4
2539c2c66affSColin Finck #endif
2540c2c66affSColin Finck #define ODT_MENU 1
2541c2c66affSColin Finck #define ODT_LISTBOX 2
2542c2c66affSColin Finck #define ODT_COMBOBOX 3
2543c2c66affSColin Finck #define ODT_BUTTON 4
2544c2c66affSColin Finck #define ODT_STATIC 5
2545c2c66affSColin Finck #define ODA_DRAWENTIRE 1
2546c2c66affSColin Finck #define ODA_SELECT 2
2547c2c66affSColin Finck #define ODA_FOCUS 4
2548c2c66affSColin Finck #define ODS_SELECTED 1
2549c2c66affSColin Finck #define ODS_GRAYED 2
2550c2c66affSColin Finck #define ODS_DISABLED 4
2551c2c66affSColin Finck #define ODS_CHECKED 8
2552c2c66affSColin Finck #define ODS_FOCUS 16
2553c2c66affSColin Finck #if(WINVER >= 0x0400)
2554c2c66affSColin Finck #define ODS_DEFAULT 32
2555c2c66affSColin Finck #define ODS_COMBOBOXEDIT 4096
2556c2c66affSColin Finck #endif
2557c2c66affSColin Finck #if(WINVER >= 0x0500)
2558c2c66affSColin Finck #define ODS_HOTLIGHT        0x0040
2559c2c66affSColin Finck #define ODS_INACTIVE        0x0080
2560c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
2561c2c66affSColin Finck #define ODS_NOACCEL         0x0100
2562c2c66affSColin Finck #define ODS_NOFOCUSRECT     0x0200
2563c2c66affSColin Finck #endif
2564c2c66affSColin Finck #endif
2565c2c66affSColin Finck #define IDHOT_SNAPWINDOW (-1)
2566c2c66affSColin Finck #define IDHOT_SNAPDESKTOP (-2)
2567c2c66affSColin Finck #define DBWF_LPARAMPOINTER 0x8000
2568c2c66affSColin Finck #define DLGWINDOWEXTRA 30
2569c2c66affSColin Finck #define MNC_IGNORE 0
2570c2c66affSColin Finck #define MNC_CLOSE 1
2571c2c66affSColin Finck #define MNC_EXECUTE 2
2572c2c66affSColin Finck #define MNC_SELECT 3
2573c2c66affSColin Finck #define DOF_EXECUTABLE 0x8001
2574c2c66affSColin Finck #define DOF_DOCUMENT 0x8002
2575c2c66affSColin Finck #define DOF_DIRECTORY 0x8003
2576c2c66affSColin Finck #define DOF_MULTIPLE 0x8004
2577c2c66affSColin Finck #define DOF_PROGMAN 1
2578c2c66affSColin Finck #define DOF_SHELLDATA 2
2579c2c66affSColin Finck #define DO_DROPFILE 0x454C4946
2580c2c66affSColin Finck #define DO_PRINTFILE 0x544E5250
2581c2c66affSColin Finck #define SW_SCROLLCHILDREN 1
2582c2c66affSColin Finck #define SW_INVALIDATE 2
2583c2c66affSColin Finck #define SW_ERASE 4
2584c2c66affSColin Finck #if(WINVER >= 0x0500)
2585c2c66affSColin Finck #define SW_SMOOTHSCROLL 16
2586c2c66affSColin Finck #endif
2587c2c66affSColin Finck #define SC_SIZE 0xF000
2588c2c66affSColin Finck #define SC_MOVE 0xF010
2589c2c66affSColin Finck #define SC_MINIMIZE 0xF020
2590c2c66affSColin Finck #define SC_ICON 0xf020
2591c2c66affSColin Finck #define SC_MAXIMIZE 0xF030
2592c2c66affSColin Finck #define SC_ZOOM 0xF030
2593c2c66affSColin Finck #define SC_NEXTWINDOW 0xF040
2594c2c66affSColin Finck #define SC_PREVWINDOW 0xF050
2595c2c66affSColin Finck #define SC_CLOSE 0xF060
2596c2c66affSColin Finck #define SC_VSCROLL 0xF070
2597c2c66affSColin Finck #define SC_HSCROLL 0xF080
2598c2c66affSColin Finck #define SC_MOUSEMENU 0xF090
2599c2c66affSColin Finck #define SC_KEYMENU 0xF100
2600c2c66affSColin Finck #define SC_ARRANGE 0xF110
2601c2c66affSColin Finck #define SC_RESTORE 0xF120
2602c2c66affSColin Finck #define SC_TASKLIST 0xF130
2603c2c66affSColin Finck #define SC_SCREENSAVE 0xF140
2604c2c66affSColin Finck #define SC_HOTKEY 0xF150
2605c2c66affSColin Finck #define SC_DEFAULT 0xF160
2606c2c66affSColin Finck #define SC_MONITORPOWER 0xF170
2607c2c66affSColin Finck #define SC_CONTEXTHELP 0xF180
2608c2c66affSColin Finck #define SC_SEPARATOR 0xF00F
2609c2c66affSColin Finck #define EC_LEFTMARGIN 1
2610c2c66affSColin Finck #define EC_RIGHTMARGIN 2
2611c2c66affSColin Finck #define EC_USEFONTINFO 0xffff
2612c2c66affSColin Finck #define DC_HASDEFID 0x534B
2613c2c66affSColin Finck #define DLGC_WANTARROWS 1
2614c2c66affSColin Finck #define DLGC_WANTTAB 2
2615c2c66affSColin Finck #define DLGC_WANTALLKEYS 4
2616c2c66affSColin Finck #define DLGC_WANTMESSAGE 4
2617c2c66affSColin Finck #define DLGC_HASSETSEL 8
2618c2c66affSColin Finck #define DLGC_DEFPUSHBUTTON 16
2619c2c66affSColin Finck #define DLGC_UNDEFPUSHBUTTON 32
2620c2c66affSColin Finck #define DLGC_RADIOBUTTON 64
2621c2c66affSColin Finck #define DLGC_WANTCHARS 128
2622c2c66affSColin Finck #define DLGC_STATIC 256
2623c2c66affSColin Finck #define DLGC_BUTTON 0x2000
2624c2c66affSColin Finck #define LB_CTLCODE 0
2625c2c66affSColin Finck #define WA_INACTIVE 0
2626c2c66affSColin Finck #define WA_ACTIVE 1
2627c2c66affSColin Finck #define WA_CLICKACTIVE 2
2628c2c66affSColin Finck #define ICON_SMALL 0
2629c2c66affSColin Finck #define ICON_BIG 1
2630c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2631c2c66affSColin Finck #define ICON_SMALL2 2
2632c2c66affSColin Finck #endif
2633c2c66affSColin Finck #define HBMMENU_CALLBACK ((HBITMAP) -1)
2634c2c66affSColin Finck #define HBMMENU_SYSTEM ((HBITMAP)1)
2635c2c66affSColin Finck #define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
2636c2c66affSColin Finck #define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3)
2637c2c66affSColin Finck #define HBMMENU_MBAR_CLOSE ((HBITMAP)5)
2638c2c66affSColin Finck #define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6)
2639c2c66affSColin Finck #define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7)
2640c2c66affSColin Finck #define HBMMENU_POPUP_CLOSE ((HBITMAP)8)
2641c2c66affSColin Finck #define HBMMENU_POPUP_RESTORE ((HBITMAP)9)
2642c2c66affSColin Finck #define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10)
2643c2c66affSColin Finck #define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11)
2644c2c66affSColin Finck #define MOD_ALT         0x0001
2645c2c66affSColin Finck #define MOD_CONTROL     0x0002
2646c2c66affSColin Finck #define MOD_SHIFT       0x0004
2647c2c66affSColin Finck #define MOD_WIN         0x0008
2648c2c66affSColin Finck #define LLKHF_EXTENDED 0x00000001
2649c2c66affSColin Finck #define LLKHF_INJECTED 0x00000010
2650c2c66affSColin Finck #define LLKHF_ALTDOWN  0x00000020
2651c2c66affSColin Finck #define LLKHF_UP  0x00000080
2652c2c66affSColin Finck #define LLMHF_INJECTED  0x00000001
2653c2c66affSColin Finck #if (WINVER >= 0x0500)
2654c2c66affSColin Finck #define FLASHW_STOP 0
2655c2c66affSColin Finck #define FLASHW_CAPTION 1
2656c2c66affSColin Finck #define FLASHW_TRAY 2
2657c2c66affSColin Finck #define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
2658c2c66affSColin Finck #define FLASHW_TIMER 4
2659c2c66affSColin Finck #define FLASHW_TIMERNOFG 12
2660c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
2661c2c66affSColin Finck #define CURSOR_SHOWING 0x00000001
2662c2c66affSColin Finck #define WS_ACTIVECAPTION 0x00000001
2663c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
2664c2c66affSColin Finck #define INPUT_MOUSE 0
2665c2c66affSColin Finck #define INPUT_KEYBOARD 1
2666c2c66affSColin Finck #define INPUT_HARDWARE 2
2667c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0400) */
2668c2c66affSColin Finck #if (WINVER >= 0x0400)
2669c2c66affSColin Finck #define ENDSESSION_LOGOFF 0x80000000
2670c2c66affSColin Finck #define ENDSESSION_CRITICAL 0x40000000
2671c2c66affSColin Finck #define ENDSESSION_CLOSEAPP 0x00000001
2672c2c66affSColin Finck #endif
2673c2c66affSColin Finck #if (WINVER >= 0x0500)
2674c2c66affSColin Finck #define CHILDID_SELF 0
2675c2c66affSColin Finck #define OBJID_WINDOW 0x00000000
2676c2c66affSColin Finck #define OBJID_SYSMENU 0xFFFFFFFF
2677c2c66affSColin Finck #define OBJID_TITLEBAR 0xFFFFFFFE
2678c2c66affSColin Finck #define OBJID_MENU 0xFFFFFFFD
2679c2c66affSColin Finck #define OBJID_CLIENT 0xFFFFFFFC
2680c2c66affSColin Finck #define OBJID_VSCROLL 0xFFFFFFFB
2681c2c66affSColin Finck #define OBJID_HSCROLL 0xFFFFFFFA
2682c2c66affSColin Finck #define OBJID_SIZEGRIP 0xFFFFFFF9
2683c2c66affSColin Finck #define OBJID_CARET 0xFFFFFFF8
2684c2c66affSColin Finck #define OBJID_CURSOR 0xFFFFFFF7
2685c2c66affSColin Finck #define OBJID_ALERT 0xFFFFFFF6
2686c2c66affSColin Finck #define OBJID_SOUND 0xFFFFFFF5
2687c2c66affSColin Finck #define OBJID_QUERYCLASSNAMEIDX 0xFFFFFFF4
2688c2c66affSColin Finck #define OBJID_NATIVEOM 0xFFFFFF0
2689c2c66affSColin Finck #define GUI_CARETBLINKING 0x00000001
2690c2c66affSColin Finck #define GUI_INMOVESIZE 0x00000002
2691c2c66affSColin Finck #define GUI_INMENUMODE 0x00000004
2692c2c66affSColin Finck #define GUI_SYSTEMMENUMODE 0x00000008
2693c2c66affSColin Finck #define GUI_POPUPMENUMODE 0x00000010
2694c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2695c2c66affSColin Finck #define GUI_16BITTASK 0x00000020
2696c2c66affSColin Finck #endif
2697c2c66affSColin Finck #define WINEVENT_OUTOFCONTEXT   0x0000
2698c2c66affSColin Finck #define WINEVENT_SKIPOWNTHREAD  0x0001
2699c2c66affSColin Finck #define WINEVENT_SKIPOWNPROCESS 0x0002
2700c2c66affSColin Finck #define WINEVENT_INCONTEXT      0x0004
2701c2c66affSColin Finck #define AW_HOR_POSITIVE 0x00000001
2702c2c66affSColin Finck #define AW_HOR_NEGATIVE 0x00000002
2703c2c66affSColin Finck #define AW_VER_POSITIVE 0x00000004
2704c2c66affSColin Finck #define AW_VER_NEGATIVE 0x00000008
2705c2c66affSColin Finck #define AW_CENTER 0x00000010
2706c2c66affSColin Finck #define AW_HIDE 0x00010000
2707c2c66affSColin Finck #define AW_ACTIVATE 0x00020000
2708c2c66affSColin Finck #define AW_SLIDE 0x00040000
2709c2c66affSColin Finck #define AW_BLEND 0x00080000
2710c2c66affSColin Finck #define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
2711c2c66affSColin Finck #define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
2712c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2713c2c66affSColin Finck #define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
2714c2c66affSColin Finck #endif
2715c2c66affSColin Finck #define EVENT_MIN                       0x00000001
2716c2c66affSColin Finck #define EVENT_SYSTEM_SOUND              0x00000001
2717c2c66affSColin Finck #define EVENT_SYSTEM_ALERT              0x00000002
2718c2c66affSColin Finck #define EVENT_SYSTEM_FOREGROUND         0x00000003
2719c2c66affSColin Finck #define EVENT_SYSTEM_MENUSTART          0x00000004
2720c2c66affSColin Finck #define EVENT_SYSTEM_MENUEND            0x00000005
2721c2c66affSColin Finck #define EVENT_SYSTEM_MENUPOPUPSTART     0x00000006
2722c2c66affSColin Finck #define EVENT_SYSTEM_MENUPOPUPEND       0x00000007
2723c2c66affSColin Finck #define EVENT_SYSTEM_CAPTURESTART       0x00000008
2724c2c66affSColin Finck #define EVENT_SYSTEM_CAPTUREEND         0x00000009
2725c2c66affSColin Finck #define EVENT_SYSTEM_MOVESIZESTART      0x0000000a
2726c2c66affSColin Finck #define EVENT_SYSTEM_MOVESIZEEND        0x0000000b
2727c2c66affSColin Finck #define EVENT_SYSTEM_CONTEXTHELPSTART   0x0000000c
2728c2c66affSColin Finck #define EVENT_SYSTEM_CONTEXTHELPEND     0x0000000d
2729c2c66affSColin Finck #define EVENT_SYSTEM_DRAGDROPSTART      0x0000000e
2730c2c66affSColin Finck #define EVENT_SYSTEM_DRAGDROPEND        0x0000000f
2731c2c66affSColin Finck #define EVENT_SYSTEM_DIALOGSTART        0x00000010
2732c2c66affSColin Finck #define EVENT_SYSTEM_DIALOGEND          0x00000011
2733c2c66affSColin Finck #define EVENT_SYSTEM_SCROLLINGSTART     0x00000012
2734c2c66affSColin Finck #define EVENT_SYSTEM_SCROLLINGEND       0x00000013
2735c2c66affSColin Finck #define EVENT_SYSTEM_SWITCHSTART        0x00000014
2736c2c66affSColin Finck #define EVENT_SYSTEM_SWITCHEND          0x00000015
2737c2c66affSColin Finck #define EVENT_SYSTEM_MINIMIZESTART      0x00000016
2738c2c66affSColin Finck #define EVENT_SYSTEM_MINIMIZEEND        0x00000017
2739c2c66affSColin Finck #define EVENT_OBJECT_CREATE             0x00008000
2740c2c66affSColin Finck #define EVENT_OBJECT_DESTROY            0x00008001
2741c2c66affSColin Finck #define EVENT_OBJECT_SHOW               0x00008002
2742c2c66affSColin Finck #define EVENT_OBJECT_HIDE               0x00008003
2743c2c66affSColin Finck #define EVENT_OBJECT_REORDER            0x00008004
2744c2c66affSColin Finck #define EVENT_OBJECT_FOCUS              0x00008005
2745c2c66affSColin Finck #define EVENT_OBJECT_SELECTION          0x00008006
2746c2c66affSColin Finck #define EVENT_OBJECT_SELECTIONADD       0x00008007
2747c2c66affSColin Finck #define EVENT_OBJECT_SELECTIONREMOVE    0x00008008
2748c2c66affSColin Finck #define EVENT_OBJECT_SELECTIONWITHIN    0x00008009
2749c2c66affSColin Finck #define EVENT_OBJECT_STATECHANGE        0x0000800a
2750c2c66affSColin Finck #define EVENT_OBJECT_LOCATIONCHANGE     0x0000800b
2751c2c66affSColin Finck #define EVENT_OBJECT_NAMECHANGE         0x0000800c
2752c2c66affSColin Finck #define EVENT_OBJECT_DESCRIPTIONCHANGE  0x0000800d
2753c2c66affSColin Finck #define EVENT_OBJECT_VALUECHANGE        0x0000800e
2754c2c66affSColin Finck #define EVENT_OBJECT_PARENTCHANGE       0x0000800f
2755c2c66affSColin Finck #define EVENT_OBJECT_HELPCHANGE         0x00008010
2756c2c66affSColin Finck #define EVENT_OBJECT_DEFACTIONCHANGE    0x00008011
2757c2c66affSColin Finck #define EVENT_OBJECT_ACCELERATORCHANGE  0x00008012
2758c2c66affSColin Finck #define ALERT_SYSTEM_INFORMATIONAL      1          /* MB_INFORMATION */
2759c2c66affSColin Finck #define ALERT_SYSTEM_WARNING            2          /* MB_WARNING */
2760c2c66affSColin Finck #define ALERT_SYSTEM_ERROR              3          /* MB_ERROR */
2761c2c66affSColin Finck #define ALERT_SYSTEM_QUERY              4          /* MB_QUESTION */
2762c2c66affSColin Finck #define ALERT_SYSTEM_CRITICAL           5          /* HardSysErrBox */
2763c2c66affSColin Finck #define CALERT_SYSTEM                   6
2764c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2765c2c66affSColin Finck #define EVENT_CONSOLE_CARET             0x00004001
2766c2c66affSColin Finck #define CONSOLE_CARET_SELECTION         0x00000001
2767c2c66affSColin Finck #define CONSOLE_CARET_VISIBLE           0x00000002
2768c2c66affSColin Finck #define EVENT_CONSOLE_UPDATE_REGION     0x00004002
2769c2c66affSColin Finck #define EVENT_CONSOLE_UPDATE_SIMPLE     0x00004003
2770c2c66affSColin Finck #define EVENT_CONSOLE_UPDATE_SCROLL     0x00004004
2771c2c66affSColin Finck #define EVENT_CONSOLE_LAYOUT            0x00004005
2772c2c66affSColin Finck #define EVENT_CONSOLE_START_APPLICATION 0x00004006
2773c2c66affSColin Finck #define CONSOLE_APPLICATION_16BIT       0x00000001
2774c2c66affSColin Finck #define EVENT_CONSOLE_END_APPLICATION   0x00004007
2775c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0501) */
2776c2c66affSColin Finck #define EVENT_MAX                       0x7fffffff
2777c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
2778c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
2779c2c66affSColin Finck #define ASFW_ANY ((DWORD)-1)
2780c2c66affSColin Finck #define LSFW_LOCK 1
2781c2c66affSColin Finck #define LSFW_UNLOCK 2
2782c2c66affSColin Finck #endif
2783c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2784c2c66affSColin Finck #define LWA_COLORKEY 1
2785c2c66affSColin Finck #define LWA_ALPHA 2
2786c2c66affSColin Finck #endif
2787c2c66affSColin Finck #define ULW_COLORKEY        0x00000001
2788c2c66affSColin Finck #define ULW_ALPHA           0x00000002
2789c2c66affSColin Finck #define ULW_OPAQUE          0x00000004
2790c2c66affSColin Finck #define ULW_EX_NORESIZE     0x00000008
2791c2c66affSColin Finck #define GA_PARENT 1
2792c2c66affSColin Finck #define GA_ROOT 2
2793c2c66affSColin Finck #define GA_ROOTOWNER 3
2794c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2795c2c66affSColin Finck #define MONITOR_DEFAULTTONULL 0
2796c2c66affSColin Finck #define MONITOR_DEFAULTTOPRIMARY 1
2797c2c66affSColin Finck #define MONITOR_DEFAULTTONEAREST 2
2798c2c66affSColin Finck #define MONITORINFOF_PRIMARY 1
279987801a65SAmine Khaldi #define EDD_GET_DEVICE_INTERFACE_NAME 0x00000001
2800c2c66affSColin Finck #define EDS_RAWMODE 0x00000002
2801c2c66affSColin Finck #define EDS_ROTATEDMODE 0x00000004
2802c2c66affSColin Finck #define ISMEX_NOSEND 0x00000000
2803c2c66affSColin Finck #define ISMEX_CALLBACK 0x00000004
2804c2c66affSColin Finck #define ISMEX_NOTIFY 0x00000002
2805c2c66affSColin Finck #define ISMEX_REPLIED 0x00000008
2806c2c66affSColin Finck #define ISMEX_SEND 0x00000001
2807c2c66affSColin Finck #endif
2808c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
2809c2c66affSColin Finck #define GR_GDIOBJECTS 0
2810c2c66affSColin Finck #define GR_USEROBJECTS 1
2811c2c66affSColin Finck #endif
2812c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
2813c2c66affSColin Finck #define GMMP_USE_DISPLAY_POINTS 1
2814c2c66affSColin Finck #define GMMP_USE_HIGH_RESOLUTION_POINTS 2
2815c2c66affSColin Finck #endif
2816c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
2817c2c66affSColin Finck #define PW_CLIENTONLY 0x00000001
2818c2c66affSColin Finck #define RIM_INPUT     0x00000000
2819c2c66affSColin Finck #define RIM_INPUTSINK 0x00000001
2820c2c66affSColin Finck #define RIM_TYPEMOUSE    0x00000000
2821c2c66affSColin Finck #define RIM_TYPEKEYBOARD 0x00000001
2822c2c66affSColin Finck #define RIM_TYPEHID      0x00000002
2823c2c66affSColin Finck #define MOUSE_MOVE_RELATIVE               0
2824c2c66affSColin Finck #define MOUSE_MOVE_ABSOLUTE               1
2825c2c66affSColin Finck #define MOUSE_VIRTUAL_DESKTOP             0x02
2826c2c66affSColin Finck #define MOUSE_ATTRIBUTES_CHANGED          0x04
2827c2c66affSColin Finck #define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
2828c2c66affSColin Finck #define RI_MOUSE_LEFT_BUTTON_UP     0x0002
2829c2c66affSColin Finck #define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
2830c2c66affSColin Finck #define RI_MOUSE_RIGHT_BUTTON_UP    0x0008
2831c2c66affSColin Finck #define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
2832c2c66affSColin Finck #define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
2833c2c66affSColin Finck #define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN
2834c2c66affSColin Finck #define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP
2835c2c66affSColin Finck #define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN
2836c2c66affSColin Finck #define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP
2837c2c66affSColin Finck #define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN
2838c2c66affSColin Finck #define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP
2839c2c66affSColin Finck #define RI_MOUSE_BUTTON_4_DOWN      0x0040
2840c2c66affSColin Finck #define RI_MOUSE_BUTTON_4_UP        0x0080
2841c2c66affSColin Finck #define RI_MOUSE_BUTTON_5_DOWN      0x0100
2842c2c66affSColin Finck #define RI_MOUSE_BUTTON_5_UP        0x0200
2843c2c66affSColin Finck #define RI_MOUSE_WHEEL              0x0400
2844c2c66affSColin Finck #define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
2845c2c66affSColin Finck #define RI_KEY_MAKE            0x0000
2846c2c66affSColin Finck #define RI_KEY_BREAK           0x0001
2847c2c66affSColin Finck #define RI_KEY_E0              0x0002
2848c2c66affSColin Finck #define RI_KEY_E1              0x0004
2849c2c66affSColin Finck #define RI_KEY_TERMSRV_SET_LED 0x0008
2850c2c66affSColin Finck #define RI_KEY_TERMSRV_SHADOW  0x0010
2851c2c66affSColin Finck #define RID_INPUT  0x10000003
2852c2c66affSColin Finck #define RID_HEADER 0x10000005
2853c2c66affSColin Finck #define RIDI_PREPARSEDDATA 0x20000005
2854c2c66affSColin Finck #define RIDI_DEVICENAME    0x20000007
2855c2c66affSColin Finck #define RIDI_DEVICEINFO    0x2000000b
2856c2c66affSColin Finck #define RIDEV_REMOVE       0x00000001
2857c2c66affSColin Finck #define RIDEV_EXCLUDE      0x00000010
2858c2c66affSColin Finck #define RIDEV_PAGEONLY     0x00000020
2859c2c66affSColin Finck #define RIDEV_NOLEGACY     0x00000030
2860c2c66affSColin Finck #define RIDEV_INPUTSINK    0x00000100
2861c2c66affSColin Finck #define RIDEV_CAPTUREMOUSE 0x00000200
2862c2c66affSColin Finck #define RIDEV_NOHOTKEYS    0x00000200
2863c2c66affSColin Finck #define RIDEV_APPKEYS      0x00000400
2864c2c66affSColin Finck #endif
2865c2c66affSColin Finck #define STATE_SYSTEM_UNAVAILABLE 0x00000001
2866c2c66affSColin Finck #define STATE_SYSTEM_SELECTED 0x00000002
2867c2c66affSColin Finck #define STATE_SYSTEM_FOCUSED 0x00000004
2868c2c66affSColin Finck #define STATE_SYSTEM_PRESSED 0x00000008
2869c2c66affSColin Finck #define STATE_SYSTEM_CHECKED 0x00000010
2870c2c66affSColin Finck #define STATE_SYSTEM_MIXED 0x00000020
2871c2c66affSColin Finck #define STATE_SYSTEM_READONLY 0x00000040
2872c2c66affSColin Finck #define STATE_SYSTEM_HOTTRACKED 0x00000080
2873c2c66affSColin Finck #define STATE_SYSTEM_DEFAULT 0x00000100
2874c2c66affSColin Finck #define STATE_SYSTEM_EXPANDED 0x00000200
2875c2c66affSColin Finck #define STATE_SYSTEM_COLLAPSED 0x00000400
2876c2c66affSColin Finck #define STATE_SYSTEM_BUSY 0x00000800
2877c2c66affSColin Finck #define STATE_SYSTEM_FLOATING 0x00001000
2878c2c66affSColin Finck #define STATE_SYSTEM_MARQUEED 0x00002000
2879c2c66affSColin Finck #define STATE_SYSTEM_ANIMATED 0x00004000
2880c2c66affSColin Finck #define STATE_SYSTEM_INVISIBLE 0x00008000
2881c2c66affSColin Finck #define STATE_SYSTEM_OFFSCREEN 0x00010000
2882c2c66affSColin Finck #define STATE_SYSTEM_SIZEABLE 0x00020000
2883c2c66affSColin Finck #define STATE_SYSTEM_MOVEABLE 0x00040000
2884c2c66affSColin Finck #define STATE_SYSTEM_SELFVOICING 0x00080000
2885c2c66affSColin Finck #define STATE_SYSTEM_FOCUSABLE 0x00100000
2886c2c66affSColin Finck #define STATE_SYSTEM_SELECTABLE 0x00200000
2887c2c66affSColin Finck #define STATE_SYSTEM_LINKED 0x00400000
2888c2c66affSColin Finck #define STATE_SYSTEM_TRAVERSED 0x00800000
2889c2c66affSColin Finck #define STATE_SYSTEM_MULTISELECTABLE 0x01000000
2890c2c66affSColin Finck #define STATE_SYSTEM_EXTSELECTABLE 0x02000000
2891c2c66affSColin Finck #define STATE_SYSTEM_ALERT_LOW 0x04000000
2892c2c66affSColin Finck #define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
2893c2c66affSColin Finck #define STATE_SYSTEM_ALERT_HIGH 0x10000000
2894c2c66affSColin Finck #define STATE_SYSTEM_VALID 0x1fffffff
2895c2c66affSColin Finck 
2896c2c66affSColin Finck #define USER_DEFAULT_SCREEN_DPI 96
2897c2c66affSColin Finck 
2898c2c66affSColin Finck #ifndef RC_INVOKED
2899c2c66affSColin Finck typedef INT_PTR(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
2900c2c66affSColin Finck typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT_PTR,DWORD);
2901c2c66affSColin Finck typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
2902c2c66affSColin Finck typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM);
2903c2c66affSColin Finck typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
2904c2c66affSColin Finck typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
2905c2c66affSColin Finck typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,ULONG_PTR);
2906c2c66affSColin Finck typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,ULONG_PTR);
2907c2c66affSColin Finck typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int);
2908c2c66affSColin Finck typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
2909c2c66affSColin Finck typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
2910c2c66affSColin Finck typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
2911c2c66affSColin Finck typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
2912c2c66affSColin Finck typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
2913c2c66affSColin Finck typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
2914c2c66affSColin Finck typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
2915c2c66affSColin Finck typedef NAMEENUMPROCA DESKTOPENUMPROCA;
2916c2c66affSColin Finck typedef NAMEENUMPROCW DESKTOPENUMPROCW;
2917c2c66affSColin Finck typedef NAMEENUMPROCA WINSTAENUMPROCA;
2918c2c66affSColin Finck typedef NAMEENUMPROCW WINSTAENUMPROCW;
2919c2c66affSColin Finck typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,ULONG_PTR,LRESULT);
2920c2c66affSColin Finck DECLARE_HANDLE(HHOOK);
2921c2c66affSColin Finck DECLARE_HANDLE(HDWP);
2922c2c66affSColin Finck DECLARE_HANDLE(HDEVNOTIFY);
2923c2c66affSColin Finck typedef HDEVNOTIFY *PHDEVNOTIFY;
2924c2c66affSColin Finck 
2925c2c66affSColin Finck typedef struct tagACCEL {
2926c2c66affSColin Finck 	BYTE fVirt;
2927c2c66affSColin Finck 	WORD key;
2928c2c66affSColin Finck 	WORD cmd;
2929c2c66affSColin Finck } ACCEL,*LPACCEL;
2930c2c66affSColin Finck 
2931c2c66affSColin Finck typedef struct tagACCESSTIMEOUT {
2932c2c66affSColin Finck 	UINT cbSize;
2933c2c66affSColin Finck 	DWORD dwFlags;
2934c2c66affSColin Finck 	DWORD iTimeOutMSec;
2935c2c66affSColin Finck } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
2936c2c66affSColin Finck 
2937c2c66affSColin Finck typedef struct tagANIMATIONINFO {
2938c2c66affSColin Finck 	UINT cbSize;
2939c2c66affSColin Finck 	int iMinAnimate;
2940c2c66affSColin Finck } ANIMATIONINFO,*LPANIMATIONINFO;
2941c2c66affSColin Finck 
2942c2c66affSColin Finck typedef struct tagCREATESTRUCTA {
2943c2c66affSColin Finck 	LPVOID	lpCreateParams;
2944c2c66affSColin Finck 	HINSTANCE	hInstance;
2945c2c66affSColin Finck 	HMENU	hMenu;
2946c2c66affSColin Finck 	HWND	hwndParent;
2947c2c66affSColin Finck 	int	cy;
2948c2c66affSColin Finck 	int	cx;
2949c2c66affSColin Finck 	int	y;
2950c2c66affSColin Finck 	int	x;
2951c2c66affSColin Finck 	LONG	style;
2952c2c66affSColin Finck 	LPCSTR	lpszName;
2953c2c66affSColin Finck 	LPCSTR	lpszClass;
2954c2c66affSColin Finck 	DWORD	dwExStyle;
2955c2c66affSColin Finck } CREATESTRUCTA,*LPCREATESTRUCTA;
2956c2c66affSColin Finck 
2957c2c66affSColin Finck typedef struct tagCREATESTRUCTW {
2958c2c66affSColin Finck 	LPVOID	lpCreateParams;
2959c2c66affSColin Finck 	HINSTANCE	hInstance;
2960c2c66affSColin Finck 	HMENU	hMenu;
2961c2c66affSColin Finck 	HWND	hwndParent;
2962c2c66affSColin Finck 	int	cy;
2963c2c66affSColin Finck 	int	cx;
2964c2c66affSColin Finck 	int	y;
2965c2c66affSColin Finck 	int	x;
2966c2c66affSColin Finck 	LONG	style;
2967c2c66affSColin Finck 	LPCWSTR	lpszName;
2968c2c66affSColin Finck 	LPCWSTR	lpszClass;
2969c2c66affSColin Finck 	DWORD	dwExStyle;
2970c2c66affSColin Finck } CREATESTRUCTW,*LPCREATESTRUCTW;
2971c2c66affSColin Finck 
2972c2c66affSColin Finck typedef struct tagCBT_CREATEWNDA {
2973c2c66affSColin Finck 	LPCREATESTRUCTA lpcs;
2974c2c66affSColin Finck 	HWND	hwndInsertAfter;
2975c2c66affSColin Finck } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
2976c2c66affSColin Finck 
2977c2c66affSColin Finck typedef struct tagCBT_CREATEWNDW {
2978c2c66affSColin Finck 	LPCREATESTRUCTW lpcs;
2979c2c66affSColin Finck 	HWND	hwndInsertAfter;
2980c2c66affSColin Finck } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
2981c2c66affSColin Finck 
2982c2c66affSColin Finck typedef struct tagCBTACTIVATESTRUCT {
2983c2c66affSColin Finck 	BOOL fMouse;
2984c2c66affSColin Finck 	HWND hWndActive;
2985c2c66affSColin Finck } CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
2986c2c66affSColin Finck 
2987c2c66affSColin Finck typedef struct tagCLIENTCREATESTRUCT {
2988c2c66affSColin Finck 	HANDLE	hWindowMenu;
2989c2c66affSColin Finck 	UINT	idFirstChild;
2990c2c66affSColin Finck } CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
2991c2c66affSColin Finck 
2992c2c66affSColin Finck typedef struct tagCOMPAREITEMSTRUCT {
2993c2c66affSColin Finck 	UINT	CtlType;
2994c2c66affSColin Finck 	UINT	CtlID;
2995c2c66affSColin Finck 	HWND	hwndItem;
2996c2c66affSColin Finck 	UINT	itemID1;
2997c2c66affSColin Finck 	ULONG_PTR	itemData1;
2998c2c66affSColin Finck 	UINT	itemID2;
2999c2c66affSColin Finck 	ULONG_PTR	itemData2;
3000c2c66affSColin Finck 	DWORD	dwLocaleId;
3001c2c66affSColin Finck } COMPAREITEMSTRUCT, *PCOMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
3002c2c66affSColin Finck 
3003c2c66affSColin Finck typedef struct tagCOPYDATASTRUCT {
3004c2c66affSColin Finck   ULONG_PTR dwData;
3005c2c66affSColin Finck   DWORD cbData;
3006c2c66affSColin Finck   _Field_size_bytes_(cbData) PVOID lpData;
3007c2c66affSColin Finck } COPYDATASTRUCT,*PCOPYDATASTRUCT;
3008c2c66affSColin Finck 
3009c2c66affSColin Finck typedef struct tagCURSORSHAPE {
3010c2c66affSColin Finck 	int xHotSpot;
3011c2c66affSColin Finck 	int yHotSpot;
3012c2c66affSColin Finck 	int cx;
3013c2c66affSColin Finck 	int cy;
3014c2c66affSColin Finck 	int cbWidth;
3015c2c66affSColin Finck     BYTE Planes;
3016c2c66affSColin Finck     BYTE BitsPixel;
3017c2c66affSColin Finck } CURSORSHAPE,*LPCURSORSHAPE;
3018c2c66affSColin Finck 
3019c2c66affSColin Finck typedef struct tagCWPRETSTRUCT {
3020c2c66affSColin Finck 	LRESULT lResult;
3021c2c66affSColin Finck 	LPARAM lParam;
3022c2c66affSColin Finck 	WPARAM wParam;
3023c2c66affSColin Finck 	DWORD message;
3024c2c66affSColin Finck 	HWND hwnd;
3025c2c66affSColin Finck } CWPRETSTRUCT,*PCWPRETSTRUCT, *LPCWPRETSTRUCT;
3026c2c66affSColin Finck 
3027c2c66affSColin Finck typedef struct tagCWPSTRUCT {
3028c2c66affSColin Finck 	LPARAM lParam;
3029c2c66affSColin Finck 	WPARAM wParam;
3030c2c66affSColin Finck 	UINT message;
3031c2c66affSColin Finck 	HWND hwnd;
3032c2c66affSColin Finck } CWPSTRUCT,*PCWPSTRUCT, *LPCWPSTRUCT;
3033c2c66affSColin Finck 
3034c2c66affSColin Finck typedef struct tagDEBUGHOOKINFO {
3035c2c66affSColin Finck 	DWORD idThread;
3036c2c66affSColin Finck 	DWORD idThreadInstaller;
3037c2c66affSColin Finck 	LPARAM lParam;
3038c2c66affSColin Finck 	WPARAM wParam;
3039c2c66affSColin Finck 	int code;
3040c2c66affSColin Finck } DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
3041c2c66affSColin Finck 
3042c2c66affSColin Finck typedef struct tagDELETEITEMSTRUCT {
3043c2c66affSColin Finck 	UINT CtlType;
3044c2c66affSColin Finck 	UINT CtlID;
3045c2c66affSColin Finck 	UINT itemID;
3046c2c66affSColin Finck 	HWND hwndItem;
3047c2c66affSColin Finck 	ULONG_PTR itemData;
3048c2c66affSColin Finck } DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
3049c2c66affSColin Finck 
3050c2c66affSColin Finck #include <pshpack2.h>
3051c2c66affSColin Finck typedef struct {
3052c2c66affSColin Finck 	DWORD style;
3053c2c66affSColin Finck 	DWORD dwExtendedStyle;
3054c2c66affSColin Finck 	short x;
3055c2c66affSColin Finck 	short y;
3056c2c66affSColin Finck 	short cx;
3057c2c66affSColin Finck 	short cy;
3058c2c66affSColin Finck 	WORD id;
3059c2c66affSColin Finck } DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
3060c2c66affSColin Finck 
3061c2c66affSColin Finck typedef struct {
3062c2c66affSColin Finck 	DWORD style;
3063c2c66affSColin Finck 	DWORD dwExtendedStyle;
3064c2c66affSColin Finck 	WORD cdit;
3065c2c66affSColin Finck 	short x;
3066c2c66affSColin Finck 	short y;
3067c2c66affSColin Finck 	short cx;
3068c2c66affSColin Finck 	short cy;
3069c2c66affSColin Finck } DLGTEMPLATE,*LPDLGTEMPLATE,*LPDLGTEMPLATEA,*LPDLGTEMPLATEW;
3070c2c66affSColin Finck 
3071c2c66affSColin Finck typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
3072c2c66affSColin Finck typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
3073c2c66affSColin Finck typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
3074c2c66affSColin Finck typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
3075c2c66affSColin Finck DECL_WINELIB_TYPE_AW(PDLGITEMTEMPLATE)
3076c2c66affSColin Finck typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
3077c2c66affSColin Finck typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
3078c2c66affSColin Finck 
3079c2c66affSColin Finck 
3080c2c66affSColin Finck #ifdef UNICODE
3081c2c66affSColin Finck typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE;
3082c2c66affSColin Finck #else
3083c2c66affSColin Finck typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;
3084c2c66affSColin Finck #endif // UNICODE
3085c2c66affSColin Finck #include <poppack.h>
3086c2c66affSColin Finck 
3087c2c66affSColin Finck typedef struct tagDRAWITEMSTRUCT {
3088c2c66affSColin Finck 	UINT CtlType;
3089c2c66affSColin Finck 	UINT CtlID;
3090c2c66affSColin Finck 	UINT itemID;
3091c2c66affSColin Finck 	UINT itemAction;
3092c2c66affSColin Finck 	UINT itemState;
3093c2c66affSColin Finck 	HWND hwndItem;
3094c2c66affSColin Finck 	HDC	hDC;
3095c2c66affSColin Finck 	RECT rcItem;
3096c2c66affSColin Finck 	ULONG_PTR itemData;
3097c2c66affSColin Finck } DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
3098c2c66affSColin Finck 
3099c2c66affSColin Finck typedef struct {
3100c2c66affSColin Finck 	UINT cbSize;
3101c2c66affSColin Finck 	int iTabLength;
3102c2c66affSColin Finck 	int iLeftMargin;
3103c2c66affSColin Finck 	int iRightMargin;
3104c2c66affSColin Finck 	UINT uiLengthDrawn;
3105c2c66affSColin Finck } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
3106c2c66affSColin Finck 
3107c2c66affSColin Finck typedef struct tagPAINTSTRUCT {
3108c2c66affSColin Finck 	HDC	hdc;
3109c2c66affSColin Finck 	BOOL fErase;
3110c2c66affSColin Finck 	RECT rcPaint;
3111c2c66affSColin Finck 	BOOL fRestore;
3112c2c66affSColin Finck 	BOOL fIncUpdate;
3113c2c66affSColin Finck 	BYTE rgbReserved[32];
3114c2c66affSColin Finck } PAINTSTRUCT, *PPAINTSTRUCT,*LPPAINTSTRUCT;
3115c2c66affSColin Finck 
3116c2c66affSColin Finck typedef struct tagMSG {
3117c2c66affSColin Finck 	HWND hwnd;
3118c2c66affSColin Finck 	UINT message;
3119c2c66affSColin Finck 	WPARAM wParam;
3120c2c66affSColin Finck 	LPARAM lParam;
3121c2c66affSColin Finck 	DWORD time;
3122c2c66affSColin Finck 	POINT pt;
3123c2c66affSColin Finck } MSG,*LPMSG,*PMSG;
3124c2c66affSColin Finck 
3125c2c66affSColin Finck typedef struct _ICONINFO {
3126c2c66affSColin Finck 	BOOL fIcon;
3127c2c66affSColin Finck 	DWORD xHotspot;
3128c2c66affSColin Finck 	DWORD yHotspot;
3129c2c66affSColin Finck 	HBITMAP hbmMask;
3130c2c66affSColin Finck 	HBITMAP hbmColor;
3131c2c66affSColin Finck } ICONINFO,*PICONINFO;
3132c2c66affSColin Finck 
3133c2c66affSColin Finck typedef struct _ICONINFOEXA
3134c2c66affSColin Finck {
3135c2c66affSColin Finck 	DWORD     cbSize;
3136c2c66affSColin Finck 	BOOL      fIcon;
3137c2c66affSColin Finck 	DWORD     xHotspot;
3138c2c66affSColin Finck 	DWORD     yHotspot;
3139c2c66affSColin Finck 	HBITMAP   hbmMask;
3140c2c66affSColin Finck 	HBITMAP   hbmColor;
3141c2c66affSColin Finck 	WORD      wResID;
3142c2c66affSColin Finck 	CHAR      szModName[MAX_PATH];
3143c2c66affSColin Finck 	CHAR      szResName[MAX_PATH];
3144c2c66affSColin Finck } ICONINFOEXA, *PICONINFOEXA;
3145c2c66affSColin Finck 
3146c2c66affSColin Finck typedef struct _ICONINFOEXW
3147c2c66affSColin Finck {
3148c2c66affSColin Finck 	DWORD     cbSize;
3149c2c66affSColin Finck 	BOOL      fIcon;
3150c2c66affSColin Finck 	DWORD     xHotspot;
3151c2c66affSColin Finck 	DWORD     yHotspot;
3152c2c66affSColin Finck 	HBITMAP   hbmMask;
3153c2c66affSColin Finck 	HBITMAP   hbmColor;
3154c2c66affSColin Finck 	WORD      wResID;
3155c2c66affSColin Finck 	WCHAR     szModName[MAX_PATH];
3156c2c66affSColin Finck 	WCHAR     szResName[MAX_PATH];
3157c2c66affSColin Finck } ICONINFOEXW, *PICONINFOEXW;
3158c2c66affSColin Finck 
3159c2c66affSColin Finck typedef struct tagNMHDR {
3160c2c66affSColin Finck 	HWND hwndFrom;
3161c2c66affSColin Finck 	UINT_PTR idFrom;
3162c2c66affSColin Finck 	UINT code;
3163c2c66affSColin Finck } NMHDR,*LPNMHDR;
3164c2c66affSColin Finck 
3165c2c66affSColin Finck typedef struct _WNDCLASSA {
3166c2c66affSColin Finck 	UINT style;
3167c2c66affSColin Finck 	WNDPROC lpfnWndProc;
3168c2c66affSColin Finck 	int cbClsExtra;
3169c2c66affSColin Finck 	int cbWndExtra;
3170c2c66affSColin Finck 	HINSTANCE hInstance;
3171c2c66affSColin Finck 	HICON hIcon;
3172c2c66affSColin Finck 	HCURSOR hCursor;
3173c2c66affSColin Finck 	HBRUSH hbrBackground;
3174c2c66affSColin Finck 	LPCSTR lpszMenuName;
3175c2c66affSColin Finck 	LPCSTR lpszClassName;
3176c2c66affSColin Finck } WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
3177c2c66affSColin Finck 
3178c2c66affSColin Finck typedef struct _WNDCLASSW {
3179c2c66affSColin Finck 	UINT style;
3180c2c66affSColin Finck 	WNDPROC lpfnWndProc;
3181c2c66affSColin Finck 	int cbClsExtra;
3182c2c66affSColin Finck 	int cbWndExtra;
3183c2c66affSColin Finck 	HINSTANCE hInstance;
3184c2c66affSColin Finck 	HICON hIcon;
3185c2c66affSColin Finck 	HCURSOR hCursor;
3186c2c66affSColin Finck 	HBRUSH hbrBackground;
3187c2c66affSColin Finck 	LPCWSTR lpszMenuName;
3188c2c66affSColin Finck 	LPCWSTR lpszClassName;
3189c2c66affSColin Finck } WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
3190c2c66affSColin Finck 
3191c2c66affSColin Finck typedef enum tagAR_STATE {
3192c2c66affSColin Finck   AR_ENABLED = 0x0,
3193c2c66affSColin Finck   AR_DISABLED = 0x1,
3194c2c66affSColin Finck   AR_SUPPRESSED = 0x2,
3195c2c66affSColin Finck   AR_REMOTESESSION = 0x4,
3196c2c66affSColin Finck   AR_MULTIMON = 0x8,
3197c2c66affSColin Finck   AR_NOSENSOR = 0x10,
3198c2c66affSColin Finck   AR_NOT_SUPPORTED = 0x20,
3199c2c66affSColin Finck   AR_DOCKED = 0x40,
3200c2c66affSColin Finck   AR_LAPTOP = 0x80
3201c2c66affSColin Finck } AR_STATE, *PAR_STATE;
3202c2c66affSColin Finck 
3203c2c66affSColin Finck typedef struct _WNDCLASSEXA {
3204c2c66affSColin Finck 	UINT cbSize;
3205c2c66affSColin Finck 	UINT style;
3206c2c66affSColin Finck 	WNDPROC lpfnWndProc;
3207c2c66affSColin Finck 	int cbClsExtra;
3208c2c66affSColin Finck 	int cbWndExtra;
3209c2c66affSColin Finck 	HINSTANCE hInstance;
3210c2c66affSColin Finck 	HICON hIcon;
3211c2c66affSColin Finck 	HCURSOR hCursor;
3212c2c66affSColin Finck 	HBRUSH hbrBackground;
3213c2c66affSColin Finck 	LPCSTR lpszMenuName;
3214c2c66affSColin Finck 	LPCSTR lpszClassName;
3215c2c66affSColin Finck 	HICON hIconSm;
3216c2c66affSColin Finck } WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
3217c2c66affSColin Finck 
3218c2c66affSColin Finck typedef struct _WNDCLASSEXW {
3219c2c66affSColin Finck 	UINT cbSize;
3220c2c66affSColin Finck 	UINT style;
3221c2c66affSColin Finck 	WNDPROC lpfnWndProc;
3222c2c66affSColin Finck 	int cbClsExtra;
3223c2c66affSColin Finck 	int cbWndExtra;
3224c2c66affSColin Finck 	HINSTANCE hInstance;
3225c2c66affSColin Finck 	HICON hIcon;
3226c2c66affSColin Finck 	HCURSOR hCursor;
3227c2c66affSColin Finck 	HBRUSH hbrBackground;
3228c2c66affSColin Finck 	LPCWSTR lpszMenuName;
3229c2c66affSColin Finck 	LPCWSTR lpszClassName;
3230c2c66affSColin Finck 	HICON hIconSm;
3231c2c66affSColin Finck } WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
3232c2c66affSColin Finck 
3233d46edf49SKatayama Hirofumi MZ #define MNGOF_TOPGAP 0x00000001
3234d46edf49SKatayama Hirofumi MZ #define MNGOF_BOTTOMGAP 0x00000002
3235d46edf49SKatayama Hirofumi MZ 
3236d46edf49SKatayama Hirofumi MZ typedef struct tagMENUGETOBJECTINFO {
3237d46edf49SKatayama Hirofumi MZ 	DWORD dwFlags;
3238d46edf49SKatayama Hirofumi MZ 	UINT uPos;
3239d46edf49SKatayama Hirofumi MZ 	HMENU hmenu;
3240d46edf49SKatayama Hirofumi MZ 	PVOID riid;
3241d46edf49SKatayama Hirofumi MZ 	PVOID pvObj;
3242d46edf49SKatayama Hirofumi MZ } MENUGETOBJECTINFO,*PMENUGETOBJECTINFO;
3243d46edf49SKatayama Hirofumi MZ 
3244c2c66affSColin Finck typedef struct tagMENUITEMINFOA {
3245c2c66affSColin Finck 	UINT cbSize;
3246c2c66affSColin Finck 	UINT fMask;
3247c2c66affSColin Finck 	UINT fType;
3248c2c66affSColin Finck 	UINT fState;
3249c2c66affSColin Finck 	UINT wID;
3250c2c66affSColin Finck 	HMENU hSubMenu;
3251c2c66affSColin Finck 	HBITMAP hbmpChecked;
3252c2c66affSColin Finck 	HBITMAP hbmpUnchecked;
3253c2c66affSColin Finck 	ULONG_PTR dwItemData;
3254c2c66affSColin Finck 	LPSTR dwTypeData;
3255c2c66affSColin Finck 	UINT cch;
3256c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
3257c2c66affSColin Finck 	HBITMAP hbmpItem;
3258c2c66affSColin Finck #endif
3259c2c66affSColin Finck } MENUITEMINFOA,*LPMENUITEMINFOA;
3260c2c66affSColin Finck typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
3261c2c66affSColin Finck 
3262c2c66affSColin Finck typedef struct tagMENUITEMINFOW {
3263c2c66affSColin Finck 	UINT cbSize;
3264c2c66affSColin Finck 	UINT fMask;
3265c2c66affSColin Finck 	UINT fType;
3266c2c66affSColin Finck 	UINT fState;
3267c2c66affSColin Finck 	UINT wID;
3268c2c66affSColin Finck 	HMENU hSubMenu;
3269c2c66affSColin Finck 	HBITMAP hbmpChecked;
3270c2c66affSColin Finck 	HBITMAP hbmpUnchecked;
3271c2c66affSColin Finck 	ULONG_PTR dwItemData;
3272c2c66affSColin Finck 	LPWSTR dwTypeData;
3273c2c66affSColin Finck 	UINT cch;
3274c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
3275c2c66affSColin Finck 	HBITMAP hbmpItem;
3276c2c66affSColin Finck #endif
3277c2c66affSColin Finck } MENUITEMINFOW,*LPMENUITEMINFOW;
3278c2c66affSColin Finck 
3279c2c66affSColin Finck typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
3280c2c66affSColin Finck 
3281c2c66affSColin Finck typedef struct tagSCROLLINFO {
3282c2c66affSColin Finck 	UINT cbSize;
3283c2c66affSColin Finck 	UINT fMask;
3284c2c66affSColin Finck 	int nMin;
3285c2c66affSColin Finck 	int nMax;
3286c2c66affSColin Finck 	UINT nPage;
3287c2c66affSColin Finck 	int nPos;
3288c2c66affSColin Finck 	int nTrackPos;
3289c2c66affSColin Finck } SCROLLINFO,*LPSCROLLINFO;
3290c2c66affSColin Finck typedef const SCROLLINFO *LPCSCROLLINFO;
3291c2c66affSColin Finck 
3292c2c66affSColin Finck typedef struct _WINDOWPLACEMENT {
3293c2c66affSColin Finck 	UINT length;
3294c2c66affSColin Finck 	UINT flags;
3295c2c66affSColin Finck 	UINT showCmd;
3296c2c66affSColin Finck 	POINT ptMinPosition;
3297c2c66affSColin Finck 	POINT ptMaxPosition;
3298c2c66affSColin Finck 	RECT rcNormalPosition;
3299c2c66affSColin Finck } WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT;
3300c2c66affSColin Finck 
3301c2c66affSColin Finck typedef struct {
3302c2c66affSColin Finck 	WORD versionNumber;
3303c2c66affSColin Finck 	WORD offset;
3304c2c66affSColin Finck } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
3305c2c66affSColin Finck 
3306c2c66affSColin Finck typedef struct {
3307c2c66affSColin Finck 	WORD mtOption;
3308c2c66affSColin Finck 	WORD mtID;
3309c2c66affSColin Finck 	WCHAR mtString[1];
3310c2c66affSColin Finck } MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
3311c2c66affSColin Finck 
3312c2c66affSColin Finck typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE;
3313c2c66affSColin Finck 
3314c2c66affSColin Finck typedef struct tagHELPINFO {
3315c2c66affSColin Finck 	UINT cbSize;
3316c2c66affSColin Finck 	int iContextType;
3317c2c66affSColin Finck 	int iCtrlId;
3318c2c66affSColin Finck 	HANDLE hItemHandle;
3319c2c66affSColin Finck 	DWORD_PTR dwContextId;
3320c2c66affSColin Finck 	POINT MousePos;
3321c2c66affSColin Finck } HELPINFO,*LPHELPINFO;
3322c2c66affSColin Finck 
3323c2c66affSColin Finck typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO);
3324c2c66affSColin Finck 
3325c2c66affSColin Finck typedef struct {
3326c2c66affSColin Finck 	UINT cbSize;
3327c2c66affSColin Finck 	HWND hwndOwner;
3328c2c66affSColin Finck 	HINSTANCE hInstance;
3329c2c66affSColin Finck 	LPCSTR lpszText;
3330c2c66affSColin Finck 	LPCSTR lpszCaption;
3331c2c66affSColin Finck 	DWORD dwStyle;
3332c2c66affSColin Finck 	LPCSTR lpszIcon;
3333c2c66affSColin Finck 	DWORD_PTR dwContextHelpId;
3334c2c66affSColin Finck 	MSGBOXCALLBACK lpfnMsgBoxCallback;
3335c2c66affSColin Finck 	DWORD dwLanguageId;
3336c2c66affSColin Finck } MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
3337c2c66affSColin Finck 
3338c2c66affSColin Finck typedef struct {
3339c2c66affSColin Finck 	UINT cbSize;
3340c2c66affSColin Finck 	HWND hwndOwner;
3341c2c66affSColin Finck 	HINSTANCE hInstance;
3342c2c66affSColin Finck 	LPCWSTR lpszText;
3343c2c66affSColin Finck 	LPCWSTR lpszCaption;
3344c2c66affSColin Finck 	DWORD dwStyle;
3345c2c66affSColin Finck 	LPCWSTR lpszIcon;
3346c2c66affSColin Finck 	DWORD_PTR dwContextHelpId;
3347c2c66affSColin Finck 	MSGBOXCALLBACK lpfnMsgBoxCallback;
3348c2c66affSColin Finck 	DWORD dwLanguageId;
3349c2c66affSColin Finck } MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
3350c2c66affSColin Finck 
3351c2c66affSColin Finck typedef struct tagUSEROBJECTFLAGS {
3352c2c66affSColin Finck 	BOOL fInherit;
3353c2c66affSColin Finck 	BOOL fReserved;
3354c2c66affSColin Finck 	DWORD dwFlags;
3355c2c66affSColin Finck } USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
3356c2c66affSColin Finck 
3357c2c66affSColin Finck typedef struct tagFILTERKEYS {
3358c2c66affSColin Finck 	UINT cbSize;
3359c2c66affSColin Finck 	DWORD dwFlags;
3360c2c66affSColin Finck 	DWORD iWaitMSec;
3361c2c66affSColin Finck 	DWORD iDelayMSec;
3362c2c66affSColin Finck 	DWORD iRepeatMSec;
3363c2c66affSColin Finck 	DWORD iBounceMSec;
3364c2c66affSColin Finck } FILTERKEYS, *LPFILTERKEYS;
3365c2c66affSColin Finck 
3366c2c66affSColin Finck typedef struct tagHIGHCONTRASTA {
3367c2c66affSColin Finck 	UINT cbSize;
3368c2c66affSColin Finck 	DWORD dwFlags;
3369c2c66affSColin Finck 	LPSTR lpszDefaultScheme;
3370c2c66affSColin Finck } HIGHCONTRASTA,*LPHIGHCONTRASTA;
3371c2c66affSColin Finck 
3372c2c66affSColin Finck typedef struct tagHIGHCONTRASTW {
3373c2c66affSColin Finck 	UINT cbSize;
3374c2c66affSColin Finck 	DWORD dwFlags;
3375c2c66affSColin Finck 	LPWSTR lpszDefaultScheme;
3376c2c66affSColin Finck } HIGHCONTRASTW,*LPHIGHCONTRASTW;
3377c2c66affSColin Finck 
3378c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
3379c2c66affSColin Finck typedef struct tagICONMETRICSA {
3380c2c66affSColin Finck 	UINT cbSize;
3381c2c66affSColin Finck 	int iHorzSpacing;
3382c2c66affSColin Finck 	int iVertSpacing;
3383c2c66affSColin Finck 	int iTitleWrap;
3384c2c66affSColin Finck 	LOGFONTA lfFont;
3385c2c66affSColin Finck } ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
3386c2c66affSColin Finck 
3387c2c66affSColin Finck typedef struct tagICONMETRICSW {
3388c2c66affSColin Finck 	UINT cbSize;
3389c2c66affSColin Finck 	int iHorzSpacing;
3390c2c66affSColin Finck 	int iVertSpacing;
3391c2c66affSColin Finck 	int iTitleWrap;
3392c2c66affSColin Finck 	LOGFONTW lfFont;
3393c2c66affSColin Finck } ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
3394c2c66affSColin Finck 
3395c2c66affSColin Finck #ifdef UNICODE
3396c2c66affSColin Finck typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
3397c2c66affSColin Finck #else /* UNICODE */
3398c2c66affSColin Finck typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
3399c2c66affSColin Finck #endif /* UNICODE */
3400c2c66affSColin Finck #endif /*  NOGDI */
3401c2c66affSColin Finck 
3402c2c66affSColin Finck typedef struct tagMINIMIZEDMETRICS {
3403c2c66affSColin Finck 	UINT cbSize;
3404c2c66affSColin Finck 	int iWidth;
3405c2c66affSColin Finck 	int iHorzGap;
3406c2c66affSColin Finck 	int iVertGap;
3407c2c66affSColin Finck 	int iArrange;
3408c2c66affSColin Finck } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
3409c2c66affSColin Finck 
341047e04daeSAmine Khaldi #define WDA_NONE    0x0
341147e04daeSAmine Khaldi #define WDA_MONITOR 0x1
341247e04daeSAmine Khaldi 
3413c2c66affSColin Finck typedef struct tagMOUSEKEYS{
3414c2c66affSColin Finck 	UINT cbSize;
3415c2c66affSColin Finck 	DWORD dwFlags;
3416c2c66affSColin Finck 	DWORD iMaxSpeed;
3417c2c66affSColin Finck 	DWORD iTimeToMaxSpeed;
3418c2c66affSColin Finck 	DWORD iCtrlSpeed;
3419c2c66affSColin Finck 	DWORD dwReserved1;
3420c2c66affSColin Finck 	DWORD dwReserved2;
3421c2c66affSColin Finck } MOUSEKEYS,*LPMOUSEKEYS;
3422c2c66affSColin Finck 
3423c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
3424c2c66affSColin Finck typedef struct tagNONCLIENTMETRICSA {
3425c2c66affSColin Finck 	UINT cbSize;
3426c2c66affSColin Finck 	int iBorderWidth;
3427c2c66affSColin Finck 	int iScrollWidth;
3428c2c66affSColin Finck 	int iScrollHeight;
3429c2c66affSColin Finck 	int iCaptionWidth;
3430c2c66affSColin Finck 	int iCaptionHeight;
3431c2c66affSColin Finck 	LOGFONTA lfCaptionFont;
3432c2c66affSColin Finck 	int iSmCaptionWidth;
3433c2c66affSColin Finck 	int iSmCaptionHeight;
3434c2c66affSColin Finck 	LOGFONTA lfSmCaptionFont;
3435c2c66affSColin Finck 	int iMenuWidth;
3436c2c66affSColin Finck 	int iMenuHeight;
3437c2c66affSColin Finck 	LOGFONTA lfMenuFont;
3438c2c66affSColin Finck 	LOGFONTA lfStatusFont;
3439c2c66affSColin Finck 	LOGFONTA lfMessageFont;
3440c2c66affSColin Finck #if (WINVER >= 0x0600)
3441c2c66affSColin Finck         int iPaddedBorderWidth;
3442c2c66affSColin Finck #endif
3443c2c66affSColin Finck } NONCLIENTMETRICSA, *PNONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
3444c2c66affSColin Finck 
3445c2c66affSColin Finck typedef struct tagNONCLIENTMETRICSW {
3446c2c66affSColin Finck 	UINT cbSize;
3447c2c66affSColin Finck 	int iBorderWidth;
3448c2c66affSColin Finck 	int iScrollWidth;
3449c2c66affSColin Finck 	int iScrollHeight;
3450c2c66affSColin Finck 	int iCaptionWidth;
3451c2c66affSColin Finck 	int iCaptionHeight;
3452c2c66affSColin Finck 	LOGFONTW lfCaptionFont;
3453c2c66affSColin Finck 	int iSmCaptionWidth;
3454c2c66affSColin Finck 	int iSmCaptionHeight;
3455c2c66affSColin Finck 	LOGFONTW lfSmCaptionFont;
3456c2c66affSColin Finck 	int iMenuWidth;
3457c2c66affSColin Finck 	int iMenuHeight;
3458c2c66affSColin Finck 	LOGFONTW lfMenuFont;
3459c2c66affSColin Finck 	LOGFONTW lfStatusFont;
3460c2c66affSColin Finck 	LOGFONTW lfMessageFont;
3461c2c66affSColin Finck #if (WINVER >= 0x0600)
3462c2c66affSColin Finck         int iPaddedBorderWidth;
3463c2c66affSColin Finck #endif
3464c2c66affSColin Finck } NONCLIENTMETRICSW, *PNONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
3465c2c66affSColin Finck 
3466c2c66affSColin Finck #ifdef UNICODE
3467c2c66affSColin Finck typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
3468c2c66affSColin Finck #else /* UNICODE */
3469c2c66affSColin Finck typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
3470c2c66affSColin Finck #endif /* UNICODE */
3471c2c66affSColin Finck #endif
3472c2c66affSColin Finck 
3473c2c66affSColin Finck typedef struct tagSERIALKEYSA {
3474c2c66affSColin Finck 	UINT cbSize;
3475c2c66affSColin Finck 	DWORD dwFlags;
3476c2c66affSColin Finck 	LPSTR lpszActivePort;
3477c2c66affSColin Finck 	LPSTR lpszPort;
3478c2c66affSColin Finck 	UINT iBaudRate;
3479c2c66affSColin Finck 	UINT iPortState;
3480c2c66affSColin Finck 	UINT iActive;
3481c2c66affSColin Finck } SERIALKEYSA,*LPSERIALKEYSA;
3482c2c66affSColin Finck 
3483c2c66affSColin Finck typedef struct tagSERIALKEYSW {
3484c2c66affSColin Finck 	UINT cbSize;
3485c2c66affSColin Finck 	DWORD dwFlags;
3486c2c66affSColin Finck 	LPWSTR lpszActivePort;
3487c2c66affSColin Finck 	LPWSTR lpszPort;
3488c2c66affSColin Finck 	UINT iBaudRate;
3489c2c66affSColin Finck 	UINT iPortState;
3490c2c66affSColin Finck 	UINT iActive;
3491c2c66affSColin Finck } SERIALKEYSW,*LPSERIALKEYSW;
3492c2c66affSColin Finck 
3493c2c66affSColin Finck typedef struct tagSOUNDSENTRYA {
3494c2c66affSColin Finck 	UINT cbSize;
3495c2c66affSColin Finck 	DWORD dwFlags;
3496c2c66affSColin Finck 	DWORD iFSTextEffect;
3497c2c66affSColin Finck 	DWORD iFSTextEffectMSec;
3498c2c66affSColin Finck 	DWORD iFSTextEffectColorBits;
3499c2c66affSColin Finck 	DWORD iFSGrafEffect;
3500c2c66affSColin Finck 	DWORD iFSGrafEffectMSec;
3501c2c66affSColin Finck 	DWORD iFSGrafEffectColor;
3502c2c66affSColin Finck 	DWORD iWindowsEffect;
3503c2c66affSColin Finck 	DWORD iWindowsEffectMSec;
3504c2c66affSColin Finck 	LPSTR lpszWindowsEffectDLL;
3505c2c66affSColin Finck 	DWORD iWindowsEffectOrdinal;
3506c2c66affSColin Finck } SOUNDSENTRYA,*LPSOUNDSENTRYA;
3507c2c66affSColin Finck 
3508c2c66affSColin Finck typedef struct tagSOUNDSENTRYW {
3509c2c66affSColin Finck 	UINT cbSize;
3510c2c66affSColin Finck 	DWORD dwFlags;
3511c2c66affSColin Finck 	DWORD iFSTextEffect;
3512c2c66affSColin Finck 	DWORD iFSTextEffectMSec;
3513c2c66affSColin Finck 	DWORD iFSTextEffectColorBits;
3514c2c66affSColin Finck 	DWORD iFSGrafEffect;
3515c2c66affSColin Finck 	DWORD iFSGrafEffectMSec;
3516c2c66affSColin Finck 	DWORD iFSGrafEffectColor;
3517c2c66affSColin Finck 	DWORD iWindowsEffect;
3518c2c66affSColin Finck 	DWORD iWindowsEffectMSec;
3519c2c66affSColin Finck 	LPWSTR lpszWindowsEffectDLL;
3520c2c66affSColin Finck 	DWORD iWindowsEffectOrdinal;
3521c2c66affSColin Finck } SOUNDSENTRYW,*LPSOUNDSENTRYW;
3522c2c66affSColin Finck 
3523420c0360SDenis Malikov #if (_WIN32_WINNT >= 0x0600)
3524420c0360SDenis Malikov typedef struct tagAUDIODESCRIPTION {
3525420c0360SDenis Malikov 	UINT cbSize;
3526420c0360SDenis Malikov 	BOOL Enabled;
3527420c0360SDenis Malikov 	LCID Locale;
3528420c0360SDenis Malikov } AUDIODESCRIPTION, *LPAUDIODESCRIPTION;
3529420c0360SDenis Malikov #endif
3530420c0360SDenis Malikov 
3531c2c66affSColin Finck typedef struct tagSTICKYKEYS {
3532c2c66affSColin Finck 	DWORD cbSize;
3533c2c66affSColin Finck 	DWORD dwFlags;
3534c2c66affSColin Finck } STICKYKEYS,*LPSTICKYKEYS;
3535c2c66affSColin Finck 
3536c2c66affSColin Finck typedef struct tagTOGGLEKEYS {
3537c2c66affSColin Finck 	DWORD cbSize;
3538c2c66affSColin Finck 	DWORD dwFlags;
3539c2c66affSColin Finck } TOGGLEKEYS, *LPTOGGLEKEYS;
3540c2c66affSColin Finck 
3541c2c66affSColin Finck typedef struct tagMOUSEHOOKSTRUCT {
3542c2c66affSColin Finck 	POINT pt;
3543c2c66affSColin Finck 	HWND hwnd;
3544c2c66affSColin Finck 	UINT wHitTestCode;
3545c2c66affSColin Finck 	ULONG_PTR dwExtraInfo;
3546c2c66affSColin Finck } MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
3547c2c66affSColin Finck 
3548c2c66affSColin Finck typedef struct tagHARDWAREHOOKSTRUCT {
3549c2c66affSColin Finck     HWND    hwnd;
3550c2c66affSColin Finck     UINT    message;
3551c2c66affSColin Finck     WPARAM  wParam;
3552c2c66affSColin Finck     LPARAM  lParam;
3553c2c66affSColin Finck } HARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
3554c2c66affSColin Finck 
3555c2c66affSColin Finck #if ( _WIN32_WINNT >= 0x0500 )
3556c2c66affSColin Finck #ifdef __cplusplus
3557c2c66affSColin Finck typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT
3558c2c66affSColin Finck {
3559c2c66affSColin Finck         DWORD   mouseData;
3560c2c66affSColin Finck } MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;
3561c2c66affSColin Finck #else
3562c2c66affSColin Finck typedef struct tagMOUSEHOOKSTRUCTEX
3563c2c66affSColin Finck {
3564c2c66affSColin Finck         MOUSEHOOKSTRUCT MOUSEHOOKSTRUCT;
3565c2c66affSColin Finck         DWORD   mouseData;
3566c2c66affSColin Finck } MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;
3567c2c66affSColin Finck #endif
3568c2c66affSColin Finck #endif
3569c2c66affSColin Finck 
3570c2c66affSColin Finck typedef struct tagTRACKMOUSEEVENT {
3571c2c66affSColin Finck 	DWORD cbSize;
3572c2c66affSColin Finck 	DWORD dwFlags;
3573c2c66affSColin Finck 	HWND  hwndTrack;
3574c2c66affSColin Finck 	DWORD dwHoverTime;
3575c2c66affSColin Finck } TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
3576c2c66affSColin Finck 
3577c2c66affSColin Finck typedef struct tagTPMPARAMS {
3578c2c66affSColin Finck 	UINT cbSize;
3579c2c66affSColin Finck 	RECT rcExclude;
3580c2c66affSColin Finck } TPMPARAMS,*LPTPMPARAMS;
3581c2c66affSColin Finck 
3582c2c66affSColin Finck typedef struct tagEVENTMSG {
3583c2c66affSColin Finck 	UINT message;
3584c2c66affSColin Finck 	UINT paramL;
3585c2c66affSColin Finck 	UINT paramH;
3586c2c66affSColin Finck 	DWORD time;
3587c2c66affSColin Finck 	HWND hwnd;
3588c2c66affSColin Finck } EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG,*PEVENTMSG,*LPEVENTMSG;
3589c2c66affSColin Finck 
3590c2c66affSColin Finck typedef struct _WINDOWPOS {
3591c2c66affSColin Finck 	HWND hwnd;
3592c2c66affSColin Finck 	HWND hwndInsertAfter;
3593c2c66affSColin Finck 	int x;
3594c2c66affSColin Finck 	int y;
3595c2c66affSColin Finck 	int cx;
3596c2c66affSColin Finck 	int cy;
3597c2c66affSColin Finck 	UINT flags;
3598c2c66affSColin Finck } WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
3599c2c66affSColin Finck 
3600c2c66affSColin Finck typedef struct tagNCCALCSIZE_PARAMS {
3601c2c66affSColin Finck 	RECT rgrc[3];
3602c2c66affSColin Finck 	PWINDOWPOS lppos;
3603c2c66affSColin Finck } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
3604c2c66affSColin Finck 
3605c2c66affSColin Finck typedef struct tagMDICREATESTRUCTA {
3606c2c66affSColin Finck 	LPCSTR szClass;
3607c2c66affSColin Finck 	LPCSTR szTitle;
3608c2c66affSColin Finck 	HANDLE hOwner;
3609c2c66affSColin Finck 	int x;
3610c2c66affSColin Finck 	int y;
3611c2c66affSColin Finck 	int cx;
3612c2c66affSColin Finck 	int cy;
3613c2c66affSColin Finck 	DWORD style;
3614c2c66affSColin Finck 	LPARAM lParam;
3615c2c66affSColin Finck } MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
3616c2c66affSColin Finck 
3617c2c66affSColin Finck typedef struct tagMDICREATESTRUCTW {
3618c2c66affSColin Finck 	LPCWSTR szClass;
3619c2c66affSColin Finck 	LPCWSTR szTitle;
3620c2c66affSColin Finck 	HANDLE hOwner;
3621c2c66affSColin Finck 	int x;
3622c2c66affSColin Finck 	int y;
3623c2c66affSColin Finck 	int cx;
3624c2c66affSColin Finck 	int cy;
3625c2c66affSColin Finck 	DWORD style;
3626c2c66affSColin Finck 	LPARAM lParam;
3627c2c66affSColin Finck } MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
3628c2c66affSColin Finck 
3629c2c66affSColin Finck typedef struct tagMINMAXINFO {
3630c2c66affSColin Finck 	POINT ptReserved;
3631c2c66affSColin Finck 	POINT ptMaxSize;
3632c2c66affSColin Finck 	POINT ptMaxPosition;
3633c2c66affSColin Finck 	POINT ptMinTrackSize;
3634c2c66affSColin Finck 	POINT ptMaxTrackSize;
3635c2c66affSColin Finck } MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
3636c2c66affSColin Finck 
3637c2c66affSColin Finck typedef struct tagMDINEXTMENU {
3638c2c66affSColin Finck 	HMENU hmenuIn;
3639c2c66affSColin Finck 	HMENU hmenuNext;
3640c2c66affSColin Finck 	HWND hwndNext;
3641c2c66affSColin Finck } MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
3642c2c66affSColin Finck 
3643c2c66affSColin Finck typedef struct tagMEASUREITEMSTRUCT {
3644c2c66affSColin Finck 	UINT CtlType;
3645c2c66affSColin Finck 	UINT CtlID;
3646c2c66affSColin Finck 	UINT itemID;
3647c2c66affSColin Finck 	UINT itemWidth;
3648c2c66affSColin Finck 	UINT itemHeight;
3649c2c66affSColin Finck 	ULONG_PTR itemData;
3650c2c66affSColin Finck } MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
3651c2c66affSColin Finck 
3652c2c66affSColin Finck typedef struct tagDROPSTRUCT {
3653c2c66affSColin Finck 	HWND hwndSource;
3654c2c66affSColin Finck 	HWND hwndSink;
3655c2c66affSColin Finck 	DWORD wFmt;
3656c2c66affSColin Finck 	ULONG_PTR dwData;
3657c2c66affSColin Finck 	POINT ptDrop;
3658c2c66affSColin Finck 	DWORD dwControlData;
3659c2c66affSColin Finck } DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
3660c2c66affSColin Finck 
3661c2c66affSColin Finck typedef DWORD HELPPOLY;
3662c2c66affSColin Finck typedef struct tagMULTIKEYHELPA {
3663c2c66affSColin Finck 	DWORD mkSize;
3664c2c66affSColin Finck 	CHAR mkKeylist;
3665c2c66affSColin Finck 	CHAR szKeyphrase[1];
3666c2c66affSColin Finck } MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
3667c2c66affSColin Finck 
3668c2c66affSColin Finck typedef struct tagMULTIKEYHELPW {
3669c2c66affSColin Finck 	DWORD mkSize;
3670c2c66affSColin Finck 	WCHAR mkKeylist;
3671c2c66affSColin Finck 	WCHAR szKeyphrase[1];
3672c2c66affSColin Finck } MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
3673c2c66affSColin Finck 
3674c2c66affSColin Finck typedef struct tagHELPWININFOA {
3675c2c66affSColin Finck 	int wStructSize;
3676c2c66affSColin Finck 	int x;
3677c2c66affSColin Finck 	int y;
3678c2c66affSColin Finck 	int dx;
3679c2c66affSColin Finck 	int dy;
3680c2c66affSColin Finck 	int wMax;
3681c2c66affSColin Finck 	CHAR rgchMember[2];
3682c2c66affSColin Finck } HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
3683c2c66affSColin Finck 
3684c2c66affSColin Finck typedef struct tagHELPWININFOW {
3685c2c66affSColin Finck 	int wStructSize;
3686c2c66affSColin Finck 	int x;
3687c2c66affSColin Finck 	int y;
3688c2c66affSColin Finck 	int dx;
3689c2c66affSColin Finck 	int dy;
3690c2c66affSColin Finck 	int wMax;
3691c2c66affSColin Finck 	WCHAR rgchMember[2];
3692c2c66affSColin Finck } HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
3693c2c66affSColin Finck 
3694c2c66affSColin Finck typedef struct tagSTYLESTRUCT {
3695c2c66affSColin Finck 	DWORD styleOld;
3696c2c66affSColin Finck 	DWORD styleNew;
3697c2c66affSColin Finck } STYLESTRUCT,*LPSTYLESTRUCT;
3698c2c66affSColin Finck 
3699c2c66affSColin Finck typedef struct tagALTTABINFO {
3700c2c66affSColin Finck 	DWORD cbSize;
3701c2c66affSColin Finck 	int   cItems;
3702c2c66affSColin Finck 	int   cColumns;
3703c2c66affSColin Finck 	int   cRows;
3704c2c66affSColin Finck 	int   iColFocus;
3705c2c66affSColin Finck 	int   iRowFocus;
3706c2c66affSColin Finck 	int   cxItem;
3707c2c66affSColin Finck 	int   cyItem;
3708c2c66affSColin Finck 	POINT ptStart;
3709c2c66affSColin Finck } ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
3710c2c66affSColin Finck 
3711c2c66affSColin Finck typedef struct tagCOMBOBOXINFO {
3712c2c66affSColin Finck 	DWORD cbSize;
3713c2c66affSColin Finck 	RECT rcItem;
3714c2c66affSColin Finck 	RECT rcButton;
3715c2c66affSColin Finck 	DWORD stateButton;
3716c2c66affSColin Finck 	HWND hwndCombo;
3717c2c66affSColin Finck 	HWND hwndItem;
3718c2c66affSColin Finck 	HWND hwndList;
3719c2c66affSColin Finck } COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
3720c2c66affSColin Finck 
3721c2c66affSColin Finck typedef struct tagCURSORINFO {
3722c2c66affSColin Finck 	DWORD cbSize;
3723c2c66affSColin Finck 	DWORD flags;
3724c2c66affSColin Finck 	HCURSOR hCursor;
3725c2c66affSColin Finck 	POINT ptScreenPos;
3726c2c66affSColin Finck } CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
3727c2c66affSColin Finck 
3728c2c66affSColin Finck typedef struct tagMENUBARINFO {
3729c2c66affSColin Finck 	DWORD cbSize;
3730c2c66affSColin Finck 	RECT  rcBar;
3731c2c66affSColin Finck 	HMENU hMenu;
3732c2c66affSColin Finck 	HWND  hwndMenu;
3733c2c66affSColin Finck 	BOOL  fBarFocused:1;
3734c2c66affSColin Finck 	BOOL  fFocused:1;
3735c2c66affSColin Finck } MENUBARINFO,*PMENUBARINFO;
3736c2c66affSColin Finck 
3737c2c66affSColin Finck typedef struct tagMENUINFO {
3738c2c66affSColin Finck 	DWORD cbSize;
3739c2c66affSColin Finck 	DWORD fMask;
3740c2c66affSColin Finck 	DWORD dwStyle;
3741c2c66affSColin Finck 	UINT cyMax;
3742c2c66affSColin Finck 	HBRUSH  hbrBack;
3743c2c66affSColin Finck 	DWORD   dwContextHelpID;
3744c2c66affSColin Finck 	ULONG_PTR dwMenuData;
3745c2c66affSColin Finck } MENUINFO,*LPMENUINFO;
3746c2c66affSColin Finck 
3747c2c66affSColin Finck typedef MENUINFO CONST *LPCMENUINFO;
3748c2c66affSColin Finck #define CCHILDREN_SCROLLBAR 5
3749c2c66affSColin Finck 
3750c2c66affSColin Finck typedef struct tagSCROLLBARINFO {
3751c2c66affSColin Finck 	DWORD cbSize;
3752c2c66affSColin Finck 	RECT  rcScrollBar;
3753c2c66affSColin Finck 	int   dxyLineButton;
3754c2c66affSColin Finck 	int   xyThumbTop;
3755c2c66affSColin Finck 	int   xyThumbBottom;
3756c2c66affSColin Finck 	int   reserved;
3757c2c66affSColin Finck 	DWORD rgstate[CCHILDREN_SCROLLBAR+1];
3758c2c66affSColin Finck } SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
3759c2c66affSColin Finck 
3760c2c66affSColin Finck #define CCHILDREN_TITLEBAR 5
3761c2c66affSColin Finck 
3762c2c66affSColin Finck typedef struct tagTITLEBARINFO {
3763c2c66affSColin Finck 	DWORD cbSize;
3764c2c66affSColin Finck 	RECT  rcTitleBar;
3765c2c66affSColin Finck 	DWORD rgstate[CCHILDREN_TITLEBAR+1];
3766c2c66affSColin Finck } TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
3767c2c66affSColin Finck 
3768c2c66affSColin Finck typedef struct tagWINDOWINFO {
3769c2c66affSColin Finck 	DWORD cbSize;
3770c2c66affSColin Finck 	RECT  rcWindow;
3771c2c66affSColin Finck 	RECT  rcClient;
3772c2c66affSColin Finck 	DWORD dwStyle;
3773c2c66affSColin Finck 	DWORD dwExStyle;
3774c2c66affSColin Finck 	DWORD dwWindowStatus;
3775c2c66affSColin Finck 	UINT  cxWindowBorders;
3776c2c66affSColin Finck 	UINT  cyWindowBorders;
3777c2c66affSColin Finck 	ATOM  atomWindowType;
3778c2c66affSColin Finck 	WORD  wCreatorVersion;
3779c2c66affSColin Finck } WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
3780c2c66affSColin Finck 
3781c2c66affSColin Finck typedef struct tagLASTINPUTINFO {
3782c2c66affSColin Finck 	UINT cbSize;
3783c2c66affSColin Finck 	DWORD dwTime;
3784c2c66affSColin Finck } LASTINPUTINFO,*PLASTINPUTINFO;
3785c2c66affSColin Finck 
3786c2c66affSColin Finck typedef struct tagMONITORINFO {
3787c2c66affSColin Finck 	DWORD cbSize;
3788c2c66affSColin Finck 	RECT rcMonitor;
3789c2c66affSColin Finck 	RECT rcWork;
3790c2c66affSColin Finck 	DWORD dwFlags;
3791c2c66affSColin Finck } MONITORINFO,*LPMONITORINFO;
3792c2c66affSColin Finck 
3793c2c66affSColin Finck #define CCHDEVICENAME 32
3794c2c66affSColin Finck typedef struct tagMONITORINFOEXA {
3795c2c66affSColin Finck 	DWORD	cbSize;
3796c2c66affSColin Finck 	RECT	rcMonitor;
3797c2c66affSColin Finck 	RECT	rcWork;
3798c2c66affSColin Finck 	DWORD	dwFlags;
3799c2c66affSColin Finck 	CHAR	szDevice[CCHDEVICENAME];
3800c2c66affSColin Finck } MONITORINFOEXA,*LPMONITORINFOEXA;
3801c2c66affSColin Finck 
3802c2c66affSColin Finck typedef struct tagMONITORINFOEXW {
3803c2c66affSColin Finck 	DWORD	cbSize;
3804c2c66affSColin Finck 	RECT	rcMonitor;
3805c2c66affSColin Finck 	RECT	rcWork;
3806c2c66affSColin Finck 	DWORD	dwFlags;
3807c2c66affSColin Finck 	WCHAR	szDevice[CCHDEVICENAME];
3808c2c66affSColin Finck } MONITORINFOEXW,*LPMONITORINFOEXW;
3809c2c66affSColin Finck 
3810c2c66affSColin Finck typedef struct tagKBDLLHOOKSTRUCT {
3811c2c66affSColin Finck 	DWORD vkCode;
3812c2c66affSColin Finck 	DWORD scanCode;
3813c2c66affSColin Finck 	DWORD flags;
3814c2c66affSColin Finck 	DWORD time;
3815c2c66affSColin Finck 	ULONG_PTR dwExtraInfo;
3816c2c66affSColin Finck } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
3817c2c66affSColin Finck 
3818c2c66affSColin Finck typedef struct tagMSLLHOOKSTRUCT
3819c2c66affSColin Finck {
3820c2c66affSColin Finck 	POINT pt;
3821c2c66affSColin Finck 	DWORD mouseData;
3822c2c66affSColin Finck 	DWORD flags;
3823c2c66affSColin Finck 	DWORD time;
3824c2c66affSColin Finck 	ULONG_PTR dwExtraInfo;
3825c2c66affSColin Finck } MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
3826c2c66affSColin Finck 
3827c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
3828c2c66affSColin Finck typedef struct {
3829c2c66affSColin Finck   UINT  cbSize;
3830c2c66affSColin Finck   HWND  hwnd;
3831c2c66affSColin Finck   DWORD dwFlags;
3832c2c66affSColin Finck   UINT  uCount;
3833c2c66affSColin Finck   DWORD dwTimeout;
3834c2c66affSColin Finck } FLASHWINFO,*PFLASHWINFO;
3835c2c66affSColin Finck #endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
3836c2c66affSColin Finck 
3837c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
3838c2c66affSColin Finck typedef struct tagMOUSEMOVEPOINT {
3839c2c66affSColin Finck   int x;
3840c2c66affSColin Finck   int y;
3841c2c66affSColin Finck   DWORD time;
3842c2c66affSColin Finck   ULONG_PTR dwExtraInfo;
3843c2c66affSColin Finck } MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
3844c2c66affSColin Finck #endif
3845c2c66affSColin Finck 
3846c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
3847c2c66affSColin Finck typedef struct tagMOUSEINPUT {
3848c2c66affSColin Finck   LONG dx;
3849c2c66affSColin Finck   LONG dy;
3850c2c66affSColin Finck   DWORD mouseData;
3851c2c66affSColin Finck   DWORD dwFlags;
3852c2c66affSColin Finck   DWORD time;
3853c2c66affSColin Finck   ULONG_PTR dwExtraInfo;
3854c2c66affSColin Finck } MOUSEINPUT,*PMOUSEINPUT, *LPMOUSEINPUT;
3855c2c66affSColin Finck 
3856c2c66affSColin Finck typedef struct tagKEYBDINPUT {
3857c2c66affSColin Finck   WORD wVk;
3858c2c66affSColin Finck   WORD wScan;
3859c2c66affSColin Finck   DWORD dwFlags;
3860c2c66affSColin Finck   DWORD time;
3861c2c66affSColin Finck   ULONG_PTR dwExtraInfo;
3862c2c66affSColin Finck } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
3863c2c66affSColin Finck 
3864c2c66affSColin Finck typedef struct tagHARDWAREINPUT {
3865c2c66affSColin Finck   DWORD uMsg;
3866c2c66affSColin Finck   WORD wParamL;
3867c2c66affSColin Finck   WORD wParamH;
3868c2c66affSColin Finck } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;
3869c2c66affSColin Finck 
3870c2c66affSColin Finck typedef struct tagINPUT {
3871c2c66affSColin Finck   DWORD type;
3872c2c66affSColin Finck   _ANONYMOUS_UNION union {
3873c2c66affSColin Finck 		MOUSEINPUT mi;
3874c2c66affSColin Finck 		KEYBDINPUT ki;
3875c2c66affSColin Finck 		HARDWAREINPUT hi;
3876c2c66affSColin Finck   } DUMMYUNIONNAME;
3877c2c66affSColin Finck } INPUT,*PINPUT,*LPINPUT;
3878c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0400) */
3879c2c66affSColin Finck 
3880c2c66affSColin Finck #if (WINVER >= 0x0500)
3881c2c66affSColin Finck typedef struct tagGUITHREADINFO {
3882c2c66affSColin Finck 	DWORD cbSize;
3883c2c66affSColin Finck 	DWORD flags;
3884c2c66affSColin Finck 	HWND hwndActive;
3885c2c66affSColin Finck 	HWND hwndFocus;
3886c2c66affSColin Finck 	HWND hwndCapture;
3887c2c66affSColin Finck 	HWND hwndMenuOwner;
3888c2c66affSColin Finck 	HWND hwndMoveSize;
3889c2c66affSColin Finck 	HWND hwndCaret;
3890c2c66affSColin Finck 	RECT rcCaret;
3891c2c66affSColin Finck } GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
3892c2c66affSColin Finck 
3893c2c66affSColin Finck typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
3894c2c66affSColin Finck #endif /* (WINVER >= 0x0500) */
3895c2c66affSColin Finck 
3896c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
3897c2c66affSColin Finck typedef struct {
3898c2c66affSColin Finck 	UINT  cbSize;
3899c2c66affSColin Finck 	HDESK hdesk;
3900c2c66affSColin Finck 	HWND  hwnd;
3901c2c66affSColin Finck 	LUID  luid;
3902c2c66affSColin Finck } BSMINFO,*PBSMINFO;
3903c2c66affSColin Finck DECLARE_HANDLE(HRAWINPUT);
3904c2c66affSColin Finck 
3905c2c66affSColin Finck typedef struct tagRAWINPUTHEADER {
3906c2c66affSColin Finck 	DWORD dwType;
3907c2c66affSColin Finck 	DWORD dwSize;
3908c2c66affSColin Finck 	HANDLE hDevice;
3909c2c66affSColin Finck 	WPARAM wParam;
3910c2c66affSColin Finck } RAWINPUTHEADER,*PRAWINPUTHEADER;
3911c2c66affSColin Finck 
3912c2c66affSColin Finck typedef struct tagRAWMOUSE {
3913c2c66affSColin Finck 	USHORT usFlags;
3914c2c66affSColin Finck 	_ANONYMOUS_UNION union {
3915c2c66affSColin Finck 		ULONG ulButtons;
3916c2c66affSColin Finck 		_ANONYMOUS_STRUCT struct {
3917c2c66affSColin Finck 			USHORT usButtonFlags;
3918c2c66affSColin Finck 			USHORT usButtonData;
3919c2c66affSColin Finck 		};
3920c2c66affSColin Finck 	};
3921c2c66affSColin Finck 	ULONG ulRawButtons;
3922c2c66affSColin Finck 	LONG lLastX;
3923c2c66affSColin Finck 	LONG lLastY;
3924c2c66affSColin Finck 	ULONG ulExtraInformation;
3925c2c66affSColin Finck } RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
3926c2c66affSColin Finck 
3927c2c66affSColin Finck typedef struct tagRAWKEYBOARD {
3928c2c66affSColin Finck 	USHORT MakeCode;
3929c2c66affSColin Finck 	USHORT Flags;
3930c2c66affSColin Finck 	USHORT Reserved;
3931c2c66affSColin Finck 	USHORT VKey;
3932c2c66affSColin Finck 	UINT Message;
3933c2c66affSColin Finck 	ULONG ExtraInformation;
3934c2c66affSColin Finck } RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
3935c2c66affSColin Finck 
3936c2c66affSColin Finck typedef struct tagRAWHID {
3937c2c66affSColin Finck 	DWORD dwSizeHid;
3938c2c66affSColin Finck 	DWORD dwCount;
3939c2c66affSColin Finck 	BYTE bRawData;
3940c2c66affSColin Finck } RAWHID,*PRAWHID,*LPRAWHID;
3941c2c66affSColin Finck 
3942c2c66affSColin Finck typedef struct tagRAWINPUT {
3943c2c66affSColin Finck 	RAWINPUTHEADER header;
3944c2c66affSColin Finck 	union {
3945c2c66affSColin Finck 		RAWMOUSE    mouse;
3946c2c66affSColin Finck 		RAWKEYBOARD keyboard;
3947c2c66affSColin Finck 		RAWHID      hid;
3948c2c66affSColin Finck 	} data;
3949c2c66affSColin Finck } RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
3950c2c66affSColin Finck 
3951c2c66affSColin Finck typedef struct tagRAWINPUTDEVICE {
3952c2c66affSColin Finck 	USHORT usUsagePage;
3953c2c66affSColin Finck 	USHORT usUsage;
3954c2c66affSColin Finck 	DWORD dwFlags;
3955c2c66affSColin Finck 	HWND hwndTarget;
3956c2c66affSColin Finck } RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
3957c2c66affSColin Finck 
3958c2c66affSColin Finck typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
3959c2c66affSColin Finck 
3960c2c66affSColin Finck typedef struct tagRAWINPUTDEVICELIST {
3961c2c66affSColin Finck 	HANDLE hDevice;
3962c2c66affSColin Finck 	DWORD dwType;
3963c2c66affSColin Finck } RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
396487801a65SAmine Khaldi 
396587801a65SAmine Khaldi typedef struct tagRID_DEVICE_INFO_MOUSE {
396687801a65SAmine Khaldi   DWORD dwId;
396787801a65SAmine Khaldi   DWORD dwNumberOfButtons;
396887801a65SAmine Khaldi   DWORD dwSampleRate;
396987801a65SAmine Khaldi   BOOL fHasHorizontalWheel;
397087801a65SAmine Khaldi } RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
397187801a65SAmine Khaldi 
397287801a65SAmine Khaldi typedef struct tagRID_DEVICE_INFO_KEYBOARD {
397387801a65SAmine Khaldi   DWORD dwType;
397487801a65SAmine Khaldi   DWORD dwSubType;
397587801a65SAmine Khaldi   DWORD dwKeyboardMode;
397687801a65SAmine Khaldi   DWORD dwNumberOfFunctionKeys;
397787801a65SAmine Khaldi   DWORD dwNumberOfIndicators;
397887801a65SAmine Khaldi   DWORD dwNumberOfKeysTotal;
397987801a65SAmine Khaldi } RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
398087801a65SAmine Khaldi 
398187801a65SAmine Khaldi typedef struct tagRID_DEVICE_INFO_HID {
398287801a65SAmine Khaldi   DWORD dwVendorId;
398387801a65SAmine Khaldi   DWORD dwProductId;
398487801a65SAmine Khaldi   DWORD dwVersionNumber;
398587801a65SAmine Khaldi   USHORT usUsagePage;
398687801a65SAmine Khaldi   USHORT usUsage;
398787801a65SAmine Khaldi } RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
398887801a65SAmine Khaldi 
398987801a65SAmine Khaldi typedef struct tagRID_DEVICE_INFO {
399087801a65SAmine Khaldi   DWORD cbSize;
399187801a65SAmine Khaldi   DWORD dwType;
399287801a65SAmine Khaldi   union {
399387801a65SAmine Khaldi     RID_DEVICE_INFO_MOUSE mouse;
399487801a65SAmine Khaldi     RID_DEVICE_INFO_KEYBOARD keyboard;
399587801a65SAmine Khaldi     RID_DEVICE_INFO_HID hid;
399687801a65SAmine Khaldi   } DUMMYUNIONNAME;
399787801a65SAmine Khaldi } RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
399887801a65SAmine Khaldi 
3999c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0501) */
4000c2c66affSColin Finck 
4001c2c66affSColin Finck #define AnsiToOem CharToOemA
4002c2c66affSColin Finck #define OemToAnsi OemToCharA
4003c2c66affSColin Finck #define AnsiToOemBuff CharToOemBuffA
4004c2c66affSColin Finck #define OemToAnsiBuff OemToCharBuffA
4005c2c66affSColin Finck #define AnsiUpper CharUpperA
4006c2c66affSColin Finck #define AnsiUpperBuff CharUpperBuffA
4007c2c66affSColin Finck #define AnsiLower CharLowerA
4008c2c66affSColin Finck #define AnsiLowerBuff CharLowerBuffA
4009c2c66affSColin Finck #define AnsiNext CharNextA
4010c2c66affSColin Finck #define AnsiPrev CharPrevA
4011c2c66affSColin Finck #define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h))
4012c2c66affSColin Finck #define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h))
4013c2c66affSColin Finck #define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h))
4014c2c66affSColin Finck #define POINTSTOPOINT(p,ps) { \
4015c2c66affSColin Finck   (p).x=LOWORD(*(DWORD *)&ps); \
4016c2c66affSColin Finck   (p).y=HIWORD(*(DWORD *)&ps); \
4017c2c66affSColin Finck }
4018c2c66affSColin Finck #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y))
4019c2c66affSColin Finck 
402087801a65SAmine Khaldi #if (WINVER >= 0x0601)
402187801a65SAmine Khaldi 
402287801a65SAmine Khaldi typedef enum tagINPUT_MESSAGE_DEVICE_TYPE {
402387801a65SAmine Khaldi   IMDT_UNAVAILABLE = 0x00,
402487801a65SAmine Khaldi   IMDT_KEYBOARD = 0x01,
402587801a65SAmine Khaldi   IMDT_MOUSE = 0x02,
402687801a65SAmine Khaldi   IMDT_TOUCH = 0x04,
402787801a65SAmine Khaldi   IMDT_PEN = 0x08,
402887801a65SAmine Khaldi   IMDT_TOUCHPAD = 0x10
402987801a65SAmine Khaldi } INPUT_MESSAGE_DEVICE_TYPE;
403087801a65SAmine Khaldi 
403187801a65SAmine Khaldi typedef enum tagINPUT_MESSAGE_ORIGIN_ID {
403287801a65SAmine Khaldi   IMO_UNAVAILABLE = 0x00,
403387801a65SAmine Khaldi   IMO_HARDWARE = 0x01,
403487801a65SAmine Khaldi   IMO_INJECTED = 0x02,
403587801a65SAmine Khaldi   IMO_SYSTEM = 0x04
403687801a65SAmine Khaldi } INPUT_MESSAGE_ORIGIN_ID;
403787801a65SAmine Khaldi 
403887801a65SAmine Khaldi typedef struct tagINPUT_MESSAGE_SOURCE {
403987801a65SAmine Khaldi   INPUT_MESSAGE_DEVICE_TYPE deviceType;
404087801a65SAmine Khaldi   INPUT_MESSAGE_ORIGIN_ID originId;
404187801a65SAmine Khaldi } INPUT_MESSAGE_SOURCE;
404287801a65SAmine Khaldi 
404387801a65SAmine Khaldi #endif /* WINVER >= 0x0601 */
404487801a65SAmine Khaldi 
404587801a65SAmine Khaldi #if(WINVER >= 0x0602)
404687801a65SAmine Khaldi 
404787801a65SAmine Khaldi enum tagPOINTER_INPUT_TYPE {
404887801a65SAmine Khaldi   PT_POINTER = 1,
404987801a65SAmine Khaldi   PT_TOUCH,
405087801a65SAmine Khaldi   PT_PEN,
405187801a65SAmine Khaldi   PT_MOUSE,
405287801a65SAmine Khaldi   PT_TOUCHPAD
405387801a65SAmine Khaldi };
405487801a65SAmine Khaldi typedef DWORD POINTER_INPUT_TYPE;
405587801a65SAmine Khaldi 
405687801a65SAmine Khaldi #endif /* WINVER >= 0x0602 */
405787801a65SAmine Khaldi 
4058c2c66affSColin Finck HKL WINAPI ActivateKeyboardLayout(_In_ HKL, _In_ UINT);
4059c2c66affSColin Finck BOOL WINAPI AdjustWindowRect(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL);
4060c2c66affSColin Finck BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD);
4061c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
4062c2c66affSColin Finck BOOL WINAPI AnimateWindow(_In_ HWND, _In_ DWORD, _In_ DWORD);
4063c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
4064c2c66affSColin Finck BOOL WINAPI AnyPopup(void);
4065c2c66affSColin Finck BOOL WINAPI AppendMenuA(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCSTR);
4066c2c66affSColin Finck BOOL WINAPI AppendMenuW(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR);
4067c2c66affSColin Finck UINT WINAPI ArrangeIconicWindows(_In_ HWND);
4068c2c66affSColin Finck BOOL WINAPI AttachThreadInput(_In_ DWORD, _In_ DWORD, _In_ BOOL);
4069c2c66affSColin Finck HDWP WINAPI BeginDeferWindowPos(_In_ int);
4070c2c66affSColin Finck HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT);
4071c2c66affSColin Finck BOOL WINAPI BringWindowToTop(_In_ HWND);
4072c2c66affSColin Finck long WINAPI BroadcastSystemMessage(_In_ DWORD, _Inout_opt_ LPDWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4073c2c66affSColin Finck 
4074c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0400)
4075c2c66affSColin Finck 
4076c2c66affSColin Finck LONG
4077c2c66affSColin Finck WINAPI
4078c2c66affSColin Finck BroadcastSystemMessageA(
4079c2c66affSColin Finck   _In_ DWORD flags,
4080c2c66affSColin Finck   _Inout_opt_ LPDWORD lpInfo,
4081c2c66affSColin Finck   _In_ UINT Msg,
4082c2c66affSColin Finck   _In_ WPARAM wParam,
4083c2c66affSColin Finck   _In_ LPARAM lParam);
4084c2c66affSColin Finck 
4085c2c66affSColin Finck LONG
4086c2c66affSColin Finck WINAPI
4087c2c66affSColin Finck BroadcastSystemMessageW(
4088c2c66affSColin Finck   _In_ DWORD flags,
4089c2c66affSColin Finck   _Inout_opt_ LPDWORD lpInfo,
4090c2c66affSColin Finck   _In_ UINT Msg,
4091c2c66affSColin Finck   _In_ WPARAM wParam,
4092c2c66affSColin Finck   _In_ LPARAM lParam);
4093c2c66affSColin Finck 
4094c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0400) */
4095c2c66affSColin Finck 
4096c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
4097c2c66affSColin Finck 
4098c2c66affSColin Finck LONG
4099c2c66affSColin Finck WINAPI
4100c2c66affSColin Finck BroadcastSystemMessageExA(
4101c2c66affSColin Finck   _In_ DWORD flags,
4102c2c66affSColin Finck   _Inout_opt_ LPDWORD lpInfo,
4103c2c66affSColin Finck   _In_ UINT Msg,
4104c2c66affSColin Finck   _In_ WPARAM wParam,
4105c2c66affSColin Finck   _In_ LPARAM lParam,
4106c2c66affSColin Finck   _Out_opt_ PBSMINFO pbsmInfo);
4107c2c66affSColin Finck 
4108c2c66affSColin Finck LONG
4109c2c66affSColin Finck WINAPI
4110c2c66affSColin Finck BroadcastSystemMessageExW(
4111c2c66affSColin Finck   _In_ DWORD flags,
4112c2c66affSColin Finck   _Inout_opt_ LPDWORD lpInfo,
4113c2c66affSColin Finck   _In_ UINT Msg,
4114c2c66affSColin Finck   _In_ WPARAM wParam,
4115c2c66affSColin Finck   _In_ LPARAM lParam,
4116c2c66affSColin Finck   _Out_opt_ PBSMINFO pbsmInfo);
4117c2c66affSColin Finck 
4118c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0501) */
4119c2c66affSColin Finck 
4120c2c66affSColin Finck void WINAPI CalcChildScroll(HWND, INT);
4121c2c66affSColin Finck BOOL WINAPI CallMsgFilterA(_In_ LPMSG, _In_ INT);
4122c2c66affSColin Finck BOOL WINAPI CallMsgFilterW(_In_ LPMSG, _In_ INT);
4123c2c66affSColin Finck LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM);
4124c2c66affSColin Finck LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4125c2c66affSColin Finck LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4126c2c66affSColin Finck 
4127c2c66affSColin Finck WORD
4128c2c66affSColin Finck WINAPI
4129c2c66affSColin Finck CascadeWindows(
4130c2c66affSColin Finck   _In_opt_ HWND hwndParent,
4131c2c66affSColin Finck   _In_ UINT wHow,
4132c2c66affSColin Finck   _In_opt_ CONST RECT * lpRect,
4133c2c66affSColin Finck   _In_ UINT cKids,
4134c2c66affSColin Finck   _In_reads_opt_(cKids) const HWND FAR *lpKids);
4135c2c66affSColin Finck 
4136c2c66affSColin Finck BOOL WINAPI ChangeClipboardChain(_In_ HWND, _In_ HWND);
4137c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
4138c2c66affSColin Finck LONG WINAPI ChangeDisplaySettingsA(_In_opt_ PDEVMODEA, _In_ DWORD);
4139c2c66affSColin Finck LONG WINAPI ChangeDisplaySettingsW(_In_opt_ PDEVMODEW, _In_ DWORD);
4140c2c66affSColin Finck LONG WINAPI ChangeDisplaySettingsExA(_In_opt_ LPCSTR, _In_opt_ LPDEVMODEA, _Reserved_ HWND, _In_ DWORD, _In_opt_ LPVOID);
4141c2c66affSColin Finck LONG WINAPI ChangeDisplaySettingsExW(_In_opt_ LPCWSTR, _In_opt_ LPDEVMODEW, _Reserved_ HWND, _In_ DWORD, _In_opt_ LPVOID);
4142c2c66affSColin Finck #endif
4143c2c66affSColin Finck BOOL WINAPI ChangeMenuA(_In_ HMENU, _In_ UINT, _In_opt_ LPCSTR, _In_ UINT, _In_ UINT);
4144c2c66affSColin Finck BOOL WINAPI ChangeMenuW(_In_ HMENU, _In_ UINT, _In_opt_ LPCWSTR, _In_ UINT, _In_ UINT);
4145c2c66affSColin Finck LPSTR WINAPI CharLowerA(_Inout_ LPSTR);
4146c2c66affSColin Finck LPWSTR WINAPI CharLowerW(_Inout_ LPWSTR);
4147c2c66affSColin Finck 
4148c2c66affSColin Finck DWORD
4149c2c66affSColin Finck WINAPI
4150c2c66affSColin Finck CharLowerBuffA(
4151c2c66affSColin Finck   _Inout_updates_(cchLength) LPSTR lpsz,
4152c2c66affSColin Finck   _In_ DWORD cchLength);
4153c2c66affSColin Finck 
4154c2c66affSColin Finck DWORD
4155c2c66affSColin Finck WINAPI
4156c2c66affSColin Finck CharLowerBuffW(
4157c2c66affSColin Finck   _Inout_updates_(cchLength) LPWSTR lpsz,
4158c2c66affSColin Finck   _In_ DWORD cchLength);
4159c2c66affSColin Finck 
4160c2c66affSColin Finck LPSTR WINAPI CharNextA(_In_ LPCSTR);
4161c2c66affSColin Finck LPWSTR WINAPI CharNextW(_In_ LPCWSTR);
4162c2c66affSColin Finck 
4163c2c66affSColin Finck LPSTR WINAPI CharNextExA(_In_ WORD, _In_ LPCSTR, _In_ DWORD);
4164c2c66affSColin Finck LPWSTR WINAPI CharNextExW(_In_ WORD, _In_ LPCWSTR, _In_ DWORD);
4165c2c66affSColin Finck LPSTR WINAPI CharPrevA(_In_ LPCSTR, _In_ LPCSTR);
4166c2c66affSColin Finck LPWSTR WINAPI CharPrevW(_In_ LPCWSTR, _In_ LPCWSTR);
4167c2c66affSColin Finck LPSTR WINAPI CharPrevExA(_In_ WORD, _In_ LPCSTR, _In_ LPCSTR, _In_ DWORD);
4168c2c66affSColin Finck LPWSTR WINAPI CharPrevExW(_In_ WORD, _In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD);
4169c2c66affSColin Finck 
4170c2c66affSColin Finck BOOL
4171c2c66affSColin Finck WINAPI
4172c2c66affSColin Finck CharToOemA(
4173c2c66affSColin Finck   _In_ LPCSTR pSrc,
4174c2c66affSColin Finck   _Out_writes_(_Inexpressible_(strlen(pSrc) + 1)) LPSTR pDst);
4175c2c66affSColin Finck 
4176c2c66affSColin Finck BOOL
4177c2c66affSColin Finck WINAPI
4178c2c66affSColin Finck CharToOemW(
4179c2c66affSColin Finck   _In_ LPCWSTR pSrc,
4180c2c66affSColin Finck   _Out_writes_(_Inexpressible_(strlen(pSrc) + 1)) LPSTR pDst);
4181c2c66affSColin Finck 
4182c2c66affSColin Finck BOOL
4183c2c66affSColin Finck WINAPI
4184c2c66affSColin Finck CharToOemBuffA(
4185c2c66affSColin Finck   _In_ LPCSTR lpszSrc,
4186c2c66affSColin Finck   _Out_writes_(cchDstLength) LPSTR lpszDst,
4187c2c66affSColin Finck   _In_ DWORD cchDstLength);
4188c2c66affSColin Finck 
4189c2c66affSColin Finck BOOL
4190c2c66affSColin Finck WINAPI
4191c2c66affSColin Finck CharToOemBuffW(
4192c2c66affSColin Finck   _In_ LPCWSTR lpszSrc,
4193c2c66affSColin Finck   _Out_writes_(cchDstLength) LPSTR lpszDst,
4194c2c66affSColin Finck   _In_ DWORD cchDstLength);
4195c2c66affSColin Finck 
4196c2c66affSColin Finck LPSTR WINAPI CharUpperA(_Inout_ LPSTR);
4197c2c66affSColin Finck LPWSTR WINAPI CharUpperW(_Inout_ LPWSTR);
4198c2c66affSColin Finck 
4199c2c66affSColin Finck DWORD
4200c2c66affSColin Finck WINAPI
4201c2c66affSColin Finck CharUpperBuffA(
4202c2c66affSColin Finck   _Inout_updates_(cchLength) LPSTR lpsz,
4203c2c66affSColin Finck   _In_ DWORD cchLength);
4204c2c66affSColin Finck 
4205c2c66affSColin Finck DWORD
4206c2c66affSColin Finck WINAPI
4207c2c66affSColin Finck CharUpperBuffW(
4208c2c66affSColin Finck   _Inout_updates_(cchLength) LPWSTR lpsz,
4209c2c66affSColin Finck   _In_ DWORD cchLength);
4210c2c66affSColin Finck 
4211c2c66affSColin Finck BOOL WINAPI CheckDlgButton(_In_ HWND, _In_ int, _In_ UINT);
4212c2c66affSColin Finck DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT);
4213c2c66affSColin Finck BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT);
4214c2c66affSColin Finck BOOL WINAPI CheckRadioButton(_In_ HWND, _In_ int, _In_ int, _In_ int);
4215c2c66affSColin Finck HWND WINAPI ChildWindowFromPoint(_In_ HWND, _In_ POINT);
4216c2c66affSColin Finck HWND WINAPI ChildWindowFromPointEx(_In_ HWND, _In_ POINT, _In_ UINT);
4217c2c66affSColin Finck BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT);
4218c2c66affSColin Finck BOOL WINAPI ClipCursor(_In_opt_ LPCRECT);
4219c2c66affSColin Finck BOOL WINAPI CloseClipboard(void);
4220c2c66affSColin Finck BOOL WINAPI CloseDesktop(_In_ HDESK);
4221c2c66affSColin Finck BOOL WINAPI CloseWindow(_In_ HWND);
4222c2c66affSColin Finck BOOL WINAPI CloseWindowStation(_In_ HWINSTA);
4223c2c66affSColin Finck 
4224c2c66affSColin Finck int
4225c2c66affSColin Finck WINAPI
4226c2c66affSColin Finck CopyAcceleratorTableA(
4227c2c66affSColin Finck   _In_ HACCEL hAccelSrc,
4228c2c66affSColin Finck   _Out_writes_to_opt_(cAccelEntries, return) LPACCEL lpAccelDst,
4229c2c66affSColin Finck   _In_ int cAccelEntries);
4230c2c66affSColin Finck 
4231c2c66affSColin Finck int
4232c2c66affSColin Finck WINAPI
4233c2c66affSColin Finck CopyAcceleratorTableW(
4234c2c66affSColin Finck   _In_ HACCEL hAccelSrc,
4235c2c66affSColin Finck   _Out_writes_to_opt_(cAccelEntries, return) LPACCEL lpAccelDst,
4236c2c66affSColin Finck   _In_ int cAccelEntries);
4237c2c66affSColin Finck 
4238c2c66affSColin Finck #define CopyCursor(c) ((HCURSOR)CopyIcon((HICON)(c)))
4239c2c66affSColin Finck HICON WINAPI CopyIcon(_In_ HICON);
4240c2c66affSColin Finck HANDLE WINAPI CopyImage(_In_ HANDLE, _In_ UINT, _In_ int, _In_ int, _In_ UINT);
4241c2c66affSColin Finck BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT);
4242c2c66affSColin Finck int WINAPI CountClipboardFormats(void);
4243c2c66affSColin Finck 
4244c2c66affSColin Finck HACCEL
4245c2c66affSColin Finck WINAPI
4246c2c66affSColin Finck CreateAcceleratorTableA(
4247c2c66affSColin Finck   _In_reads_(cAccel) LPACCEL paccel,
4248c2c66affSColin Finck   _In_ int cAccel);
4249c2c66affSColin Finck 
4250c2c66affSColin Finck HACCEL
4251c2c66affSColin Finck WINAPI
4252c2c66affSColin Finck CreateAcceleratorTableW(
4253c2c66affSColin Finck   _In_reads_(cAccel) LPACCEL paccel,
4254c2c66affSColin Finck   _In_ int cAccel);
4255c2c66affSColin Finck 
4256c2c66affSColin Finck BOOL WINAPI CreateCaret(_In_ HWND, _In_opt_ HBITMAP, _In_ int, _In_ int);
4257c2c66affSColin Finck HCURSOR WINAPI CreateCursor(_In_opt_ HINSTANCE, _In_ int, _In_ int, _In_ int, _In_ int, _In_ CONST VOID*, _In_ CONST VOID*);
4258c2c66affSColin Finck 
4259c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
4260c2c66affSColin Finck 
4261c2c66affSColin Finck HDESK
4262c2c66affSColin Finck WINAPI
4263c2c66affSColin Finck CreateDesktopA(
4264c2c66affSColin Finck   _In_ LPCSTR lpszDesktop,
4265c2c66affSColin Finck   _Reserved_ LPCSTR lpszDevice,
4266c2c66affSColin Finck   _Reserved_ DEVMODEA* pDevmode,
4267c2c66affSColin Finck   _In_ DWORD dwFlags,
4268c2c66affSColin Finck   _In_ ACCESS_MASK dwDesiredAccess,
4269c2c66affSColin Finck   _In_opt_ LPSECURITY_ATTRIBUTES lpsa);
4270c2c66affSColin Finck 
4271c2c66affSColin Finck HDESK
4272c2c66affSColin Finck WINAPI
4273c2c66affSColin Finck CreateDesktopW(
4274c2c66affSColin Finck   _In_ LPCWSTR lpszDesktop,
4275c2c66affSColin Finck   _Reserved_ LPCWSTR lpszDevice,
4276c2c66affSColin Finck   _Reserved_ DEVMODEW* pDevmode,
4277c2c66affSColin Finck   _In_ DWORD dwFlags,
4278c2c66affSColin Finck   _In_ ACCESS_MASK dwDesiredAccess,
4279c2c66affSColin Finck   _In_opt_ LPSECURITY_ATTRIBUTES lpsa);
4280c2c66affSColin Finck 
4281c2c66affSColin Finck #endif
4282c2c66affSColin Finck 
4283c2c66affSColin Finck #define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
4284c2c66affSColin Finck #define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
4285c2c66affSColin Finck #define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
4286c2c66affSColin Finck #define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
4287c2c66affSColin Finck HWND WINAPI CreateDialogIndirectParamA(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4288c2c66affSColin Finck HWND WINAPI CreateDialogIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4289c2c66affSColin Finck HWND WINAPI CreateDialogParamA(_In_opt_ HINSTANCE, _In_ LPCSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4290c2c66affSColin Finck HWND WINAPI CreateDialogParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4291c2c66affSColin Finck HICON WINAPI CreateIcon(_In_opt_ HINSTANCE, _In_ int, _In_ int, _In_ BYTE, _In_ BYTE, _In_ const BYTE*, _In_ const BYTE*);
4292c2c66affSColin Finck 
4293c2c66affSColin Finck HICON
4294c2c66affSColin Finck WINAPI
4295c2c66affSColin Finck CreateIconFromResource(
4296c2c66affSColin Finck   _In_reads_bytes_(dwResSize) PBYTE presbits,
4297c2c66affSColin Finck   _In_ DWORD dwResSize,
4298c2c66affSColin Finck   _In_ BOOL fIcon,
4299c2c66affSColin Finck   _In_ DWORD dwVer);
4300c2c66affSColin Finck 
4301c2c66affSColin Finck HICON
4302c2c66affSColin Finck WINAPI
4303c2c66affSColin Finck CreateIconFromResourceEx(
4304c2c66affSColin Finck   _In_reads_bytes_(dwResSize) PBYTE presbits,
4305c2c66affSColin Finck   _In_ DWORD dwResSize,
4306c2c66affSColin Finck   _In_ BOOL fIcon,
4307c2c66affSColin Finck   _In_ DWORD dwVer,
4308c2c66affSColin Finck   _In_ int cxDesired,
4309c2c66affSColin Finck   _In_ int cyDesired,
4310c2c66affSColin Finck   _In_ UINT Flags);
4311c2c66affSColin Finck 
4312c2c66affSColin Finck HICON WINAPI CreateIconIndirect(_In_ PICONINFO);
4313c2c66affSColin Finck HWND WINAPI CreateMDIWindowA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HWND, _In_opt_ HINSTANCE, _In_ LPARAM);
4314c2c66affSColin Finck HWND WINAPI CreateMDIWindowW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HWND, _In_opt_ HINSTANCE, _In_ LPARAM);
4315c2c66affSColin Finck HMENU WINAPI CreateMenu(void);
4316c2c66affSColin Finck HMENU WINAPI CreatePopupMenu(void);
4317c2c66affSColin Finck 
4318c2c66affSColin Finck #define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k)
4319c2c66affSColin Finck #define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k)
4320c2c66affSColin Finck 
4321c2c66affSColin Finck HWND
4322c2c66affSColin Finck WINAPI
4323c2c66affSColin Finck CreateWindowExA(
4324c2c66affSColin Finck   _In_ DWORD dwExStyle,
4325c2c66affSColin Finck   _In_opt_ LPCSTR lpClassName,
4326c2c66affSColin Finck   _In_opt_ LPCSTR lpWindowName,
4327c2c66affSColin Finck   _In_ DWORD dwStyle,
4328c2c66affSColin Finck   _In_ int X,
4329c2c66affSColin Finck   _In_ int Y,
4330c2c66affSColin Finck   _In_ int nWidth,
4331c2c66affSColin Finck   _In_ int nHeight,
4332c2c66affSColin Finck   _In_opt_ HWND hWndParent,
4333c2c66affSColin Finck   _In_opt_ HMENU hMenu,
4334c2c66affSColin Finck   _In_opt_ HINSTANCE hInstance,
4335c2c66affSColin Finck   _In_opt_ LPVOID lpParam);
4336c2c66affSColin Finck 
4337c2c66affSColin Finck HWND
4338c2c66affSColin Finck WINAPI
4339c2c66affSColin Finck CreateWindowExW(
4340c2c66affSColin Finck   _In_ DWORD dwExStyle,
4341c2c66affSColin Finck   _In_opt_ LPCWSTR lpClassName,
4342c2c66affSColin Finck   _In_opt_ LPCWSTR lpWindowName,
4343c2c66affSColin Finck   _In_ DWORD dwStyle,
4344c2c66affSColin Finck   _In_ int X,
4345c2c66affSColin Finck   _In_ int Y,
4346c2c66affSColin Finck   _In_ int nWidth,
4347c2c66affSColin Finck   _In_ int nHeight,
4348c2c66affSColin Finck   _In_opt_ HWND hWndParent,
4349c2c66affSColin Finck   _In_opt_ HMENU hMenu,
4350c2c66affSColin Finck   _In_opt_ HINSTANCE hInstance,
4351c2c66affSColin Finck   _In_opt_ LPVOID lpParam);
4352c2c66affSColin Finck 
4353c2c66affSColin Finck #ifndef NOWINDOWSTATION
4354c2c66affSColin Finck 
4355c2c66affSColin Finck HWINSTA
4356c2c66affSColin Finck WINAPI
4357c2c66affSColin Finck CreateWindowStationA(
4358c2c66affSColin Finck   _In_opt_ LPCSTR lpwinsta,
4359c2c66affSColin Finck   _In_ DWORD dwFlags,
4360c2c66affSColin Finck   _In_ ACCESS_MASK dwDesiredAccess,
4361c2c66affSColin Finck   _In_opt_ LPSECURITY_ATTRIBUTES lpsa);
4362c2c66affSColin Finck 
4363c2c66affSColin Finck HWINSTA
4364c2c66affSColin Finck WINAPI
4365c2c66affSColin Finck CreateWindowStationW(
4366c2c66affSColin Finck   _In_opt_ LPCWSTR lpwinsta,
4367c2c66affSColin Finck   _In_ DWORD dwFlags,
4368c2c66affSColin Finck   _In_ ACCESS_MASK dwDesiredAccess,
4369c2c66affSColin Finck   _In_opt_ LPSECURITY_ATTRIBUTES lpsa);
4370c2c66affSColin Finck 
4371c2c66affSColin Finck #endif
4372c2c66affSColin Finck 
4373c2c66affSColin Finck LRESULT WINAPI DefDlgProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4374c2c66affSColin Finck LRESULT WINAPI DefDlgProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4375c2c66affSColin Finck HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT);
4376c2c66affSColin Finck LRESULT WINAPI DefFrameProcA(_In_ HWND, _In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4377c2c66affSColin Finck LRESULT WINAPI DefFrameProcW(_In_ HWND, _In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4378c2c66affSColin Finck #define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
4379c2c66affSColin Finck LRESULT WINAPI DefMDIChildProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4380c2c66affSColin Finck LRESULT WINAPI DefMDIChildProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4381c2c66affSColin Finck 
4382c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
4383c2c66affSColin Finck LRESULT
4384c2c66affSColin Finck WINAPI
4385c2c66affSColin Finck DefRawInputProc(
4386c2c66affSColin Finck   _In_reads_(nInput) PRAWINPUT *paRawInput,
4387c2c66affSColin Finck   _In_ INT nInput,
4388c2c66affSColin Finck   _In_ UINT cbSizeHeader);
4389c2c66affSColin Finck #endif
4390c2c66affSColin Finck 
4391c2c66affSColin Finck LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4392c2c66affSColin Finck LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
4393c2c66affSColin Finck BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT);
4394c2c66affSColin Finck BOOL WINAPI DeregisterShellHookWindow(_In_ HWND);
4395c2c66affSColin Finck BOOL WINAPI DestroyAcceleratorTable(_In_ HACCEL);
4396c2c66affSColin Finck BOOL WINAPI DestroyCaret(void);
4397c2c66affSColin Finck BOOL WINAPI DestroyCursor(_In_ HCURSOR);
4398c2c66affSColin Finck BOOL WINAPI DestroyIcon(_In_ HICON);
4399c2c66affSColin Finck BOOL WINAPI DestroyMenu(_In_ HMENU);
4400c2c66affSColin Finck BOOL WINAPI DestroyWindow(_In_ HWND);
4401c2c66affSColin Finck #define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0)
4402c2c66affSColin Finck #define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0)
4403c2c66affSColin Finck #define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0)
4404c2c66affSColin Finck #define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
4405c2c66affSColin Finck INT_PTR WINAPI DialogBoxIndirectParamA(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4406c2c66affSColin Finck INT_PTR WINAPI DialogBoxIndirectParamW(_In_opt_ HINSTANCE, _In_ LPCDLGTEMPLATE, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4407c2c66affSColin Finck INT_PTR WINAPI DialogBoxParamA(_In_opt_ HINSTANCE, _In_ LPCSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4408c2c66affSColin Finck INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM);
4409c2c66affSColin Finck LRESULT WINAPI DispatchMessageA(_In_ const MSG*);
4410c2c66affSColin Finck LRESULT WINAPI DispatchMessageW(_In_ const MSG*);
4411c2c66affSColin Finck int WINAPI DlgDirListA(_In_ HWND, _Inout_ LPSTR, _In_ int, _In_ int, _In_ UINT);
4412c2c66affSColin Finck int WINAPI DlgDirListW(_In_ HWND, _Inout_ LPWSTR, _In_ int, _In_ int, _In_ UINT);
4413c2c66affSColin Finck int WINAPI DlgDirListComboBoxA(_In_ HWND, _Inout_ LPSTR, _In_ int, _In_ int, _In_ UINT);
4414c2c66affSColin Finck int WINAPI DlgDirListComboBoxW(_In_ HWND, _Inout_ LPWSTR, _In_ int, _In_ int, _In_ UINT);
4415c2c66affSColin Finck 
4416c2c66affSColin Finck BOOL
4417c2c66affSColin Finck WINAPI
4418c2c66affSColin Finck DlgDirSelectComboBoxExA(
4419c2c66affSColin Finck   _In_ HWND hwndDlg,
4420c2c66affSColin Finck   _Out_writes_(cchOut) LPSTR lpString,
4421c2c66affSColin Finck   _In_ int cchOut,
4422c2c66affSColin Finck   _In_ int idComboBox);
4423c2c66affSColin Finck 
4424c2c66affSColin Finck BOOL
4425c2c66affSColin Finck WINAPI
4426c2c66affSColin Finck DlgDirSelectComboBoxExW(
4427c2c66affSColin Finck   _In_ HWND hwndDlg,
4428c2c66affSColin Finck   _Out_writes_(cchOut) LPWSTR lpString,
4429c2c66affSColin Finck   _In_ int cchOut,
4430c2c66affSColin Finck   _In_ int idComboBox);
4431c2c66affSColin Finck 
4432c2c66affSColin Finck BOOL
4433c2c66affSColin Finck WINAPI
4434c2c66affSColin Finck DlgDirSelectExA(
4435c2c66affSColin Finck   _In_ HWND hwndDlg,
4436c2c66affSColin Finck   _Out_writes_(chCount) LPSTR lpString,
4437c2c66affSColin Finck   _In_ int chCount,
4438c2c66affSColin Finck   _In_ int idListBox);
4439c2c66affSColin Finck 
4440c2c66affSColin Finck BOOL
4441c2c66affSColin Finck WINAPI
4442c2c66affSColin Finck DlgDirSelectExW(
4443c2c66affSColin Finck   _In_ HWND hwndDlg,
4444c2c66affSColin Finck   _Out_writes_(chCount) LPWSTR lpString,
4445c2c66affSColin Finck   _In_ int chCount,
4446c2c66affSColin Finck   _In_ int idListBox);
4447c2c66affSColin Finck 
4448c2c66affSColin Finck BOOL WINAPI DragDetect(_In_ HWND, _In_ POINT);
4449c2c66affSColin Finck DWORD WINAPI DragObject(_In_ HWND, _In_ HWND, _In_ UINT, _In_ ULONG_PTR, _In_opt_ HCURSOR);
4450c2c66affSColin Finck BOOL WINAPI DrawAnimatedRects(_In_opt_ HWND, _In_ int, _In_ LPCRECT, _In_ LPCRECT);
4451c2c66affSColin Finck BOOL WINAPI DrawCaption(_In_ HWND, _In_ HDC, _In_ LPCRECT, _In_ UINT);
4452c2c66affSColin Finck BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT);
4453c2c66affSColin Finck BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT);
4454c2c66affSColin Finck BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT);
4455c2c66affSColin Finck BOOL WINAPI DrawIcon(_In_ HDC, _In_ int, _In_ int, _In_ HICON);
4456c2c66affSColin Finck BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT);
4457c2c66affSColin Finck BOOL WINAPI DrawMenuBar(_In_ HWND);
4458c2c66affSColin Finck DWORD WINAPI DrawMenuBarTemp(HWND,HDC,LPRECT,HMENU,HFONT);
4459c2c66affSColin Finck BOOL WINAPI DrawStateA(_In_ HDC, _In_opt_ HBRUSH, _In_opt_ DRAWSTATEPROC, _In_ LPARAM, _In_ WPARAM, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT);
4460c2c66affSColin Finck BOOL WINAPI DrawStateW(_In_ HDC, _In_opt_ HBRUSH, _In_opt_ DRAWSTATEPROC, _In_ LPARAM, _In_ WPARAM, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT);
4461c2c66affSColin Finck 
4462c2c66affSColin Finck _Success_(return)
4463c2c66affSColin Finck int
4464c2c66affSColin Finck WINAPI
4465c2c66affSColin Finck DrawTextA(
4466c2c66affSColin Finck   _In_ HDC hdc,
4467c2c66affSColin Finck   _At_((LPSTR)lpchText, _Inout_updates_opt_(cchText)) LPCSTR lpchText,
4468c2c66affSColin Finck   _In_ int cchText,
4469c2c66affSColin Finck   _Inout_ LPRECT lprc,
4470c2c66affSColin Finck   _In_ UINT format);
4471c2c66affSColin Finck 
4472c2c66affSColin Finck _Success_(return)
4473c2c66affSColin Finck int
4474c2c66affSColin Finck WINAPI
4475c2c66affSColin Finck DrawTextW(
4476c2c66affSColin Finck   _In_ HDC hdc,
4477c2c66affSColin Finck   _At_((LPWSTR)lpchText, _Inout_updates_opt_(cchText)) LPCWSTR lpchText,
4478c2c66affSColin Finck   _In_ int cchText,
4479c2c66affSColin Finck   _Inout_ LPRECT lprc,
4480c2c66affSColin Finck   _In_ UINT format);
4481c2c66affSColin Finck 
4482c2c66affSColin Finck int
4483c2c66affSColin Finck WINAPI
4484c2c66affSColin Finck DrawTextExA(
4485c2c66affSColin Finck   _In_ HDC hdc,
4486c2c66affSColin Finck   _Inout_updates_opt_(cchText) LPSTR lpchText,
4487c2c66affSColin Finck   _In_ int cchText,
4488c2c66affSColin Finck   _Inout_ LPRECT lprc,
4489c2c66affSColin Finck   _In_ UINT format,
4490c2c66affSColin Finck   _In_opt_ LPDRAWTEXTPARAMS lpdtp);
4491c2c66affSColin Finck 
4492c2c66affSColin Finck int
4493c2c66affSColin Finck WINAPI
4494c2c66affSColin Finck DrawTextExW(
4495c2c66affSColin Finck   _In_ HDC hdc,
4496c2c66affSColin Finck   _Inout_updates_opt_(cchText) LPWSTR lpchText,
4497c2c66affSColin Finck   _In_ int cchText,
4498c2c66affSColin Finck   _Inout_ LPRECT lprc,
4499c2c66affSColin Finck   _In_ UINT format,
4500c2c66affSColin Finck   _In_opt_ LPDRAWTEXTPARAMS lpdtp);
4501c2c66affSColin Finck 
4502c2c66affSColin Finck BOOL WINAPI EmptyClipboard(void);
4503c2c66affSColin Finck BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT);
4504c2c66affSColin Finck BOOL WINAPI EnableScrollBar(_In_ HWND, _In_ UINT, _In_ UINT);
4505c2c66affSColin Finck BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL);
4506c2c66affSColin Finck BOOL WINAPI EndDeferWindowPos(_In_ HDWP);
4507c2c66affSColin Finck BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR);
4508c2c66affSColin Finck BOOL WINAPI EndMenu(void);
4509c2c66affSColin Finck BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT*);
4510c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
4511c2c66affSColin Finck BOOL WINAPI EndTask(_In_ HWND, _In_ BOOL, _In_ BOOL);
4512c2c66affSColin Finck #endif
4513c2c66affSColin Finck BOOL WINAPI EnumChildWindows(_In_opt_ HWND, _In_ WNDENUMPROC, _In_ LPARAM);
4514c2c66affSColin Finck UINT WINAPI EnumClipboardFormats(_In_ UINT);
4515c2c66affSColin Finck BOOL WINAPI EnumDesktopsA(_In_opt_ HWINSTA, _In_ DESKTOPENUMPROCA, _In_ LPARAM);
4516c2c66affSColin Finck BOOL WINAPI EnumDesktopsW(_In_opt_ HWINSTA, _In_ DESKTOPENUMPROCW, _In_ LPARAM);
4517c2c66affSColin Finck BOOL WINAPI EnumDesktopWindows(_In_opt_ HDESK, _In_ WNDENUMPROC, _In_ LPARAM);
4518c2c66affSColin Finck BOOL WINAPI EnumDisplayMonitors(_In_opt_ HDC, _In_opt_ LPCRECT, _In_ MONITORENUMPROC, _In_ LPARAM);
4519c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
4520c2c66affSColin Finck BOOL WINAPI EnumDisplaySettingsA(_In_opt_ LPCSTR, _In_ DWORD, _Inout_ PDEVMODEA);
4521c2c66affSColin Finck BOOL WINAPI EnumDisplaySettingsW(_In_opt_ LPCWSTR, _In_ DWORD, _Inout_ PDEVMODEW);
4522c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
4523c2c66affSColin Finck BOOL WINAPI EnumDisplaySettingsExA(_In_opt_ LPCSTR, _In_ DWORD, _Inout_ LPDEVMODEA, _In_ DWORD);
4524c2c66affSColin Finck BOOL WINAPI EnumDisplaySettingsExW(_In_opt_ LPCWSTR, _In_ DWORD, _Inout_ LPDEVMODEW, _In_ DWORD);
4525c2c66affSColin Finck #endif
4526c2c66affSColin Finck BOOL WINAPI EnumDisplayDevicesA(_In_opt_ LPCSTR, _In_ DWORD, _Inout_ PDISPLAY_DEVICEA, _In_ DWORD);
4527c2c66affSColin Finck BOOL WINAPI EnumDisplayDevicesW(_In_opt_ LPCWSTR, _In_ DWORD, _Inout_ PDISPLAY_DEVICEW, _In_ DWORD);
4528c2c66affSColin Finck #endif
4529c2c66affSColin Finck int WINAPI EnumPropsA(_In_ HWND, _In_ PROPENUMPROCA);
4530c2c66affSColin Finck int WINAPI EnumPropsW(_In_ HWND, _In_ PROPENUMPROCW);
4531d40d642fSMark Jansen int WINAPI EnumPropsExA(_In_ HWND, _In_ PROPENUMPROCEXA, _In_ LPARAM lParam);
4532d40d642fSMark Jansen int WINAPI EnumPropsExW(_In_ HWND, _In_ PROPENUMPROCEXW, _In_ LPARAM lParam);
4533c2c66affSColin Finck #define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p)
4534c2c66affSColin Finck BOOL WINAPI EnumThreadWindows(_In_ DWORD, _In_ WNDENUMPROC, _In_ LPARAM);
4535d40d642fSMark Jansen BOOL WINAPI EnumWindows(_In_ WNDENUMPROC lpEnumFunc, _In_ LPARAM lParam);
4536d40d642fSMark Jansen BOOL WINAPI EnumWindowStationsA(_In_ WINSTAENUMPROCA, _In_ LPARAM lParam);
4537d40d642fSMark Jansen BOOL WINAPI EnumWindowStationsW(_In_ WINSTAENUMPROCW, _In_ LPARAM lParam);
4538c2c66affSColin Finck BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT);
4539c2c66affSColin Finck #define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
4540c2c66affSColin Finck BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD);
4541c2c66affSColin Finck HWND WINAPI FindWindowA(_In_opt_ LPCSTR, _In_opt_ LPCSTR);
4542c2c66affSColin Finck HWND WINAPI FindWindowW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
4543c2c66affSColin Finck HWND WINAPI FindWindowExA(_In_opt_ HWND, _In_opt_ HWND, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
4544c2c66affSColin Finck HWND WINAPI FindWindowExW(_In_opt_ HWND, _In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
4545c2c66affSColin Finck BOOL WINAPI FlashWindow(_In_ HWND, _In_ BOOL);
4546c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
4547c2c66affSColin Finck BOOL WINAPI FlashWindowEx(_In_ PFLASHWINFO);
4548c2c66affSColin Finck #endif
4549c2c66affSColin Finck int WINAPI FrameRect(_In_ HDC, _In_ LPCRECT, _In_ HBRUSH);
4550c2c66affSColin Finck HWND WINAPI GetActiveWindow(void);
4551c2c66affSColin Finck HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT);
4552c2c66affSColin Finck SHORT WINAPI GetAsyncKeyState(_In_ int);
4553c2c66affSColin Finck HWND WINAPI GetCapture(void);
4554c2c66affSColin Finck UINT WINAPI GetCaretBlinkTime(void);
4555c2c66affSColin Finck BOOL WINAPI GetCaretPos(_Out_ LPPOINT);
4556c2c66affSColin Finck BOOL WINAPI GetClassInfoA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSA);
4557c2c66affSColin Finck BOOL WINAPI GetClassInfoExA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSEXA);
4558c2c66affSColin Finck BOOL WINAPI GetClassInfoW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSW);
4559c2c66affSColin Finck BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW);
4560c2c66affSColin Finck DWORD WINAPI GetClassLongA(_In_ HWND, _In_ int);
4561c2c66affSColin Finck DWORD WINAPI GetClassLongW(_In_ HWND, _In_ int);
4562c2c66affSColin Finck #ifdef _WIN64
4563c2c66affSColin Finck ULONG_PTR WINAPI GetClassLongPtrA(_In_ HWND, _In_ int);
4564c2c66affSColin Finck ULONG_PTR WINAPI GetClassLongPtrW(_In_ HWND, _In_ int);
4565c2c66affSColin Finck #else
4566c2c66affSColin Finck #define GetClassLongPtrA GetClassLongA
4567c2c66affSColin Finck #define GetClassLongPtrW GetClassLongW
4568c2c66affSColin Finck #endif
4569c2c66affSColin Finck 
4570c2c66affSColin Finck int
4571c2c66affSColin Finck WINAPI
4572c2c66affSColin Finck GetClassNameA(
4573c2c66affSColin Finck   _In_ HWND hWnd,
4574c2c66affSColin Finck   _Out_writes_to_(nMaxCount, return) LPSTR lpClassName,
4575c2c66affSColin Finck   _In_ int nMaxCount);
4576c2c66affSColin Finck 
4577c2c66affSColin Finck int
4578c2c66affSColin Finck WINAPI
4579c2c66affSColin Finck GetClassNameW(
4580c2c66affSColin Finck   _In_ HWND hWnd,
4581c2c66affSColin Finck   _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName,
4582c2c66affSColin Finck   _In_ int nMaxCount);
4583c2c66affSColin Finck 
4584c2c66affSColin Finck WORD WINAPI GetClassWord(_In_ HWND, _In_ int);
4585c2c66affSColin Finck BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT);
4586c2c66affSColin Finck HANDLE WINAPI GetClipboardData(_In_ UINT);
4587c2c66affSColin Finck 
4588c2c66affSColin Finck int
4589c2c66affSColin Finck WINAPI
4590c2c66affSColin Finck GetClipboardFormatNameA(
4591c2c66affSColin Finck   _In_ UINT format,
4592c2c66affSColin Finck   _Out_writes_(cchMaxCount) LPSTR lpszFormatName,
4593c2c66affSColin Finck   _In_ int cchMaxCount);
4594c2c66affSColin Finck 
4595c2c66affSColin Finck int
4596c2c66affSColin Finck WINAPI
4597c2c66affSColin Finck GetClipboardFormatNameW(
4598c2c66affSColin Finck   _In_ UINT format,
4599c2c66affSColin Finck   _Out_writes_(cchMaxCount) LPWSTR lpszFormatName,
4600c2c66affSColin Finck   _In_ int cchMaxCount);
4601c2c66affSColin Finck 
4602c2c66affSColin Finck HWND WINAPI GetClipboardOwner(void);
4603c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
4604c2c66affSColin Finck DWORD WINAPI GetClipboardSequenceNumber(void);
4605c2c66affSColin Finck #endif
4606c2c66affSColin Finck HWND WINAPI GetClipboardViewer(void);
4607c2c66affSColin Finck BOOL WINAPI GetClipCursor(_Out_ LPRECT);
4608c2c66affSColin Finck BOOL WINAPI GetCursorPos(_Out_ LPPOINT);
4609c2c66affSColin Finck HDC WINAPI GetDC(_In_opt_ HWND);
4610c2c66affSColin Finck HDC WINAPI GetDCEx(_In_opt_ HWND, _In_opt_ HRGN, _In_ DWORD);
4611c2c66affSColin Finck HWND WINAPI GetDesktopWindow(void);
4612c2c66affSColin Finck LONG WINAPI GetDialogBaseUnits(void);
4613c2c66affSColin Finck int WINAPI GetDlgCtrlID(_In_ HWND);
4614c2c66affSColin Finck HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int);
4615c2c66affSColin Finck UINT WINAPI GetDlgItemInt(_In_ HWND, _In_ int, _Out_opt_ PBOOL, _In_ BOOL);
4616c2c66affSColin Finck 
4617c2c66affSColin Finck _Ret_range_(0, cchMax)
4618c2c66affSColin Finck UINT
4619c2c66affSColin Finck WINAPI
4620c2c66affSColin Finck GetDlgItemTextA(
4621c2c66affSColin Finck   _In_ HWND hDlg,
4622c2c66affSColin Finck   _In_ int nIDDlgItem,
4623c2c66affSColin Finck   _Out_writes_(cchMax) LPSTR lpString,
4624c2c66affSColin Finck   _In_ int cchMax);
4625c2c66affSColin Finck 
4626c2c66affSColin Finck _Ret_range_(0, cchMax)
4627c2c66affSColin Finck UINT
4628c2c66affSColin Finck WINAPI
4629c2c66affSColin Finck GetDlgItemTextW(
4630c2c66affSColin Finck   _In_ HWND hDlg,
4631c2c66affSColin Finck   _In_ int nIDDlgItem,
4632c2c66affSColin Finck   _Out_writes_(cchMax) LPWSTR lpString,
4633c2c66affSColin Finck   _In_ int cchMax);
4634c2c66affSColin Finck 
4635c2c66affSColin Finck UINT WINAPI GetDoubleClickTime(void);
4636c2c66affSColin Finck HWND WINAPI GetFocus(void);
4637c2c66affSColin Finck HWND WINAPI GetForegroundWindow(void);
4638c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
4639c2c66affSColin Finck DWORD WINAPI GetGuiResources(_In_ HANDLE, _In_ DWORD);
4640c2c66affSColin Finck #endif
4641c2c66affSColin Finck BOOL WINAPI GetIconInfo(_In_ HICON, _Out_ PICONINFO);
4642c2c66affSColin Finck BOOL WINAPI GetIconInfoExA(_In_ HICON, _Inout_ ICONINFOEXA*);
4643c2c66affSColin Finck BOOL WINAPI GetIconInfoExW(_In_ HICON, _Inout_ ICONINFOEXW*);
4644c2c66affSColin Finck BOOL WINAPI GetInputState(void);
4645c2c66affSColin Finck UINT WINAPI GetKBCodePage(void);
4646c2c66affSColin Finck HKL WINAPI GetKeyboardLayout(_In_ DWORD);
4647c2c66affSColin Finck 
4648c2c66affSColin Finck UINT
4649c2c66affSColin Finck WINAPI
4650c2c66affSColin Finck GetKeyboardLayoutList(
4651c2c66affSColin Finck   _In_ int nBuff,
4652c2c66affSColin Finck   _Out_writes_to_opt_(nBuff, return) HKL FAR *lpList);
4653c2c66affSColin Finck 
4654c2c66affSColin Finck BOOL WINAPI GetKeyboardLayoutNameA(_Out_writes_(KL_NAMELENGTH) LPSTR);
4655c2c66affSColin Finck BOOL WINAPI GetKeyboardLayoutNameW(_Out_writes_(KL_NAMELENGTH) LPWSTR);
4656c2c66affSColin Finck 
4657c2c66affSColin Finck _Check_return_
4658c2c66affSColin Finck BOOL
4659c2c66affSColin Finck WINAPI
4660c2c66affSColin Finck GetKeyboardState(
4661c2c66affSColin Finck   _Out_writes_(256) PBYTE lpKeyState);
4662c2c66affSColin Finck 
4663c2c66affSColin Finck int WINAPI GetKeyboardType(_In_ int);
4664c2c66affSColin Finck 
4665c2c66affSColin Finck int
4666c2c66affSColin Finck WINAPI
4667c2c66affSColin Finck GetKeyNameTextA(
4668c2c66affSColin Finck   _In_ LONG lParam,
4669c2c66affSColin Finck   _Out_writes_(cchSize) LPSTR lpString,
4670c2c66affSColin Finck   _In_ int cchSize);
4671c2c66affSColin Finck 
4672c2c66affSColin Finck int
4673c2c66affSColin Finck WINAPI
4674c2c66affSColin Finck GetKeyNameTextW(
4675c2c66affSColin Finck   _In_ LONG lParam,
4676c2c66affSColin Finck   _Out_writes_(cchSize) LPWSTR lpString,
4677c2c66affSColin Finck   _In_ int cchSize);
4678c2c66affSColin Finck 
4679c2c66affSColin Finck SHORT WINAPI GetKeyState(_In_ int);
4680c2c66affSColin Finck HWND WINAPI GetLastActivePopup(_In_ HWND);
4681c2c66affSColin Finck HMENU WINAPI GetMenu(_In_ HWND);
4682c2c66affSColin Finck LONG WINAPI GetMenuCheckMarkDimensions(void);
4683c2c66affSColin Finck DWORD WINAPI GetMenuContextHelpId(_In_ HMENU);
4684d40d642fSMark Jansen UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags);
4685c2c66affSColin Finck int WINAPI GetMenuItemCount(_In_opt_ HMENU);
4686c2c66affSColin Finck UINT WINAPI GetMenuItemID(_In_ HMENU, _In_ int);
4687c2c66affSColin Finck BOOL WINAPI GetMenuItemInfoA(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOA);
4688c2c66affSColin Finck BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW);
4689c2c66affSColin Finck BOOL WINAPI GetMenuItemRect(_In_opt_ HWND, _In_ HMENU, _In_ UINT, _Out_ LPRECT);
4690c2c66affSColin Finck UINT WINAPI GetMenuState(_In_ HMENU, _In_ UINT, _In_ UINT);
4691c2c66affSColin Finck 
4692c2c66affSColin Finck int
4693c2c66affSColin Finck WINAPI
4694c2c66affSColin Finck GetMenuStringA(
4695c2c66affSColin Finck   _In_ HMENU hMenu,
4696c2c66affSColin Finck   _In_ UINT uIDItem,
4697c2c66affSColin Finck   _Out_writes_opt_(cchMax) LPSTR lpString,
4698c2c66affSColin Finck   _In_ int cchMax,
4699c2c66affSColin Finck   _In_ UINT flags);
4700c2c66affSColin Finck 
4701c2c66affSColin Finck int
4702c2c66affSColin Finck WINAPI
4703c2c66affSColin Finck GetMenuStringW(
4704c2c66affSColin Finck   _In_ HMENU hMenu,
4705c2c66affSColin Finck   _In_ UINT uIDItem,
4706c2c66affSColin Finck   _Out_writes_opt_(cchMax) LPWSTR lpString,
4707c2c66affSColin Finck   _In_ int cchMax,
4708c2c66affSColin Finck   _In_ UINT flags);
4709c2c66affSColin Finck 
4710c2c66affSColin Finck BOOL WINAPI GetMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT);
4711c2c66affSColin Finck BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT);
4712c2c66affSColin Finck 
4713c2c66affSColin Finck LPARAM WINAPI GetMessageExtraInfo(void);
4714c2c66affSColin Finck DWORD WINAPI GetMessagePos(void);
4715c2c66affSColin Finck LONG WINAPI GetMessageTime(void);
4716c2c66affSColin Finck 
4717c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
4718c2c66affSColin Finck int
4719c2c66affSColin Finck WINAPI
4720c2c66affSColin Finck GetMouseMovePointsEx(
4721c2c66affSColin Finck   _In_ UINT cbSize,
4722c2c66affSColin Finck   _In_ LPMOUSEMOVEPOINT lppt,
4723c2c66affSColin Finck   _Out_writes_(nBufPoints) LPMOUSEMOVEPOINT lpptBuf,
4724c2c66affSColin Finck   _In_ int nBufPoints,
4725c2c66affSColin Finck   _In_ DWORD resolution);
4726c2c66affSColin Finck #endif
4727c2c66affSColin Finck 
4728c2c66affSColin Finck HWND WINAPI GetNextDlgGroupItem(_In_ HWND, _In_opt_ HWND, _In_ BOOL);
4729c2c66affSColin Finck HWND WINAPI GetNextDlgTabItem(_In_ HWND, _In_opt_ HWND, _In_ BOOL);
4730c2c66affSColin Finck #define GetNextWindow(h,c) GetWindow(h,c)
4731c2c66affSColin Finck HWND WINAPI GetOpenClipboardWindow(void);
4732c2c66affSColin Finck HWND WINAPI GetParent(_In_ HWND);
4733c2c66affSColin Finck 
4734c2c66affSColin Finck int
4735c2c66affSColin Finck WINAPI
4736c2c66affSColin Finck GetPriorityClipboardFormat(
4737c2c66affSColin Finck   _In_reads_(cFormats) UINT *paFormatPriorityList,
4738c2c66affSColin Finck   _In_ int cFormats);
4739c2c66affSColin Finck 
4740c2c66affSColin Finck HANDLE WINAPI GetPropA(_In_ HWND, _In_ LPCSTR);
4741c2c66affSColin Finck HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR);
4742c2c66affSColin Finck 
4743c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
4744c2c66affSColin Finck 
4745c2c66affSColin Finck UINT
4746c2c66affSColin Finck WINAPI
4747c2c66affSColin Finck GetRawInputBuffer(
4748c2c66affSColin Finck   _Out_writes_bytes_opt_(*pcbSize) PRAWINPUT pData,
4749c2c66affSColin Finck   _Inout_ PUINT pcbSize,
4750c2c66affSColin Finck   _In_ UINT cbSizeHeader);
4751c2c66affSColin Finck 
4752c2c66affSColin Finck UINT
4753c2c66affSColin Finck WINAPI
4754c2c66affSColin Finck GetRawInputData(
4755c2c66affSColin Finck   _In_ HRAWINPUT hRawInput,
4756c2c66affSColin Finck   _In_ UINT uiCommand,
4757c2c66affSColin Finck   _Out_writes_bytes_to_opt_(*pcbSize, return) LPVOID pData,
4758c2c66affSColin Finck   _Inout_ PUINT pcbSize,
4759c2c66affSColin Finck   _In_ UINT cbSizeHeader);
4760c2c66affSColin Finck 
4761c2c66affSColin Finck UINT
4762c2c66affSColin Finck WINAPI
4763c2c66affSColin Finck GetRawInputDeviceInfoA(
4764c2c66affSColin Finck   _In_opt_ HANDLE hDevice,
4765c2c66affSColin Finck   _In_ UINT uiCommand,
4766c2c66affSColin Finck   _Inout_updates_bytes_to_opt_(*pcbSize, *pcbSize) LPVOID pData,
4767c2c66affSColin Finck   _Inout_ PUINT pcbSize);
4768c2c66affSColin Finck 
4769c2c66affSColin Finck UINT
4770c2c66affSColin Finck WINAPI
4771c2c66affSColin Finck GetRawInputDeviceInfoW(
4772c2c66affSColin Finck   _In_opt_ HANDLE hDevice,
4773c2c66affSColin Finck   _In_ UINT uiCommand,
4774c2c66affSColin Finck   _Inout_updates_bytes_to_opt_(*pcbSize, *pcbSize) LPVOID pData,
4775c2c66affSColin Finck   _Inout_ PUINT pcbSize);
4776c2c66affSColin Finck 
4777c2c66affSColin Finck UINT
4778c2c66affSColin Finck WINAPI
4779c2c66affSColin Finck GetRawInputDeviceList(
4780c2c66affSColin Finck   _Out_writes_opt_(*puiNumDevices) PRAWINPUTDEVICELIST pRawInputDeviceList,
4781c2c66affSColin Finck   _Inout_ PUINT puiNumDevices,
4782c2c66affSColin Finck   _In_ UINT cbSize);
4783c2c66affSColin Finck 
4784c2c66affSColin Finck UINT
4785c2c66affSColin Finck WINAPI
4786c2c66affSColin Finck GetRegisteredRawInputDevices(
4787c2c66affSColin Finck   _Out_writes_opt_(*puiNumDevices) PRAWINPUTDEVICE pRawInputDevices,
4788c2c66affSColin Finck   _Inout_ PUINT puiNumDevices,
4789c2c66affSColin Finck   _In_ UINT cbSize);
4790c2c66affSColin Finck 
4791c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0501) */
4792c2c66affSColin Finck 
4793c2c66affSColin Finck DWORD WINAPI GetQueueStatus(_In_ UINT);
4794c2c66affSColin Finck BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO);
4795c2c66affSColin Finck int WINAPI GetScrollPos(_In_ HWND, _In_ int);
4796c2c66affSColin Finck BOOL WINAPI GetScrollRange(_In_ HWND, _In_ int, _Out_ LPINT, _Out_ LPINT);
4797c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
4798c2c66affSColin Finck HWND WINAPI GetShellWindow(void);
4799c2c66affSColin Finck #endif
4800c2c66affSColin Finck HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int);
4801c2c66affSColin Finck DWORD WINAPI GetSysColor(_In_ int);
4802c2c66affSColin Finck HBRUSH WINAPI GetSysColorBrush(_In_ int);
4803c2c66affSColin Finck #define GetSysModalWindow() (NULL)
4804c2c66affSColin Finck HMENU WINAPI GetSystemMenu(_In_ HWND, _In_ BOOL);
4805c2c66affSColin Finck int WINAPI GetSystemMetrics(_In_ int);
4806c2c66affSColin Finck 
4807c2c66affSColin Finck DWORD
4808c2c66affSColin Finck WINAPI
4809c2c66affSColin Finck GetTabbedTextExtentA(
4810c2c66affSColin Finck   _In_ HDC hdc,
4811c2c66affSColin Finck   _In_reads_(chCount) LPCSTR lpString,
4812c2c66affSColin Finck   _In_ int chCount,
4813c2c66affSColin Finck   _In_ int nTabPositions,
4814c2c66affSColin Finck   _In_reads_opt_(nTabPositions) CONST INT *lpnTabStopPositions);
4815c2c66affSColin Finck 
4816c2c66affSColin Finck DWORD
4817c2c66affSColin Finck WINAPI
4818c2c66affSColin Finck GetTabbedTextExtentW(
4819c2c66affSColin Finck   _In_ HDC hdc,
4820c2c66affSColin Finck   _In_reads_(chCount) LPCWSTR lpString,
4821c2c66affSColin Finck   _In_ int chCount,
4822c2c66affSColin Finck   _In_ int nTabPositions,
4823c2c66affSColin Finck   _In_reads_opt_(nTabPositions) CONST INT *lpnTabStopPositions);
4824c2c66affSColin Finck 
4825c2c66affSColin Finck LONG WINAPI GetWindowLongA(_In_ HWND, _In_ int);
4826c2c66affSColin Finck LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int);
4827c2c66affSColin Finck #ifdef _WIN64
4828c2c66affSColin Finck LONG_PTR WINAPI GetWindowLongPtrA(_In_ HWND, _In_ int);
4829c2c66affSColin Finck LONG_PTR WINAPI GetWindowLongPtrW(_In_ HWND, _In_ int);
4830c2c66affSColin Finck #else
4831c2c66affSColin Finck #define GetWindowLongPtrA GetWindowLongA
4832c2c66affSColin Finck #define GetWindowLongPtrW GetWindowLongW
4833c2c66affSColin Finck #endif
4834c2c66affSColin Finck HDESK WINAPI GetThreadDesktop(_In_ DWORD);
4835c2c66affSColin Finck HWND WINAPI GetTopWindow(_In_opt_ HWND);
4836c2c66affSColin Finck BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL);
4837c2c66affSColin Finck int WINAPI GetUpdateRgn(_In_ HWND, _In_ HRGN, _In_ BOOL);
4838c2c66affSColin Finck 
4839c2c66affSColin Finck BOOL
4840c2c66affSColin Finck WINAPI
4841c2c66affSColin Finck GetUserObjectInformationA(
4842c2c66affSColin Finck   _In_ HANDLE hObj,
4843c2c66affSColin Finck   _In_ int nIndex,
4844c2c66affSColin Finck   _Out_writes_bytes_opt_(nLength) PVOID pvInfo,
4845c2c66affSColin Finck   _In_ DWORD nLength,
4846c2c66affSColin Finck   _Out_opt_ LPDWORD lpnLengthNeeded);
4847c2c66affSColin Finck 
4848c2c66affSColin Finck BOOL
4849c2c66affSColin Finck WINAPI
4850c2c66affSColin Finck GetUserObjectInformationW(
4851c2c66affSColin Finck   _In_ HANDLE hObj,
4852c2c66affSColin Finck   _In_ int nIndex,
4853c2c66affSColin Finck   _Out_writes_bytes_opt_(nLength) PVOID pvInfo,
4854c2c66affSColin Finck   _In_ DWORD nLength,
4855c2c66affSColin Finck   _Out_opt_ LPDWORD lpnLengthNeeded);
4856c2c66affSColin Finck 
4857c2c66affSColin Finck BOOL
4858c2c66affSColin Finck WINAPI
4859c2c66affSColin Finck GetUserObjectSecurity(
4860c2c66affSColin Finck   _In_ HANDLE hObj,
4861c2c66affSColin Finck   _In_ PSECURITY_INFORMATION pSIRequested,
4862c2c66affSColin Finck   _Out_writes_bytes_opt_(nLength) PSECURITY_DESCRIPTOR pSID,
4863c2c66affSColin Finck   _In_ DWORD nLength,
4864c2c66affSColin Finck   _Out_ LPDWORD lpnLengthNeeded);
4865c2c66affSColin Finck 
4866c2c66affSColin Finck HWND WINAPI GetWindow(_In_ HWND, _In_ UINT);
4867c2c66affSColin Finck DWORD WINAPI GetWindowContextHelpId(_In_ HWND);
4868c2c66affSColin Finck HDC WINAPI GetWindowDC(_In_opt_ HWND);
4869c2c66affSColin Finck BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT*);
4870c2c66affSColin Finck BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT);
4871c2c66affSColin Finck int WINAPI GetWindowRgn(_In_ HWND, _In_ HRGN);
4872c2c66affSColin Finck #define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
4873c2c66affSColin Finck 
4874c2c66affSColin Finck _Ret_range_(0, nMaxCount)
4875c2c66affSColin Finck int
4876c2c66affSColin Finck WINAPI
4877c2c66affSColin Finck GetWindowTextA(
4878c2c66affSColin Finck   _In_ HWND hWnd,
4879c2c66affSColin Finck   _Out_writes_(nMaxCount) LPSTR lpString,
4880c2c66affSColin Finck   _In_ int nMaxCount);
4881c2c66affSColin Finck 
4882c2c66affSColin Finck _Ret_range_(0, nMaxCount)
4883c2c66affSColin Finck int
4884c2c66affSColin Finck WINAPI
4885c2c66affSColin Finck GetWindowTextW(
4886c2c66affSColin Finck   _In_ HWND hWnd,
4887c2c66affSColin Finck   _Out_writes_(nMaxCount) LPWSTR lpString,
4888c2c66affSColin Finck   _In_ int nMaxCount);
4889c2c66affSColin Finck 
4890c2c66affSColin Finck int WINAPI GetWindowTextLengthA(_In_ HWND);
4891c2c66affSColin Finck int WINAPI GetWindowTextLengthW(_In_ HWND);
4892c2c66affSColin Finck WORD WINAPI GetWindowWord(_In_ HWND, _In_ int);
4893c2c66affSColin Finck 
4894c2c66affSColin Finck BOOL
4895c2c66affSColin Finck WINAPI
4896c2c66affSColin Finck GetAltTabInfoA(
4897c2c66affSColin Finck   _In_opt_ HWND hwnd,
4898c2c66affSColin Finck   _In_ int iItem,
4899c2c66affSColin Finck   _Inout_ PALTTABINFO pati,
4900c2c66affSColin Finck   _Out_writes_opt_(cchItemText) LPSTR pszItemText,
4901c2c66affSColin Finck   _In_ UINT cchItemText);
4902c2c66affSColin Finck 
4903c2c66affSColin Finck BOOL
4904c2c66affSColin Finck WINAPI
4905c2c66affSColin Finck GetAltTabInfoW(
4906c2c66affSColin Finck   _In_opt_ HWND hwnd,
4907c2c66affSColin Finck   _In_ int iItem,
4908c2c66affSColin Finck   _Inout_ PALTTABINFO pati,
4909c2c66affSColin Finck   _Out_writes_opt_(cchItemText) LPWSTR pszItemText,
4910c2c66affSColin Finck   _In_ UINT cchItemText);
4911c2c66affSColin Finck 
4912c2c66affSColin Finck BOOL WINAPI GetComboBoxInfo(_In_ HWND, _Inout_ PCOMBOBOXINFO);
4913c2c66affSColin Finck BOOL WINAPI GetCursorInfo(_Inout_ PCURSORINFO);
4914c2c66affSColin Finck #if (WINVER >= 0x0500)
4915c2c66affSColin Finck BOOL WINAPI GetGUIThreadInfo(_In_ DWORD, _Inout_ LPGUITHREADINFO);
4916c2c66affSColin Finck #endif
4917c2c66affSColin Finck BOOL WINAPI GetLastInputInfo(_Out_ PLASTINPUTINFO);
4918c2c66affSColin Finck DWORD WINAPI GetListBoxInfo(_In_ HWND);
4919c2c66affSColin Finck BOOL WINAPI GetMenuBarInfo(_In_ HWND, _In_ LONG, _In_ LONG, _Inout_ PMENUBARINFO);
4920c2c66affSColin Finck BOOL WINAPI GetMenuInfo(_In_ HMENU, _Inout_ LPMENUINFO);
4921c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
4922c2c66affSColin Finck BOOL WINAPI GetProcessDefaultLayout(_Out_ DWORD*);
4923c2c66affSColin Finck #endif
4924c2c66affSColin Finck BOOL WINAPI GetScrollBarInfo(_In_ HWND, _In_ LONG, _Inout_ PSCROLLBARINFO);
4925c2c66affSColin Finck BOOL WINAPI GetTitleBarInfo(_In_ HWND, _Inout_ PTITLEBARINFO);
4926c2c66affSColin Finck BOOL WINAPI GetWindowInfo(_In_ HWND, _Inout_ PWINDOWINFO);
4927c2c66affSColin Finck BOOL WINAPI GetMonitorInfoA(_In_ HMONITOR, _Inout_ LPMONITORINFO);
4928c2c66affSColin Finck BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO);
4929c2c66affSColin Finck 
4930ad73e174SCarl J. Bialorucki #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
4931ad73e174SCarl J. Bialorucki #define USER_DEFAULT_SCREEN_DPI 96
4932ad73e174SCarl J. Bialorucki #endif /* _WIN32_WINNT >= _WIN32_WINNT_VISTA */
4933ad73e174SCarl J. Bialorucki 
4934ad73e174SCarl J. Bialorucki #if (_WIN32_WINNT >= 0x0605) /* Windows 10 pre-Threshold */
4935ad73e174SCarl J. Bialorucki UINT WINAPI GetDpiForSystem(VOID);
4936ad73e174SCarl J. Bialorucki UINT WINAPI GetDpiForWindow(_In_ HWND hwnd);
4937ad73e174SCarl J. Bialorucki #endif /* _WIN32_WINNT >= 0x0605 */
4938ad73e174SCarl J. Bialorucki 
4939c2c66affSColin Finck UINT
4940c2c66affSColin Finck WINAPI
4941c2c66affSColin Finck GetWindowModuleFileNameA(
4942c2c66affSColin Finck   _In_ HWND hwnd,
4943c2c66affSColin Finck   _Out_writes_to_(cchFileNameMax, return) LPSTR pszFileName,
4944c2c66affSColin Finck   _In_ UINT cchFileNameMax);
4945c2c66affSColin Finck 
4946c2c66affSColin Finck UINT
4947c2c66affSColin Finck WINAPI
4948c2c66affSColin Finck GetWindowModuleFileNameW(
4949c2c66affSColin Finck   _In_ HWND hwnd,
4950c2c66affSColin Finck   _Out_writes_to_(cchFileNameMax, return) LPWSTR pszFileName,
4951c2c66affSColin Finck   _In_ UINT cchFileNameMax);
4952c2c66affSColin Finck 
4953c2c66affSColin Finck BOOL WINAPI GrayStringA(_In_ HDC, _In_opt_ HBRUSH, _In_opt_ GRAYSTRINGPROC, _In_ LPARAM, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int);
4954c2c66affSColin Finck BOOL WINAPI GrayStringW(_In_ HDC, _In_opt_ HBRUSH, _In_opt_ GRAYSTRINGPROC, _In_ LPARAM, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int);
4955c2c66affSColin Finck BOOL WINAPI HideCaret(_In_opt_ HWND);
4956c2c66affSColin Finck BOOL WINAPI HiliteMenuItem(_In_ HWND, _In_ HMENU, _In_ UINT, _In_ UINT);
4957c2c66affSColin Finck BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int);
4958c2c66affSColin Finck BOOL WINAPI InSendMessage(void);
4959c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
4960c2c66affSColin Finck DWORD WINAPI InSendMessageEx(_Reserved_ LPVOID);
4961c2c66affSColin Finck #endif
4962c2c66affSColin Finck BOOL WINAPI InsertMenuA(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCSTR);
4963c2c66affSColin Finck BOOL WINAPI InsertMenuW(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR);
4964c2c66affSColin Finck BOOL WINAPI InsertMenuItemA(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOA);
4965c2c66affSColin Finck BOOL WINAPI InsertMenuItemW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW);
4966c2c66affSColin Finck 
4967c2c66affSColin Finck INT
4968c2c66affSColin Finck WINAPI
4969c2c66affSColin Finck InternalGetWindowText(
4970c2c66affSColin Finck   _In_ HWND hWnd,
4971c2c66affSColin Finck   _Out_writes_to_(cchMaxCount, return + 1) LPWSTR pString,
4972c2c66affSColin Finck   _In_ int cchMaxCount);
4973c2c66affSColin Finck 
4974c2c66affSColin Finck BOOL WINAPI IntersectRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT);
4975c2c66affSColin Finck BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL);
4976c2c66affSColin Finck BOOL WINAPI InvalidateRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL);
4977c2c66affSColin Finck BOOL WINAPI InvertRect(_In_ HDC, _In_ LPCRECT);
4978c2c66affSColin Finck BOOL WINAPI IsCharAlphaA(_In_ CHAR ch);
4979c2c66affSColin Finck BOOL WINAPI IsCharAlphaNumericA(_In_ CHAR);
4980c2c66affSColin Finck BOOL WINAPI IsCharAlphaNumericW(_In_ WCHAR);
4981c2c66affSColin Finck BOOL WINAPI IsCharAlphaW( _In_ WCHAR);
4982c2c66affSColin Finck BOOL WINAPI IsCharLowerA(_In_ CHAR);
4983c2c66affSColin Finck BOOL WINAPI IsCharLowerW(_In_ WCHAR);
4984c2c66affSColin Finck BOOL WINAPI IsCharUpperA(_In_ CHAR);
4985c2c66affSColin Finck BOOL WINAPI IsCharUpperW(_In_ WCHAR);
4986c2c66affSColin Finck BOOL WINAPI IsChild(_In_ HWND, _In_ HWND);
4987c2c66affSColin Finck BOOL WINAPI IsClipboardFormatAvailable(_In_ UINT);
4988c2c66affSColin Finck BOOL WINAPI IsDialogMessageA(_In_ HWND, _In_ LPMSG);
4989c2c66affSColin Finck BOOL WINAPI IsDialogMessageW(_In_ HWND, _In_ LPMSG);
4990c2c66affSColin Finck UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int);
4991c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0501)
4992c2c66affSColin Finck BOOL WINAPI IsGUIThread(_In_ BOOL);
4993c2c66affSColin Finck #endif
4994c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
4995c2c66affSColin Finck BOOL WINAPI IsHungAppWindow(_In_ HWND);
4996c2c66affSColin Finck #endif
4997c2c66affSColin Finck BOOL WINAPI IsIconic(_In_ HWND);
4998c2c66affSColin Finck BOOL WINAPI IsMenu(_In_ HMENU);
4999c2c66affSColin Finck BOOL WINAPI IsRectEmpty(_In_ LPCRECT);
5000c2c66affSColin Finck BOOL WINAPI IsWindow(_In_opt_ HWND);
5001c2c66affSColin Finck BOOL WINAPI IsWindowEnabled(_In_ HWND);
5002c2c66affSColin Finck BOOL WINAPI IsWindowUnicode(_In_ HWND);
5003c2c66affSColin Finck BOOL WINAPI IsWindowVisible(_In_ HWND);
5004c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
5005c2c66affSColin Finck BOOL WINAPI IsWinEventHookInstalled(_In_ DWORD);
5006c2c66affSColin Finck #endif
5007c2c66affSColin Finck BOOL WINAPI IsZoomed(_In_ HWND);
5008c2c66affSColin Finck VOID WINAPI keybd_event(_In_ BYTE, _In_ BYTE, _In_ DWORD, _In_ ULONG_PTR);
5009c2c66affSColin Finck BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR);
5010c2c66affSColin Finck BOOL WINAPI KillSystemTimer(HWND,UINT_PTR);
5011c2c66affSColin Finck HACCEL WINAPI LoadAcceleratorsA(_In_opt_ HINSTANCE, _In_ LPCSTR);
5012c2c66affSColin Finck HACCEL WINAPI LoadAcceleratorsW(_In_opt_ HINSTANCE, _In_ LPCWSTR);
5013c2c66affSColin Finck HBITMAP WINAPI LoadBitmapA(_In_opt_ HINSTANCE, _In_ LPCSTR);
5014c2c66affSColin Finck HBITMAP WINAPI LoadBitmapW(_In_opt_ HINSTANCE, _In_ LPCWSTR);
5015c2c66affSColin Finck HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR);
5016c2c66affSColin Finck HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR);
5017c2c66affSColin Finck HCURSOR WINAPI LoadCursorFromFileA(_In_ LPCSTR);
5018c2c66affSColin Finck HCURSOR WINAPI LoadCursorFromFileW(_In_ LPCWSTR);
5019bf29d98aSMark Jansen HICON WINAPI LoadIconA(_In_opt_ HINSTANCE hInstance, _In_ LPCSTR lpIconName);
5020bf29d98aSMark Jansen HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName);
5021bf29d98aSMark Jansen HANDLE WINAPI LoadImageA(_In_opt_ HINSTANCE hInst, _In_ LPCSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad);
5022bf29d98aSMark Jansen HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad);
5023c2c66affSColin Finck HKL WINAPI LoadKeyboardLayoutA(_In_ LPCSTR, _In_ UINT);
5024c2c66affSColin Finck HKL WINAPI LoadKeyboardLayoutW(_In_ LPCWSTR, _In_ UINT);
5025c2c66affSColin Finck HMENU WINAPI LoadMenuA(_In_opt_ HINSTANCE, _In_ LPCSTR);
5026c2c66affSColin Finck HMENU WINAPI LoadMenuIndirectA(_In_ const MENUTEMPLATE*);
5027c2c66affSColin Finck HMENU WINAPI LoadMenuIndirectW(_In_ const MENUTEMPLATE*);
5028c2c66affSColin Finck HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR);
5029c2c66affSColin Finck 
5030c2c66affSColin Finck int
5031c2c66affSColin Finck WINAPI
5032c2c66affSColin Finck LoadStringA(
5033c2c66affSColin Finck   _In_opt_ HINSTANCE hInstance,
5034c2c66affSColin Finck   _In_ UINT uID,
5035c2c66affSColin Finck   _Out_writes_to_(cchBufferMax, return + 1) LPSTR lpBuffer,
5036c2c66affSColin Finck   _In_ int cchBufferMax);
5037c2c66affSColin Finck 
5038c2c66affSColin Finck int
5039c2c66affSColin Finck WINAPI
5040c2c66affSColin Finck LoadStringW(
5041c2c66affSColin Finck   _In_opt_ HINSTANCE hInstance,
5042c2c66affSColin Finck   _In_ UINT uID,
5043c2c66affSColin Finck   _Out_writes_to_(cchBufferMax, return + 1) LPWSTR lpBuffer,
5044c2c66affSColin Finck   _In_ int cchBufferMax);
5045c2c66affSColin Finck 
5046c2c66affSColin Finck BOOL WINAPI LockWindowUpdate(_In_opt_ HWND);
5047c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
5048c2c66affSColin Finck BOOL WINAPI LockWorkStation(void);
5049c2c66affSColin Finck #endif
5050c2c66affSColin Finck 
5051c2c66affSColin Finck typedef struct {
5052c2c66affSColin Finck   WORD Reserved;
5053c2c66affSColin Finck   WORD ResType;
5054c2c66affSColin Finck   WORD ResCount;
5055c2c66affSColin Finck } NEWHEADER;
5056c2c66affSColin Finck 
5057c2c66affSColin Finck int WINAPI LookupIconIdFromDirectory(_In_reads_bytes_(sizeof(NEWHEADER)) PBYTE, _In_ BOOL);
5058c2c66affSColin Finck int WINAPI LookupIconIdFromDirectoryEx(_In_reads_bytes_(sizeof(NEWHEADER)) PBYTE, _In_ BOOL, _In_ int, _In_ int, _In_ UINT);
5059c2c66affSColin Finck BOOL WINAPI MapDialogRect(_In_ HWND, _Inout_ LPRECT);
5060c2c66affSColin Finck UINT WINAPI MapVirtualKeyA(_In_ UINT, _In_ UINT);
5061c2c66affSColin Finck UINT WINAPI MapVirtualKeyExA(_In_ UINT, _In_ UINT, _In_opt_ HKL);
5062c2c66affSColin Finck UINT WINAPI MapVirtualKeyExW(_In_ UINT, _In_ UINT, _In_opt_ HKL);
5063c2c66affSColin Finck UINT WINAPI MapVirtualKeyW(_In_ UINT, _In_ UINT);
5064c2c66affSColin Finck 
5065c2c66affSColin Finck int
5066c2c66affSColin Finck WINAPI
5067c2c66affSColin Finck MapWindowPoints(
5068c2c66affSColin Finck   _In_opt_ HWND hWndFrom,
5069c2c66affSColin Finck   _In_opt_ HWND hWndTo,
5070c2c66affSColin Finck   _Inout_updates_(cPoints) LPPOINT lpPoints,
5071c2c66affSColin Finck   _In_ UINT cPoints);
5072c2c66affSColin Finck 
5073c2c66affSColin Finck int WINAPI MenuItemFromPoint(_In_opt_ HWND, _In_ HMENU, _In_ POINT);
5074ab760e53SMark Jansen BOOL WINAPI MessageBeep(_In_ UINT uType);
5075ab760e53SMark Jansen int WINAPI MessageBoxA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType);
5076ab760e53SMark Jansen int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType);
5077ab760e53SMark Jansen int WINAPI MessageBoxExA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType, _In_ WORD wLanguageId);
5078ab760e53SMark Jansen int WINAPI MessageBoxExW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType, _In_ WORD wLanguageId);
5079ab760e53SMark Jansen int WINAPI MessageBoxIndirectA(_In_ CONST MSGBOXPARAMSA* lpmbp);
5080ab760e53SMark Jansen int WINAPI MessageBoxIndirectW(_In_ CONST MSGBOXPARAMSW* lpmbp);
5081c2c66affSColin Finck BOOL WINAPI ModifyMenuA(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCSTR);
5082c2c66affSColin Finck BOOL WINAPI ModifyMenuW(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR);
5083c2c66affSColin Finck HMONITOR WINAPI MonitorFromPoint(_In_ POINT, _In_ DWORD);
5084c2c66affSColin Finck HMONITOR WINAPI MonitorFromRect(_In_ LPCRECT, _In_ DWORD);
5085c2c66affSColin Finck HMONITOR WINAPI MonitorFromWindow(_In_ HWND, _In_ DWORD);
5086c2c66affSColin Finck void WINAPI mouse_event(_In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ ULONG_PTR);
5087c2c66affSColin Finck BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL);
5088c2c66affSColin Finck 
5089c2c66affSColin Finck DWORD
5090c2c66affSColin Finck WINAPI
5091c2c66affSColin Finck MsgWaitForMultipleObjects(
5092c2c66affSColin Finck   _In_ DWORD nCount,
5093c2c66affSColin Finck   _In_reads_opt_(nCount) CONST HANDLE *pHandles,
5094c2c66affSColin Finck   _In_ BOOL fWaitAll,
5095c2c66affSColin Finck   _In_ DWORD dwMilliseconds,
5096c2c66affSColin Finck   _In_ DWORD dwWakeMask);
5097c2c66affSColin Finck 
5098c2c66affSColin Finck DWORD
5099c2c66affSColin Finck WINAPI
5100c2c66affSColin Finck MsgWaitForMultipleObjectsEx(
5101c2c66affSColin Finck   _In_ DWORD nCount,
5102c2c66affSColin Finck   _In_reads_opt_(nCount) CONST HANDLE *pHandles,
5103c2c66affSColin Finck   _In_ DWORD dwMilliseconds,
5104c2c66affSColin Finck   _In_ DWORD dwWakeMask,
5105c2c66affSColin Finck   _In_ DWORD dwFlags);
5106c2c66affSColin Finck 
5107c2c66affSColin Finck #if (WINVER >= 0x0500)
5108c2c66affSColin Finck void WINAPI NotifyWinEvent(_In_ DWORD, _In_ HWND, _In_ LONG, _In_ LONG);
5109c2c66affSColin Finck #endif
5110c2c66affSColin Finck DWORD WINAPI OemKeyScan(_In_ WORD);
5111c2c66affSColin Finck 
5112c2c66affSColin Finck BOOL
5113c2c66affSColin Finck WINAPI
5114c2c66affSColin Finck OemToCharA(
5115c2c66affSColin Finck   _In_ LPCSTR pSrc,
5116c2c66affSColin Finck   _Out_writes_(_Inexpressible_(strlen(pSrc) + 1)) LPSTR pDst);
5117c2c66affSColin Finck 
5118c2c66affSColin Finck BOOL
5119c2c66affSColin Finck WINAPI
5120c2c66affSColin Finck OemToCharBuffA(
5121c2c66affSColin Finck   _In_ LPCSTR lpszSrc,
5122c2c66affSColin Finck   _Out_writes_(cchDstLength) LPSTR lpszDst,
5123c2c66affSColin Finck   _In_ DWORD cchDstLength);
5124c2c66affSColin Finck 
5125c2c66affSColin Finck BOOL
5126c2c66affSColin Finck WINAPI
5127c2c66affSColin Finck OemToCharBuffW(
5128c2c66affSColin Finck   _In_ LPCSTR lpszSrc,
5129c2c66affSColin Finck   _Out_writes_(cchDstLength) LPWSTR lpszDst,
5130c2c66affSColin Finck   _In_ DWORD cchDstLength);
5131c2c66affSColin Finck 
5132c2c66affSColin Finck BOOL
5133c2c66affSColin Finck WINAPI
5134c2c66affSColin Finck OemToCharW(
5135c2c66affSColin Finck   _In_ LPCSTR pSrc,
5136c2c66affSColin Finck   _Out_writes_(_Inexpressible_(strlen(pSrc) + 1)) LPWSTR pDst);
5137c2c66affSColin Finck 
5138c2c66affSColin Finck BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int);
5139c2c66affSColin Finck BOOL WINAPI OpenClipboard(_In_opt_ HWND);
5140c2c66affSColin Finck HDESK WINAPI OpenDesktopA(_In_ LPCSTR, _In_ DWORD, _In_ BOOL, _In_ DWORD);
5141c2c66affSColin Finck HDESK WINAPI OpenDesktopW(_In_ LPCWSTR, _In_ DWORD, _In_ BOOL, _In_ DWORD);
5142c2c66affSColin Finck BOOL WINAPI OpenIcon(_In_ HWND);
5143c2c66affSColin Finck HDESK WINAPI OpenInputDesktop(_In_ DWORD, _In_ BOOL, _In_ DWORD);
5144c2c66affSColin Finck HWINSTA WINAPI OpenWindowStationA(_In_ LPCSTR, _In_ BOOL, _In_ DWORD);
5145c2c66affSColin Finck HWINSTA WINAPI OpenWindowStationW(_In_ LPCWSTR, _In_ BOOL, _In_ DWORD);
5146c2c66affSColin Finck BOOL WINAPI PaintDesktop(_In_ HDC);
5147c2c66affSColin Finck BOOL WINAPI PeekMessageA(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT);
5148c2c66affSColin Finck BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT);
5149c2c66affSColin Finck #define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l)
5150c2c66affSColin Finck #define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l)
5151c2c66affSColin Finck BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5152c2c66affSColin Finck BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5153c2c66affSColin Finck 
5154c2c66affSColin Finck __analysis_noreturn
5155c2c66affSColin Finck void WINAPI PostQuitMessage(_In_ int);
5156c2c66affSColin Finck 
5157c2c66affSColin Finck BOOL WINAPI PostThreadMessageA(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5158c2c66affSColin Finck BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5159c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
5160c2c66affSColin Finck BOOL WINAPI PrintWindow(_In_ HWND, _In_ HDC, _In_ UINT);
5161c2c66affSColin Finck #endif
5162c2c66affSColin Finck 
5163c2c66affSColin Finck UINT
5164c2c66affSColin Finck WINAPI
5165c2c66affSColin Finck PrivateExtractIconsA(
5166c2c66affSColin Finck   _In_reads_(MAX_PATH) LPCSTR szFileName,
5167c2c66affSColin Finck   _In_ int nIconIndex,
5168c2c66affSColin Finck   _In_ int cxIcon,
5169c2c66affSColin Finck   _In_ int cyIcon,
5170c2c66affSColin Finck   _Out_writes_opt_(nIcons) HICON *phicon,
5171c2c66affSColin Finck   _Out_writes_opt_(nIcons) UINT *piconid,
5172c2c66affSColin Finck   _In_ UINT nIcons,
5173c2c66affSColin Finck   _In_ UINT flags);
5174c2c66affSColin Finck 
5175c2c66affSColin Finck UINT
5176c2c66affSColin Finck WINAPI
5177c2c66affSColin Finck PrivateExtractIconsW(
5178c2c66affSColin Finck   _In_reads_(MAX_PATH) LPCWSTR szFileName,
5179c2c66affSColin Finck   _In_ int nIconIndex,
5180c2c66affSColin Finck   _In_ int cxIcon,
5181c2c66affSColin Finck   _In_ int cyIcon,
5182c2c66affSColin Finck   _Out_writes_opt_(nIcons) HICON *phicon,
5183c2c66affSColin Finck   _Out_writes_opt_(nIcons) UINT *piconid,
5184c2c66affSColin Finck   _In_ UINT nIcons,
5185c2c66affSColin Finck   _In_ UINT flags);
5186c2c66affSColin Finck 
5187c2c66affSColin Finck UINT WINAPI WINAPI PrivateExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
5188c2c66affSColin Finck UINT WINAPI WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
5189c2c66affSColin Finck BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT);
5190c2c66affSColin Finck HWND WINAPI RealChildWindowFromPoint(_In_ HWND, _In_ POINT);
5191c2c66affSColin Finck 
5192c2c66affSColin Finck UINT
5193c2c66affSColin Finck WINAPI
5194c2c66affSColin Finck RealGetWindowClassA(
5195c2c66affSColin Finck   _In_ HWND hwnd,
5196c2c66affSColin Finck   _Out_writes_to_(cchClassNameMax, return) LPSTR ptszClassName,
5197c2c66affSColin Finck   _In_ UINT cchClassNameMax);
5198c2c66affSColin Finck 
5199c2c66affSColin Finck UINT
5200c2c66affSColin Finck WINAPI
5201c2c66affSColin Finck RealGetWindowClassW(
5202c2c66affSColin Finck   _In_ HWND hwnd,
5203c2c66affSColin Finck   _Out_writes_to_(cchClassNameMax, return) LPWSTR ptszClassName,
5204c2c66affSColin Finck   _In_ UINT cchClassNameMax);
5205c2c66affSColin Finck 
5206c2c66affSColin Finck BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT);
5207c2c66affSColin Finck ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA*);
5208c2c66affSColin Finck ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW*);
5209c2c66affSColin Finck ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA*);
5210c2c66affSColin Finck ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW*);
5211c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0501)
5212c2c66affSColin Finck typedef BOOLEAN (WINAPI * PREGISTERCLASSNAMEW)(LPCWSTR);
5213c2c66affSColin Finck #endif
5214c2c66affSColin Finck UINT WINAPI RegisterClipboardFormatA(_In_ LPCSTR);
5215c2c66affSColin Finck UINT WINAPI RegisterClipboardFormatW(_In_ LPCWSTR);
5216c2c66affSColin Finck #if (WINVER >= 0x0500)
5217c2c66affSColin Finck HDEVNOTIFY WINAPI RegisterDeviceNotificationA(_In_ HANDLE, _In_ LPVOID, _In_ DWORD);
5218c2c66affSColin Finck HDEVNOTIFY WINAPI RegisterDeviceNotificationW(_In_ HANDLE, _In_ LPVOID, _In_ DWORD);
5219c2c66affSColin Finck #endif
5220c2c66affSColin Finck BOOL WINAPI RegisterHotKey(_In_opt_ HWND, _In_ int, _In_ UINT, _In_ UINT);
5221c2c66affSColin Finck BOOL WINAPI RegisterLogonProcess(DWORD,BOOL);
5222c2c66affSColin Finck 
5223c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
5224c2c66affSColin Finck BOOL
5225c2c66affSColin Finck WINAPI
5226c2c66affSColin Finck RegisterRawInputDevices(
5227c2c66affSColin Finck   _In_reads_(uiNumDevices) PCRAWINPUTDEVICE pRawInputDevices,
5228c2c66affSColin Finck   _In_ UINT uiNumDevices,
5229c2c66affSColin Finck   _In_ UINT cbSize);
5230c2c66affSColin Finck #endif
5231c2c66affSColin Finck 
5232c2c66affSColin Finck BOOL WINAPI RegisterShellHookWindow(_In_ HWND);
5233c2c66affSColin Finck UINT WINAPI RegisterWindowMessageA(_In_ LPCSTR);
5234c2c66affSColin Finck UINT WINAPI RegisterWindowMessageW(_In_ LPCWSTR);
5235c2c66affSColin Finck BOOL WINAPI ReleaseCapture(void);
5236c2c66affSColin Finck int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC);
5237c2c66affSColin Finck BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT);
5238c2c66affSColin Finck HANDLE WINAPI RemovePropA(_In_ HWND, _In_ LPCSTR);
5239c2c66affSColin Finck HANDLE WINAPI RemovePropW(_In_ HWND, _In_ LPCWSTR);
5240c2c66affSColin Finck BOOL WINAPI ReplyMessage(_In_ LRESULT);
5241c2c66affSColin Finck BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT);
5242c2c66affSColin Finck VOID WINAPI ScrollChildren(HWND,UINT,WPARAM,LPARAM);
5243c2c66affSColin Finck BOOL WINAPI ScrollDC(_In_ HDC, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT);
5244c2c66affSColin Finck BOOL WINAPI ScrollWindow(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT);
5245c2c66affSColin Finck int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT);
5246c2c66affSColin Finck LRESULT WINAPI SendDlgItemMessageA(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5247c2c66affSColin Finck LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5248c2c66affSColin Finck 
5249c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0403)
5250c2c66affSColin Finck UINT
5251c2c66affSColin Finck WINAPI
5252c2c66affSColin Finck SendInput(
5253c2c66affSColin Finck   _In_ UINT cInputs,
5254c2c66affSColin Finck   _In_reads_(cInputs) LPINPUT pInputs,
5255c2c66affSColin Finck   _In_ int cbSize);
5256c2c66affSColin Finck #endif
5257c2c66affSColin Finck 
5258c2c66affSColin Finck LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5259c2c66affSColin Finck BOOL WINAPI SendMessageCallbackA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ SENDASYNCPROC, _In_ ULONG_PTR);
5260c2c66affSColin Finck BOOL WINAPI SendMessageCallbackW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ SENDASYNCPROC, _In_ ULONG_PTR);
5261c2c66affSColin Finck LRESULT WINAPI SendMessageTimeoutA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR);
5262c2c66affSColin Finck LRESULT WINAPI SendMessageTimeoutW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR);
5263c2c66affSColin Finck LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5264c2c66affSColin Finck BOOL WINAPI SendNotifyMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5265c2c66affSColin Finck BOOL WINAPI SendNotifyMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM);
5266c2c66affSColin Finck HWND WINAPI SetActiveWindow(_In_ HWND);
5267c2c66affSColin Finck HWND WINAPI SetCapture(_In_ HWND hWnd);
5268c2c66affSColin Finck BOOL WINAPI SetCaretBlinkTime(_In_ UINT);
5269c2c66affSColin Finck BOOL WINAPI SetCaretPos(_In_ int, _In_ int);
5270c2c66affSColin Finck DWORD WINAPI SetClassLongA(_In_ HWND, _In_ int, _In_ LONG);
5271c2c66affSColin Finck DWORD WINAPI SetClassLongW(_In_ HWND, _In_ int, _In_ LONG);
5272c2c66affSColin Finck #ifdef _WIN64
5273c2c66affSColin Finck ULONG_PTR WINAPI SetClassLongPtrA(_In_ HWND, _In_ INT, _In_ LONG_PTR);
5274c2c66affSColin Finck ULONG_PTR WINAPI SetClassLongPtrW(_In_ HWND, _In_ INT, _In_ LONG_PTR);
5275c2c66affSColin Finck #else
5276c2c66affSColin Finck #define SetClassLongPtrA SetClassLongA
5277c2c66affSColin Finck #define SetClassLongPtrW SetClassLongW
5278c2c66affSColin Finck #endif
5279c2c66affSColin Finck WORD WINAPI SetClassWord(_In_ HWND, _In_ int, _In_ WORD);
5280c2c66affSColin Finck HANDLE WINAPI SetClipboardData(_In_ UINT, _In_opt_ HANDLE);
5281c2c66affSColin Finck HWND WINAPI SetClipboardViewer(_In_ HWND);
5282c2c66affSColin Finck HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR);
5283c2c66affSColin Finck BOOL WINAPI SetCursorPos(_In_ int, _In_ int);
5284c2c66affSColin Finck VOID WINAPI SetDebugErrorLevel(_In_ DWORD);
5285c2c66affSColin Finck BOOL WINAPI SetDeskWallPaper(LPCSTR);
5286c2c66affSColin Finck BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL);
5287c2c66affSColin Finck BOOL WINAPI SetDlgItemTextA(_In_ HWND, _In_ int, _In_ LPCSTR);
5288c2c66affSColin Finck BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR);
5289c2c66affSColin Finck BOOL WINAPI SetDoubleClickTime(_In_ UINT);
5290c2c66affSColin Finck HWND WINAPI SetFocus(_In_opt_ HWND);
5291c2c66affSColin Finck BOOL WINAPI SetForegroundWindow(_In_ HWND);
5292c2c66affSColin Finck BOOL WINAPI SetKeyboardState(_In_reads_(256) LPBYTE);
5293c2c66affSColin Finck BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU);
5294c2c66affSColin Finck BOOL WINAPI SetMenuContextHelpId(_In_ HMENU, _In_ DWORD);
5295c2c66affSColin Finck BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT);
5296c2c66affSColin Finck BOOL WINAPI SetMenuInfo(_In_ HMENU, _In_ LPCMENUINFO);
5297c2c66affSColin Finck BOOL WINAPI SetMenuItemBitmaps(_In_ HMENU, _In_ UINT, _In_ UINT, _In_opt_ HBITMAP, _In_opt_ HBITMAP);
5298c2c66affSColin Finck BOOL WINAPI SetMenuItemInfoA(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOA);
5299c2c66affSColin Finck BOOL WINAPI SetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW);
5300c2c66affSColin Finck LPARAM WINAPI SetMessageExtraInfo(_In_ LPARAM);
5301c2c66affSColin Finck BOOL WINAPI SetMessageQueue(_In_ int);
5302c2c66affSColin Finck HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND);
5303c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
5304c2c66affSColin Finck BOOL WINAPI SetProcessDefaultLayout(_In_ DWORD);
5305c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
5306c2c66affSColin Finck BOOL WINAPI SetProcessWindowStation(_In_ HWINSTA);
5307c2c66affSColin Finck BOOL WINAPI SetPropA(_In_ HWND, _In_ LPCSTR, _In_opt_ HANDLE);
5308c2c66affSColin Finck BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE);
5309c2c66affSColin Finck BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int);
5310c2c66affSColin Finck BOOL WINAPI SetRectEmpty(_Out_ LPRECT);
5311c2c66affSColin Finck int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL);
5312c2c66affSColin Finck int WINAPI SetScrollPos(_In_ HWND, _In_ int, _In_ int, _In_ BOOL);
5313c2c66affSColin Finck BOOL WINAPI SetScrollRange(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ BOOL);
5314c2c66affSColin Finck 
5315c2c66affSColin Finck BOOL
5316c2c66affSColin Finck WINAPI
5317c2c66affSColin Finck SetSysColors(
5318c2c66affSColin Finck   _In_ int cElements,
5319c2c66affSColin Finck   _In_reads_(cElements) CONST INT * lpaElements,
5320c2c66affSColin Finck   _In_reads_(cElements) CONST COLORREF * lpaRgbValues);
5321c2c66affSColin Finck 
5322c2c66affSColin Finck DWORD_PTR WINAPI SetSysColorsTemp(const COLORREF *, const HBRUSH *, DWORD_PTR);
5323c2c66affSColin Finck #define SetSysModalWindow(h) (NULL)
5324c2c66affSColin Finck BOOL WINAPI SetSystemCursor(_In_ HCURSOR, _In_ DWORD);
5325c2c66affSColin Finck BOOL WINAPI SetSystemMenu(HWND,HMENU);
5326c2c66affSColin Finck BOOL WINAPI SetThreadDesktop(_In_ HDESK);
5327c2c66affSColin Finck UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC);
5328c2c66affSColin Finck UINT_PTR WINAPI SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
5329c2c66affSColin Finck 
5330c2c66affSColin Finck BOOL
5331c2c66affSColin Finck WINAPI
5332c2c66affSColin Finck SetUserObjectInformationA(
5333c2c66affSColin Finck   _In_ HANDLE hObj,
5334c2c66affSColin Finck   _In_ int nIndex,
5335c2c66affSColin Finck   _In_reads_bytes_(nLength) PVOID pvInfo,
5336c2c66affSColin Finck   _In_ DWORD nLength);
5337c2c66affSColin Finck 
5338c2c66affSColin Finck BOOL
5339c2c66affSColin Finck WINAPI
5340c2c66affSColin Finck SetUserObjectInformationW(
5341c2c66affSColin Finck   _In_ HANDLE hObj,
5342c2c66affSColin Finck   _In_ int nIndex,
5343c2c66affSColin Finck   _In_reads_bytes_(nLength) PVOID pvInfo,
5344c2c66affSColin Finck   _In_ DWORD nLength);
5345c2c66affSColin Finck 
5346c2c66affSColin Finck BOOL WINAPI SetUserObjectSecurity(_In_ HANDLE, _In_ PSECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR);
5347c2c66affSColin Finck #if (WINVER >= 0x0500)
5348c2c66affSColin Finck HWINEVENTHOOK WINAPI SetWinEventHook(_In_ UINT, _In_ UINT, _In_opt_ HMODULE, _In_ WINEVENTPROC, _In_ DWORD, _In_ DWORD, _In_ UINT);
5349c2c66affSColin Finck #endif
5350c2c66affSColin Finck BOOL WINAPI SetWindowContextHelpId(_In_ HWND, _In_ DWORD);
5351c2c66affSColin Finck LONG WINAPI SetWindowLongA(_In_ HWND, _In_ int, _In_ LONG);
5352c2c66affSColin Finck LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG);
5353c2c66affSColin Finck #ifdef _WIN64
5354c2c66affSColin Finck LONG_PTR WINAPI SetWindowLongPtrA(_In_ HWND, _In_ int, _In_ LONG_PTR);
5355c2c66affSColin Finck LONG_PTR WINAPI SetWindowLongPtrW(_In_ HWND, _In_ int, _In_ LONG_PTR);
5356c2c66affSColin Finck #else
5357c2c66affSColin Finck #define SetWindowLongPtrA SetWindowLongA
5358c2c66affSColin Finck #define SetWindowLongPtrW SetWindowLongW
5359c2c66affSColin Finck #endif
5360c2c66affSColin Finck BOOL WINAPI SetWindowPlacement(_In_ HWND hWnd, _In_ const WINDOWPLACEMENT*);
5361c2c66affSColin Finck BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT);
5362c2c66affSColin Finck int WINAPI SetWindowRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL);
5363c2c66affSColin Finck HHOOK WINAPI SetWindowsHookA(_In_ int, _In_ HOOKPROC);
5364c2c66affSColin Finck HHOOK WINAPI SetWindowsHookW(_In_ int, _In_ HOOKPROC);
5365c2c66affSColin Finck HHOOK WINAPI SetWindowsHookExA(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD);
5366c2c66affSColin Finck HHOOK WINAPI SetWindowsHookExW(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD);
5367c2c66affSColin Finck BOOL WINAPI SetWindowTextA(_In_ HWND, _In_opt_ LPCSTR);
5368c2c66affSColin Finck BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR);
5369c2c66affSColin Finck WORD WINAPI SetWindowWord(_In_ HWND, _In_ int, _In_ WORD);
5370c2c66affSColin Finck BOOL WINAPI ShowCaret(_In_opt_ HWND);
5371c2c66affSColin Finck int WINAPI ShowCursor(_In_ BOOL);
5372c2c66affSColin Finck BOOL WINAPI ShowOwnedPopups(_In_ HWND, _In_ BOOL);
5373c2c66affSColin Finck BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL);
5374c2c66affSColin Finck BOOL WINAPI ShowWindow(_In_ HWND, _In_ int);
5375c2c66affSColin Finck BOOL WINAPI ShowWindowAsync(_In_ HWND, _In_ int);
5376c2c66affSColin Finck BOOL WINAPI SubtractRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT);
5377c2c66affSColin Finck BOOL WINAPI SwapMouseButton(_In_ BOOL);
5378c2c66affSColin Finck BOOL WINAPI SwitchDesktop(_In_ HDESK);
5379c2c66affSColin Finck #if(_WIN32_WINNT >= 0x0500)
5380c2c66affSColin Finck VOID WINAPI SwitchToThisWindow(_In_ HWND, _In_ BOOL);
5381c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
5382ab760e53SMark Jansen BOOL WINAPI SystemParametersInfoA(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni);
5383ab760e53SMark Jansen BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni);
5384c2c66affSColin Finck 
5385c2c66affSColin Finck LONG
5386c2c66affSColin Finck WINAPI
5387c2c66affSColin Finck TabbedTextOutA(
5388c2c66affSColin Finck   _In_ HDC hdc,
5389c2c66affSColin Finck   _In_ int x,
5390c2c66affSColin Finck   _In_ int y,
5391c2c66affSColin Finck   _In_reads_(chCount) LPCSTR lpString,
5392c2c66affSColin Finck   _In_ int chCount,
5393c2c66affSColin Finck   _In_ int nTabPositions,
5394c2c66affSColin Finck   _In_reads_opt_(nTabPositions) CONST INT *lpnTabStopPositions,
5395c2c66affSColin Finck   _In_ int nTabOrigin);
5396c2c66affSColin Finck 
5397c2c66affSColin Finck LONG
5398c2c66affSColin Finck WINAPI
5399c2c66affSColin Finck TabbedTextOutW(
5400c2c66affSColin Finck   _In_ HDC hdc,
5401c2c66affSColin Finck   _In_ int x,
5402c2c66affSColin Finck   _In_ int y,
5403c2c66affSColin Finck   _In_reads_(chCount) LPCWSTR lpString,
5404c2c66affSColin Finck   _In_ int chCount,
5405c2c66affSColin Finck   _In_ int nTabPositions,
5406c2c66affSColin Finck   _In_reads_opt_(nTabPositions) CONST INT *lpnTabStopPositions,
5407c2c66affSColin Finck   _In_ int nTabOrigin);
5408c2c66affSColin Finck 
5409c2c66affSColin Finck WORD
5410c2c66affSColin Finck WINAPI
5411c2c66affSColin Finck TileWindows(
5412c2c66affSColin Finck   _In_opt_ HWND hwndParent,
5413c2c66affSColin Finck   _In_ UINT wHow,
5414c2c66affSColin Finck   _In_opt_ CONST RECT * lpRect,
5415c2c66affSColin Finck   _In_ UINT cKids,
5416c2c66affSColin Finck   _In_reads_opt_(cKids) const HWND FAR *lpKids);
5417c2c66affSColin Finck 
5418c2c66affSColin Finck int WINAPI ToAscii(_In_ UINT, _In_ UINT, _In_reads_opt_(256) CONST BYTE*, _Out_ LPWORD, _In_ UINT);
5419c2c66affSColin Finck int WINAPI ToAsciiEx(_In_ UINT, _In_ UINT, _In_reads_opt_(256) CONST BYTE*, _Out_ LPWORD, _In_ UINT, _In_opt_ HKL);
5420c2c66affSColin Finck 
5421c2c66affSColin Finck int
5422c2c66affSColin Finck WINAPI
5423c2c66affSColin Finck ToUnicode(
5424c2c66affSColin Finck   _In_ UINT wVirtKey,
5425c2c66affSColin Finck   _In_ UINT wScanCode,
5426c2c66affSColin Finck   _In_reads_bytes_opt_(256) CONST BYTE *lpKeyState,
5427c2c66affSColin Finck   _Out_writes_(cchBuff) LPWSTR pwszBuff,
5428c2c66affSColin Finck   _In_ int cchBuff,
5429c2c66affSColin Finck   _In_ UINT wFlags);
5430c2c66affSColin Finck 
5431c2c66affSColin Finck int
5432c2c66affSColin Finck WINAPI
5433c2c66affSColin Finck ToUnicodeEx(
5434c2c66affSColin Finck   _In_ UINT wVirtKey,
5435c2c66affSColin Finck   _In_ UINT wScanCode,
5436c2c66affSColin Finck   _In_reads_bytes_(256) CONST BYTE *lpKeyState,
5437c2c66affSColin Finck   _Out_writes_(cchBuff) LPWSTR pwszBuff,
5438c2c66affSColin Finck   _In_ int cchBuff,
5439c2c66affSColin Finck   _In_ UINT wFlags,
5440c2c66affSColin Finck   _In_opt_ HKL dwhkl);
5441c2c66affSColin Finck 
5442c2c66affSColin Finck BOOL WINAPI TrackMouseEvent(_Inout_ LPTRACKMOUSEEVENT);
5443c2c66affSColin Finck BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT);
5444c2c66affSColin Finck BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS);
5445c2c66affSColin Finck int WINAPI TranslateAcceleratorA(_In_ HWND, _In_ HACCEL, _In_ LPMSG);
5446c2c66affSColin Finck int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG);
5447c2c66affSColin Finck BOOL WINAPI TranslateMDISysAccel(_In_ HWND, _In_ LPMSG);
5448c2c66affSColin Finck BOOL WINAPI TranslateMessage(_In_ const MSG*);
5449c2c66affSColin Finck BOOL WINAPI UnhookWindowsHook(_In_ int, _In_ HOOKPROC);
5450c2c66affSColin Finck BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK);
5451c2c66affSColin Finck #if (WINVER >= 0x0500)
5452c2c66affSColin Finck BOOL WINAPI UnhookWinEvent(_In_ HWINEVENTHOOK);
5453c2c66affSColin Finck #endif
5454c2c66affSColin Finck BOOL WINAPI UnionRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT);
5455c2c66affSColin Finck BOOL WINAPI UnloadKeyboardLayout(_In_ HKL);
5456c2c66affSColin Finck BOOL WINAPI UnregisterClassA(_In_ LPCSTR,HINSTANCE);
5457c2c66affSColin Finck BOOL WINAPI UnregisterClassW(_In_ LPCWSTR,HINSTANCE);
5458294af4a7SEric Kohl #if (WINVER >= 0x0500)
5459294af4a7SEric Kohl BOOL WINAPI UnregisterDeviceNotification(_In_ HDEVNOTIFY);
5460294af4a7SEric Kohl #endif
5461c2c66affSColin Finck BOOL WINAPI UnregisterHotKey(_In_opt_ HWND, _In_ int);
5462c2c66affSColin Finck BOOL WINAPI UpdateWindow(_In_ HWND);
5463c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
5464c2c66affSColin Finck BOOL WINAPI UserHandleGrantAccess(_In_ HANDLE, _In_ HANDLE, _In_ BOOL);
5465c2c66affSColin Finck #endif
5466c2c66affSColin Finck BOOL WINAPI ValidateRect(_In_opt_ HWND, _In_opt_ LPCRECT);
5467c2c66affSColin Finck BOOL WINAPI ValidateRgn(_In_ HWND, _In_opt_ HRGN);
5468c2c66affSColin Finck SHORT WINAPI VkKeyScanA(_In_ CHAR);
5469c2c66affSColin Finck SHORT WINAPI VkKeyScanExA(_In_ CHAR, _In_ HKL);
5470c2c66affSColin Finck SHORT WINAPI VkKeyScanExW(_In_ WCHAR, _In_ HKL);
5471c2c66affSColin Finck SHORT WINAPI VkKeyScanW(_In_ WCHAR);
5472c2c66affSColin Finck DWORD WINAPI WaitForInputIdle(_In_ HANDLE, _In_ DWORD);
5473c2c66affSColin Finck BOOL WINAPI WaitMessage(void);
5474c2c66affSColin Finck HWND WINAPI WindowFromDC(_In_ HDC hDC);
5475c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0600)
5476c2c66affSColin Finck HWND WINAPI WindowFromPhysicalPoint(_In_ POINT);
5477c2c66affSColin Finck #endif
5478c2c66affSColin Finck HWND WINAPI WindowFromPoint(_In_ POINT);
5479c2c66affSColin Finck UINT WINAPI WinExec(LPCSTR,UINT);
5480c2c66affSColin Finck BOOL WINAPI WinHelpA(_In_opt_ HWND, _In_opt_ LPCSTR, _In_ UINT, _In_ ULONG_PTR);
5481c2c66affSColin Finck BOOL WINAPI WinHelpW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_ UINT, _In_ ULONG_PTR);
5482c2c66affSColin Finck 
5483c2c66affSColin Finck int
5484c2c66affSColin Finck WINAPIV
5485c2c66affSColin Finck wsprintfA(
5486c2c66affSColin Finck   _Out_ LPSTR,
5487c2c66affSColin Finck   _In_ _Printf_format_string_ LPCSTR,
5488c2c66affSColin Finck   ...);
5489c2c66affSColin Finck 
5490c2c66affSColin Finck int
5491c2c66affSColin Finck WINAPIV
5492c2c66affSColin Finck wsprintfW(
5493c2c66affSColin Finck   _Out_ LPWSTR,
5494c2c66affSColin Finck   _In_ _Printf_format_string_ LPCWSTR,
5495c2c66affSColin Finck   ...);
5496c2c66affSColin Finck 
5497c2c66affSColin Finck int
5498c2c66affSColin Finck WINAPI
5499c2c66affSColin Finck wvsprintfA(
5500c2c66affSColin Finck   _Out_ LPSTR,
5501c2c66affSColin Finck   _In_ _Printf_format_string_ LPCSTR,
5502c2c66affSColin Finck   _In_ va_list arglist);
5503c2c66affSColin Finck 
5504c2c66affSColin Finck int
5505c2c66affSColin Finck WINAPI
5506c2c66affSColin Finck wvsprintfW(
5507c2c66affSColin Finck   _Out_ LPWSTR,
5508c2c66affSColin Finck   _In_ _Printf_format_string_ LPCWSTR,
5509c2c66affSColin Finck   _In_ va_list arglist);
5510c2c66affSColin Finck 
5511c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
5512c2c66affSColin Finck BOOL WINAPI AllowSetForegroundWindow(_In_ DWORD);
5513c2c66affSColin Finck BOOL WINAPI LockSetForegroundWindow(_In_ UINT);
5514c2c66affSColin Finck #endif
5515c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0500)
5516c2c66affSColin Finck 
5517c2c66affSColin Finck BOOL WINAPI SetLayeredWindowAttributes(_In_ HWND, _In_ COLORREF, _In_ BYTE, _In_ DWORD);
5518c2c66affSColin Finck 
5519c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
5520c2c66affSColin Finck 
5521c2c66affSColin Finck BOOL
5522c2c66affSColin Finck WINAPI
5523c2c66affSColin Finck UpdateLayeredWindow(
5524c2c66affSColin Finck   _In_ HWND hWnd,
5525c2c66affSColin Finck   _In_opt_ HDC hdcDst,
5526c2c66affSColin Finck   _In_opt_ POINT* pptDst,
5527c2c66affSColin Finck   _In_opt_ SIZE* psize,
5528c2c66affSColin Finck   _In_opt_ HDC hdcSrc,
5529c2c66affSColin Finck   _In_opt_ POINT* pptSrc,
5530c2c66affSColin Finck   _In_ COLORREF crKey,
5531c2c66affSColin Finck   _In_opt_ BLENDFUNCTION* pblend,
5532c2c66affSColin Finck   _In_ DWORD dwFlags);
5533c2c66affSColin Finck 
5534c2c66affSColin Finck typedef struct tagUPDATELAYEREDWINDOWINFO {
5535c2c66affSColin Finck   DWORD cbSize;
5536c2c66affSColin Finck   HDC hdcDst;
5537c2c66affSColin Finck   POINT CONST* pptDst;
5538c2c66affSColin Finck   SIZE CONST* psize;
5539c2c66affSColin Finck   HDC hdcSrc;
5540c2c66affSColin Finck   POINT CONST* pptSrc;
5541c2c66affSColin Finck   COLORREF crKey;
5542c2c66affSColin Finck   BLENDFUNCTION CONST* pblend;
5543c2c66affSColin Finck   DWORD dwFlags;
5544c2c66affSColin Finck   RECT CONST* prcDirty;
5545c2c66affSColin Finck } UPDATELAYEREDWINDOWINFO, *PUPDATELAYEREDWINDOWINFO;
5546c2c66affSColin Finck 
5547c2c66affSColin Finck BOOL WINAPI UpdateLayeredWindowIndirect(_In_ HWND, _In_ const UPDATELAYEREDWINDOWINFO*);
5548c2c66affSColin Finck 
5549c2c66affSColin Finck #endif /* defined(_WINGDI_) && !defined(NOGDI) */
5550c2c66affSColin Finck 
5551c2c66affSColin Finck #endif /* (_WIN32_WINNT >= 0x0500) */
5552c2c66affSColin Finck 
5553c2c66affSColin Finck #if (_WIN32_WINNT >= 0x0501)
5554c2c66affSColin Finck BOOL WINAPI GetLayeredWindowAttributes(_In_ HWND, _Out_opt_ COLORREF*, _Out_opt_ BYTE*, _Out_opt_ DWORD*);
5555c2c66affSColin Finck #endif
5556c2c66affSColin Finck #ifdef UNICODE
5557c2c66affSColin Finck #define EDITWORDBREAKPROC EDITWORDBREAKPROCW
5558c2c66affSColin Finck #define PROPENUMPROC PROPENUMPROCW
5559c2c66affSColin Finck #define PROPENUMPROCEX PROPENUMPROCEXW
5560b1c7fd08SHermès Bélusca-Maïto #define DESKTOPENUMPROC DESKTOPENUMPROCW
5561c2c66affSColin Finck #define WINSTAENUMPROC WINSTAENUMPROCW
5562c2c66affSColin Finck #define PROPENUMPROC PROPENUMPROCW
5563c2c66affSColin Finck #define PROPENUMPROCEX PROPENUMPROCEXW
5564c2c66affSColin Finck typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
5565c2c66affSColin Finck typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
5566c2c66affSColin Finck typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
5567c2c66affSColin Finck typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
5568c2c66affSColin Finck typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
5569c2c66affSColin Finck typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
5570c2c66affSColin Finck typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
5571c2c66affSColin Finck typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
5572c2c66affSColin Finck typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
5573c2c66affSColin Finck typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
5574c2c66affSColin Finck typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
5575c2c66affSColin Finck typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
5576c2c66affSColin Finck typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
5577c2c66affSColin Finck #define AppendMenu AppendMenuW
5578c2c66affSColin Finck #define BroadcastSystemMessage BroadcastSystemMessageW
5579c2c66affSColin Finck #define BroadcastSystemMessageEx BroadcastSystemMessageExW
5580c2c66affSColin Finck #define CallMsgFilter CallMsgFilterW
5581c2c66affSColin Finck #define CallWindowProc CallWindowProcW
5582c2c66affSColin Finck #define ChangeMenu ChangeMenuW
5583c2c66affSColin Finck #define CharLower CharLowerW
5584c2c66affSColin Finck #define CharLowerBuff CharLowerBuffW
5585c2c66affSColin Finck #define CharNext CharNextW
5586c2c66affSColin Finck #define CharNextEx CharNextExW
5587c2c66affSColin Finck #define CharPrev CharPrevW
5588c2c66affSColin Finck #define CharPrevEx CharPrevExW
5589c2c66affSColin Finck #define CharToOem CharToOemW
5590c2c66affSColin Finck #define CharToOemBuff CharToOemBuffW
5591c2c66affSColin Finck #define CharUpper CharUpperW
5592c2c66affSColin Finck #define CharUpperBuff CharUpperBuffW
5593c2c66affSColin Finck #define CopyAcceleratorTable CopyAcceleratorTableW
5594c2c66affSColin Finck #define CreateAcceleratorTable CreateAcceleratorTableW
5595c2c66affSColin Finck #define CreateDialog CreateDialogW
5596c2c66affSColin Finck #define CreateDialogIndirect CreateDialogIndirectW
5597c2c66affSColin Finck #define CreateDialogIndirectParam CreateDialogIndirectParamW
5598c2c66affSColin Finck #define CreateDialogParam CreateDialogParamW
5599c2c66affSColin Finck #define CreateMDIWindow CreateMDIWindowW
5600c2c66affSColin Finck #define CreateWindow CreateWindowW
5601c2c66affSColin Finck #define CreateWindowEx CreateWindowExW
5602c2c66affSColin Finck #define CreateWindowStation CreateWindowStationW
5603c2c66affSColin Finck #define DefDlgProc DefDlgProcW
5604c2c66affSColin Finck #define DefFrameProc DefFrameProcW
5605c2c66affSColin Finck #define DefMDIChildProc DefMDIChildProcW
5606c2c66affSColin Finck #define DefWindowProc DefWindowProcW
5607c2c66affSColin Finck #define DialogBox DialogBoxW
5608c2c66affSColin Finck #define DialogBoxIndirect DialogBoxIndirectW
5609c2c66affSColin Finck #define DialogBoxIndirectParam DialogBoxIndirectParamW
5610c2c66affSColin Finck #define DialogBoxParam DialogBoxParamW
5611c2c66affSColin Finck #define DispatchMessage DispatchMessageW
5612c2c66affSColin Finck #define DlgDirList DlgDirListW
5613c2c66affSColin Finck #define DlgDirListComboBox DlgDirListComboBoxW
5614c2c66affSColin Finck #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
5615c2c66affSColin Finck #define DlgDirSelectEx DlgDirSelectExW
5616c2c66affSColin Finck #define DrawState DrawStateW
5617c2c66affSColin Finck #define DrawText DrawTextW
5618c2c66affSColin Finck #define DrawTextEx DrawTextExW
5619c2c66affSColin Finck #define EnumDesktops EnumDesktopsW
5620c2c66affSColin Finck #define EnumProps EnumPropsW
5621c2c66affSColin Finck #define EnumPropsEx EnumPropsExW
5622c2c66affSColin Finck #define EnumWindowStations EnumWindowStationsW
5623c2c66affSColin Finck #define FindWindow FindWindowW
5624c2c66affSColin Finck #define FindWindowEx FindWindowExW
5625c2c66affSColin Finck #define GetClassInfo GetClassInfoW
5626c2c66affSColin Finck #define GetClassInfoEx GetClassInfoExW
5627c2c66affSColin Finck #define GetClassLong GetClassLongW
5628c2c66affSColin Finck #define GetClassLongPtr GetClassLongPtrW
5629c2c66affSColin Finck #define GetClassName GetClassNameW
5630c2c66affSColin Finck #define GetClipboardFormatName GetClipboardFormatNameW
5631c2c66affSColin Finck #define GetDlgItemText GetDlgItemTextW
5632c2c66affSColin Finck #define GetKeyboardLayoutName GetKeyboardLayoutNameW
5633c2c66affSColin Finck #define GetKeyNameText GetKeyNameTextW
5634c2c66affSColin Finck #define GetMenuItemInfo GetMenuItemInfoW
5635c2c66affSColin Finck #define GetMenuString GetMenuStringW
5636c2c66affSColin Finck #define GetMessage GetMessageW
5637c2c66affSColin Finck #define GetMonitorInfo GetMonitorInfoW
5638c2c66affSColin Finck #define GetProp GetPropW
5639c2c66affSColin Finck #define GetRawInputDeviceInfo GetRawInputDeviceInfoW
5640c2c66affSColin Finck #define GetTabbedTextExtent GetTabbedTextExtentW
5641c2c66affSColin Finck #define GetUserObjectInformation GetUserObjectInformationW
5642c2c66affSColin Finck #define GetWindowLong GetWindowLongW
5643c2c66affSColin Finck #define GetWindowLongPtr GetWindowLongPtrW
5644c2c66affSColin Finck #define GetWindowText GetWindowTextW
5645c2c66affSColin Finck #define GetWindowTextLength GetWindowTextLengthW
5646c2c66affSColin Finck #define GetAltTabInfo GetAltTabInfoW
5647c2c66affSColin Finck #define GetWindowModuleFileName GetWindowModuleFileNameW
5648c2c66affSColin Finck #define GrayString GrayStringW
5649c2c66affSColin Finck #define InsertMenu InsertMenuW
5650c2c66affSColin Finck #define InsertMenuItem InsertMenuItemW
5651c2c66affSColin Finck #define IsCharAlpha IsCharAlphaW
5652c2c66affSColin Finck #define IsCharAlphaNumeric IsCharAlphaNumericW
5653c2c66affSColin Finck #define IsCharLower IsCharLowerW
5654c2c66affSColin Finck #define IsCharUpper IsCharUpperW
5655c2c66affSColin Finck #define IsDialogMessage IsDialogMessageW
5656c2c66affSColin Finck #define LoadAccelerators LoadAcceleratorsW
5657c2c66affSColin Finck #define LoadBitmap LoadBitmapW
5658c2c66affSColin Finck #define LoadCursor LoadCursorW
5659c2c66affSColin Finck #define LoadCursorFromFile LoadCursorFromFileW
5660c2c66affSColin Finck #define LoadIcon LoadIconW
5661c2c66affSColin Finck #define LoadImage LoadImageW
5662c2c66affSColin Finck #define LoadKeyboardLayout LoadKeyboardLayoutW
5663c2c66affSColin Finck #define LoadMenu LoadMenuW
5664c2c66affSColin Finck #define LoadMenuIndirect LoadMenuIndirectW
5665c2c66affSColin Finck #define LoadString LoadStringW
5666c2c66affSColin Finck #define MapVirtualKey MapVirtualKeyW
5667c2c66affSColin Finck #define MapVirtualKeyEx MapVirtualKeyExW
5668c2c66affSColin Finck #define MessageBox MessageBoxW
5669c2c66affSColin Finck #define MessageBoxEx MessageBoxExW
5670c2c66affSColin Finck #define MessageBoxIndirect MessageBoxIndirectW
5671c2c66affSColin Finck #define ModifyMenu ModifyMenuW
5672c2c66affSColin Finck #define OemToChar OemToCharW
5673c2c66affSColin Finck #define OemToCharBuff OemToCharBuffW
5674c2c66affSColin Finck #define OpenDesktop OpenDesktopW
5675c2c66affSColin Finck #define OpenWindowStation OpenWindowStationW
5676c2c66affSColin Finck #define PeekMessage PeekMessageW
5677c2c66affSColin Finck #define PostAppMessage PostAppMessageW
5678c2c66affSColin Finck #define PostMessage PostMessageW
5679c2c66affSColin Finck #define PostThreadMessage PostThreadMessageW
5680c2c66affSColin Finck #define PrivateExtractIcons PrivateExtractIconsW
5681c2c66affSColin Finck #define RealGetWindowClass RealGetWindowClassW
5682c2c66affSColin Finck #define RegisterClass RegisterClassW
5683c2c66affSColin Finck #define RegisterClassEx RegisterClassExW
5684c2c66affSColin Finck #define RegisterClipboardFormat RegisterClipboardFormatW
5685c2c66affSColin Finck #define RegisterDeviceNotification RegisterDeviceNotificationW
5686c2c66affSColin Finck #define RegisterWindowMessage RegisterWindowMessageW
5687c2c66affSColin Finck #define RemoveProp RemovePropW
5688c2c66affSColin Finck #define SendDlgItemMessage SendDlgItemMessageW
5689c2c66affSColin Finck #define SendMessage SendMessageW
5690c2c66affSColin Finck #define SendMessageCallback SendMessageCallbackW
5691c2c66affSColin Finck #define SendMessageTimeout SendMessageTimeoutW
5692c2c66affSColin Finck #define SendNotifyMessage SendNotifyMessageW
5693c2c66affSColin Finck #define SetClassLong SetClassLongW
5694c2c66affSColin Finck #define SetClassLongPtr SetClassLongPtrW
5695c2c66affSColin Finck #define SetDlgItemText SetDlgItemTextW
5696c2c66affSColin Finck #define SetMenuItemInfo SetMenuItemInfoW
5697c2c66affSColin Finck #define SetProp SetPropW
5698c2c66affSColin Finck #define SetUserObjectInformation SetUserObjectInformationW
5699c2c66affSColin Finck #define SetWindowLong SetWindowLongW
5700c2c66affSColin Finck #define SetWindowLongPtr SetWindowLongPtrW
5701c2c66affSColin Finck #define SetWindowsHook SetWindowsHookW
5702c2c66affSColin Finck #define SetWindowsHookEx SetWindowsHookExW
5703c2c66affSColin Finck #define SetWindowText SetWindowTextW
5704c2c66affSColin Finck #define SystemParametersInfo SystemParametersInfoW
5705c2c66affSColin Finck #define TabbedTextOut TabbedTextOutW
5706c2c66affSColin Finck #define TranslateAccelerator TranslateAcceleratorW
5707c2c66affSColin Finck #define UnregisterClass UnregisterClassW
5708c2c66affSColin Finck #define VkKeyScan VkKeyScanW
5709c2c66affSColin Finck #define VkKeyScanEx VkKeyScanExW
5710c2c66affSColin Finck #define WinHelp WinHelpW
5711c2c66affSColin Finck #define wsprintf wsprintfW
5712c2c66affSColin Finck #define wvsprintf wvsprintfW
5713c2c66affSColin Finck 
571494e5e79eSTimo Kreuzer #if defined(_WINGDI_) && !defined(NOGDI)
5715c2c66affSColin Finck #define ChangeDisplaySettings ChangeDisplaySettingsW
5716c2c66affSColin Finck #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
5717c2c66affSColin Finck #define CreateDesktop CreateDesktopW
5718c2c66affSColin Finck #define EnumDisplaySettings EnumDisplaySettingsW
5719c2c66affSColin Finck #define EnumDisplaySettingsEx EnumDisplaySettingsExW
5720c2c66affSColin Finck #define EnumDisplayDevices EnumDisplayDevicesW
572194e5e79eSTimo Kreuzer #endif /* _WINGDI_ && !NOGDI */
5722c2c66affSColin Finck #else /* UNICODE */
5723c2c66affSColin Finck #define EDITWORDBREAKPROC EDITWORDBREAKPROCA
5724c2c66affSColin Finck #define PROPENUMPROC PROPENUMPROCA
5725c2c66affSColin Finck #define PROPENUMPROCEX PROPENUMPROCEXA
5726b1c7fd08SHermès Bélusca-Maïto #define DESKTOPENUMPROC DESKTOPENUMPROCA
5727c2c66affSColin Finck #define WINSTAENUMPROC WINSTAENUMPROCA
5728c2c66affSColin Finck #define PROPENUMPROC PROPENUMPROCA
5729c2c66affSColin Finck #define PROPENUMPROCEX PROPENUMPROCEXA
5730c2c66affSColin Finck typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
5731c2c66affSColin Finck typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
5732c2c66affSColin Finck typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
5733c2c66affSColin Finck typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
5734c2c66affSColin Finck typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
5735c2c66affSColin Finck typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
5736c2c66affSColin Finck typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
5737c2c66affSColin Finck typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
5738c2c66affSColin Finck typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
5739c2c66affSColin Finck typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
5740c2c66affSColin Finck typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
5741c2c66affSColin Finck typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
5742c2c66affSColin Finck typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
5743c2c66affSColin Finck #define AppendMenu AppendMenuA
5744c2c66affSColin Finck #define BroadcastSystemMessage BroadcastSystemMessageA
5745c2c66affSColin Finck #define BroadcastSystemMessageEx BroadcastSystemMessageExA
5746c2c66affSColin Finck #define CallMsgFilter CallMsgFilterA
5747c2c66affSColin Finck #define CallWindowProc CallWindowProcA
5748c2c66affSColin Finck #define ChangeMenu ChangeMenuA
5749c2c66affSColin Finck #define CharLower CharLowerA
5750c2c66affSColin Finck #define CharLowerBuff CharLowerBuffA
5751c2c66affSColin Finck #define CharNext CharNextA
5752c2c66affSColin Finck #define CharNextEx CharNextExA
5753c2c66affSColin Finck #define CharPrev CharPrevA
5754c2c66affSColin Finck #define CharPrevEx CharPrevExA
5755c2c66affSColin Finck #define CharToOem CharToOemA
5756c2c66affSColin Finck #define CharToOemBuff CharToOemBuffA
5757c2c66affSColin Finck #define CharUpper CharUpperA
5758c2c66affSColin Finck #define CharUpperBuff CharUpperBuffA
5759c2c66affSColin Finck #define CopyAcceleratorTable CopyAcceleratorTableA
5760c2c66affSColin Finck #define CreateAcceleratorTable CreateAcceleratorTableA
5761c2c66affSColin Finck #define CreateDialog CreateDialogA
5762c2c66affSColin Finck #define CreateDialogIndirect CreateDialogIndirectA
5763c2c66affSColin Finck #define CreateDialogIndirectParam CreateDialogIndirectParamA
5764c2c66affSColin Finck #define CreateDialogParam CreateDialogParamA
5765c2c66affSColin Finck #define CreateMDIWindow CreateMDIWindowA
5766c2c66affSColin Finck #define CreateWindow CreateWindowA
5767c2c66affSColin Finck #define CreateWindowEx CreateWindowExA
5768c2c66affSColin Finck #define CreateWindowStation CreateWindowStationA
5769c2c66affSColin Finck #define DefDlgProc DefDlgProcA
5770c2c66affSColin Finck #define DefFrameProc DefFrameProcA
5771c2c66affSColin Finck #define DefMDIChildProc DefMDIChildProcA
5772c2c66affSColin Finck #define DefWindowProc DefWindowProcA
5773c2c66affSColin Finck #define DialogBox DialogBoxA
5774c2c66affSColin Finck #define DialogBoxIndirect DialogBoxIndirectA
5775c2c66affSColin Finck #define DialogBoxIndirectParam DialogBoxIndirectParamA
5776c2c66affSColin Finck #define DialogBoxParam DialogBoxParamA
5777c2c66affSColin Finck #define DispatchMessage DispatchMessageA
5778c2c66affSColin Finck #define DlgDirList DlgDirListA
5779c2c66affSColin Finck #define DlgDirListComboBox DlgDirListComboBoxA
5780c2c66affSColin Finck #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
5781c2c66affSColin Finck #define DlgDirSelectEx DlgDirSelectExA
5782c2c66affSColin Finck #define DrawState DrawStateA
5783c2c66affSColin Finck #define DrawText DrawTextA
5784c2c66affSColin Finck #define DrawTextEx DrawTextExA
5785c2c66affSColin Finck #define EnumDesktops EnumDesktopsA
5786c2c66affSColin Finck #define EnumProps EnumPropsA
5787c2c66affSColin Finck #define EnumPropsEx EnumPropsExA
5788c2c66affSColin Finck #define EnumWindowStations EnumWindowStationsA
5789c2c66affSColin Finck #define FindWindow FindWindowA
5790c2c66affSColin Finck #define FindWindowEx FindWindowExA
5791c2c66affSColin Finck #define GetClassInfo GetClassInfoA
5792c2c66affSColin Finck #define GetClassInfoEx GetClassInfoExA
5793c2c66affSColin Finck #define GetClassLong GetClassLongA
5794c2c66affSColin Finck #define GetClassLongPtr GetClassLongPtrA
5795c2c66affSColin Finck #define GetClassName GetClassNameA
5796c2c66affSColin Finck #define GetClipboardFormatName GetClipboardFormatNameA
5797c2c66affSColin Finck #define GetDlgItemText GetDlgItemTextA
5798c2c66affSColin Finck #define GetKeyboardLayoutName GetKeyboardLayoutNameA
5799c2c66affSColin Finck #define GetKeyNameText GetKeyNameTextA
5800c2c66affSColin Finck #define GetMenuItemInfo GetMenuItemInfoA
5801c2c66affSColin Finck #define GetMenuString GetMenuStringA
5802c2c66affSColin Finck #define GetMessage GetMessageA
5803c2c66affSColin Finck #define GetMonitorInfo GetMonitorInfoA
5804c2c66affSColin Finck #define GetProp GetPropA
5805c2c66affSColin Finck #define GetRawInputDeviceInfo GetRawInputDeviceInfoA
5806c2c66affSColin Finck #define GetTabbedTextExtent GetTabbedTextExtentA
5807c2c66affSColin Finck #define GetUserObjectInformation GetUserObjectInformationA
5808c2c66affSColin Finck #define GetWindowLong GetWindowLongA
5809c2c66affSColin Finck #define GetWindowLongPtr GetWindowLongPtrA
5810c2c66affSColin Finck #define GetWindowText GetWindowTextA
5811c2c66affSColin Finck #define GetWindowTextLength GetWindowTextLengthA
5812c2c66affSColin Finck #define GetAltTabInfo GetAltTabInfoA
5813c2c66affSColin Finck #define GetWindowModuleFileName GetWindowModuleFileNameA
5814c2c66affSColin Finck #define GrayString GrayStringA
5815c2c66affSColin Finck #define InsertMenu InsertMenuA
5816c2c66affSColin Finck #define InsertMenuItem InsertMenuItemA
5817c2c66affSColin Finck #define IsCharAlpha IsCharAlphaA
5818c2c66affSColin Finck #define IsCharAlphaNumeric IsCharAlphaNumericA
5819c2c66affSColin Finck #define IsCharLower IsCharLowerA
5820c2c66affSColin Finck #define IsCharUpper IsCharUpperA
5821c2c66affSColin Finck #define IsDialogMessage IsDialogMessageA
5822c2c66affSColin Finck #define LoadAccelerators LoadAcceleratorsA
5823c2c66affSColin Finck #define LoadBitmap LoadBitmapA
5824c2c66affSColin Finck #define LoadCursor LoadCursorA
5825c2c66affSColin Finck #define LoadIcon LoadIconA
5826c2c66affSColin Finck #define LoadCursorFromFile LoadCursorFromFileA
5827c2c66affSColin Finck #define LoadImage LoadImageA
5828c2c66affSColin Finck #define LoadKeyboardLayout LoadKeyboardLayoutA
5829c2c66affSColin Finck #define LoadMenu LoadMenuA
5830c2c66affSColin Finck #define LoadMenuIndirect LoadMenuIndirectA
5831c2c66affSColin Finck #define LoadString LoadStringA
5832c2c66affSColin Finck #define MapVirtualKey MapVirtualKeyA
5833c2c66affSColin Finck #define MapVirtualKeyEx MapVirtualKeyExA
5834c2c66affSColin Finck #define MessageBox MessageBoxA
5835c2c66affSColin Finck #define MessageBoxEx MessageBoxExA
5836c2c66affSColin Finck #define MessageBoxIndirect MessageBoxIndirectA
5837c2c66affSColin Finck #define ModifyMenu ModifyMenuA
5838c2c66affSColin Finck #define OemToChar OemToCharA
5839c2c66affSColin Finck #define OemToCharBuff OemToCharBuffA
5840c2c66affSColin Finck #define OpenDesktop OpenDesktopA
5841c2c66affSColin Finck #define OpenWindowStation OpenWindowStationA
5842c2c66affSColin Finck #define PeekMessage PeekMessageA
5843c2c66affSColin Finck #define PostAppMessage PostAppMessageA
5844c2c66affSColin Finck #define PostMessage PostMessageA
5845c2c66affSColin Finck #define PostThreadMessage PostThreadMessageA
5846c2c66affSColin Finck #define PrivateExtractIcons PrivateExtractIconsA
5847c2c66affSColin Finck #define RealGetWindowClass RealGetWindowClassA
5848c2c66affSColin Finck #define RegisterClass RegisterClassA
5849c2c66affSColin Finck #define RegisterClassEx RegisterClassExA
5850c2c66affSColin Finck #define RegisterClipboardFormat RegisterClipboardFormatA
5851c2c66affSColin Finck #define RegisterDeviceNotification RegisterDeviceNotificationA
5852c2c66affSColin Finck #define RegisterWindowMessage RegisterWindowMessageA
5853c2c66affSColin Finck #define RemoveProp RemovePropA
5854c2c66affSColin Finck #define SendDlgItemMessage SendDlgItemMessageA
5855c2c66affSColin Finck #define SendMessage SendMessageA
5856c2c66affSColin Finck #define SendMessageCallback SendMessageCallbackA
5857c2c66affSColin Finck #define SendMessageTimeout SendMessageTimeoutA
5858c2c66affSColin Finck #define SendNotifyMessage SendNotifyMessageA
5859c2c66affSColin Finck #define SetClassLong SetClassLongA
5860c2c66affSColin Finck #define SetClassLongPtr SetClassLongPtrA
5861c2c66affSColin Finck #define SetDlgItemText SetDlgItemTextA
5862c2c66affSColin Finck #define SetMenuItemInfo SetMenuItemInfoA
5863c2c66affSColin Finck #define SetProp SetPropA
5864c2c66affSColin Finck #define SetUserObjectInformation SetUserObjectInformationA
5865c2c66affSColin Finck #define SetWindowLong SetWindowLongA
5866c2c66affSColin Finck #define SetWindowLongPtr SetWindowLongPtrA
5867c2c66affSColin Finck #define SetWindowsHook SetWindowsHookA
5868c2c66affSColin Finck #define SetWindowsHookEx SetWindowsHookExA
5869c2c66affSColin Finck #define SetWindowText SetWindowTextA
5870c2c66affSColin Finck #define SystemParametersInfo SystemParametersInfoA
5871c2c66affSColin Finck #define TabbedTextOut TabbedTextOutA
5872c2c66affSColin Finck #define TranslateAccelerator TranslateAcceleratorA
5873c2c66affSColin Finck #define UnregisterClass UnregisterClassA
5874c2c66affSColin Finck #define VkKeyScan VkKeyScanA
5875c2c66affSColin Finck #define VkKeyScanEx VkKeyScanExA
5876c2c66affSColin Finck #define WinHelp WinHelpA
5877c2c66affSColin Finck #define wsprintf wsprintfA
5878c2c66affSColin Finck #define wvsprintf wvsprintfA
5879c2c66affSColin Finck #if defined(_WINGDI_) && !defined(NOGDI)
5880c2c66affSColin Finck #define ChangeDisplaySettings ChangeDisplaySettingsA
5881c2c66affSColin Finck #define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
5882c2c66affSColin Finck #define CreateDesktop CreateDesktopA
5883c2c66affSColin Finck #define EnumDisplaySettings EnumDisplaySettingsA
5884c2c66affSColin Finck #define EnumDisplaySettingsEx EnumDisplaySettingsExA
5885c2c66affSColin Finck #define EnumDisplayDevices EnumDisplayDevicesA
588694e5e79eSTimo Kreuzer #endif /* _WINGDI_ && !NOGDI */
5887c2c66affSColin Finck #endif /* UNICODE */
5888c2c66affSColin Finck #endif /* RC_INVOKED */
5889c2c66affSColin Finck 
5890c2c66affSColin Finck #ifdef _WINE
5891c2c66affSColin Finck #include "reactos/undocuser.h"
5892c2c66affSColin Finck #endif
5893c2c66affSColin Finck 
5894c2c66affSColin Finck #ifdef _MSC_VER
5895c2c66affSColin Finck #pragma warning(pop)
5896c2c66affSColin Finck #endif
5897c2c66affSColin Finck 
5898c2c66affSColin Finck #ifdef __cplusplus
5899c2c66affSColin Finck }
5900c2c66affSColin Finck #endif
5901c2c66affSColin Finck #endif
5902