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