-
Notifications
You must be signed in to change notification settings - Fork 8
/
winable.h
240 lines (217 loc) · 7.51 KB
/
winable.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
/*
* winable.h Win32 accessibility functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
/* This file is retained solely for compatibility purposes. For current versions of
* Windows, the functions declared in this file are in winuser.h. New code should not
* use this header.
*/
#ifndef _WINABLE_
#define _WINABLE_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Macro to specify accessibility functions */
#define WINABLEAPI DECLSPEC_IMPORT
/* Windows event hook handle data type */
#if (WINVER < 0x0400)
typedef DWORD HWINEVENTHOOK;
#endif
/* GUI thread information flags */
#if (WINVER < 0x0500)
#define GUI_CARETBLINKING 0x00000001L
#define GUI_INMOVESIZE 0x00000002L
#define GUI_INMENUMODE 0x00000004L
#define GUI_SYSTEMMENUMODE 0x00000008L
#define GUI_POPUPMENUMODE 0x00000010L
#endif
/* Input types */
#if (_WIN32_WINNT < 0x0400)
#define INPUT_MOUSE 0L
#define INPUT_KEYBOARD 1L
#define INPUT_HARDWARE 2L
#endif
/* Common object identifiers */
#if (WINVER < 0x0500)
#define CHILDID_SELF 0
#endif
/* System object identifiers */
#if (WINVER < 0x0500)
#define OBJID_WINDOW 0x00000000L
#define OBJID_SYSMENU 0xFFFFFFFFL
#define OBJID_TITLEBAR 0xFFFFFFFEL
#define OBJID_MENU 0xFFFFFFFDL
#define OBJID_CLIENT 0xFFFFFFFCL
#define OBJID_VSCROLL 0xFFFFFFFBL
#define OBJID_HSCROLL 0xFFFFFFFAL
#define OBJID_SIZEGRIP 0xFFFFFFF9L
#define OBJID_CARET 0xFFFFFFF8L
#define OBJID_CURSOR 0xFFFFFFF7L
#define OBJID_ALERT 0xFFFFFFF6L
#define OBJID_SOUND 0xFFFFFFF5L
#endif
/* System alerts */
#if (WINVER < 0x0500)
#define ALERT_SYSTEM_INFORMATIONAL 1L
#define ALERT_SYSTEM_WARNING 2L
#define ALERT_SYSTEM_ERROR 3L
#define ALERT_SYSTEM_QUERY 4L
#define ALERT_SYSTEM_CRITICAL 5L
#define CALERT_SYSTEM 6L
#endif
/* SetWinEventHook() flags */
#if (WINVER < 0x0500)
#define WINEVENT_OUTOFCONTEXT 0x00000000L
#define WINEVENT_SKIPOWNTHREAD 0x00000001L
#define WINEVENT_SKIPOWNPROCESS 0x00000002L
#define WINEVENT_INCONTEXT 0x00000004L
#endif
/* Accessibility events */
#if (WINVER < 0x0500)
#define EVENT_MIN 0x00000001L
#define EVENT_MAX 0x7FFFFFFFL
#define EVENT_SYSTEM_SOUND 0x00000001L
#define EVENT_SYSTEM_ALERT 0x00000002L
#define EVENT_SYSTEM_FOREGROUND 0x00000003L
#define EVENT_SYSTEM_MENUSTART 0x00000004L
#define EVENT_SYSTEM_MENUEND 0x00000005L
#define EVENT_SYSTEM_MENUPOPUPSTART 0x00000006L
#define EVENT_SYSTEM_MENUPOPUPEND 0x00000007L
#define EVENT_SYSTEM_CAPTURESTART 0x00000008L
#define EVENT_SYSTEM_CAPTUREEND 0x00000009L
#define EVENT_SYSTEM_MOVESIZESTART 0x0000000AL
#define EVENT_SYSTEM_MOVESIZEEND 0x0000000BL
#define EVENT_SYSTEM_CONTEXTHELPSTART 0x0000000CL
#define EVENT_SYSTEM_CONTEXTHELPEND 0x0000000DL
#define EVENT_SYSTEM_DRAGDROPSTART 0x0000000EL
#define EVENT_SYSTEM_DRAGDROPEND 0x0000000FL
#define EVENT_SYSTEM_DIALOGSTART 0x00000010L
#define EVENT_SYSTEM_DIALOGEND 0x00000011L
#define EVENT_SYSTEM_SCROLLINGSTART 0x00000012L
#define EVENT_SYSTEM_SCROLLINGEND 0x00000013L
#define EVENT_SYSTEM_SWITCHSTART 0x00000014L
#define EVENT_SYSTEM_SWITCHEND 0x00000015L
#define EVENT_SYSTEM_MINIMIZESTART 0x00000016L
#define EVENT_SYSTEM_MINIMIZEEND 0x00000017L
#define EVENT_OBJECT_CREATE 0x00008000L
#define EVENT_OBJECT_DESTROY 0x00008001L
#define EVENT_OBJECT_SHOW 0x00008002L
#define EVENT_OBJECT_HIDE 0x00008003L
#define EVENT_OBJECT_REORDER 0x00008004L
#define EVENT_OBJECT_FOCUS 0x00008005L
#define EVENT_OBJECT_SELECTION 0x00008006L
#define EVENT_OBJECT_SELECTIONADD 0x00008007L
#define EVENT_OBJECT_SELECTIONREMOVE 0x00008008L
#define EVENT_OBJECT_SELECTIONWITHIN 0x00008009L
#define EVENT_OBJECT_STATECHANGE 0x0000800AL
#define EVENT_OBJECT_LOCATIONCHANGE 0x0000800BL
#define EVENT_OBJECT_NAMECHANGE 0x0000800CL
#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x0000800DL
#define EVENT_OBJECT_VALUECHANGE 0x0000800EL
#define EVENT_OBJECT_PARENTCHANGE 0x0000800FL
#define EVENT_OBJECT_HELPCHANGE 0x00008010L
#define EVENT_OBJECT_DEFACTIONCHANGE 0x00008011L
#define EVENT_OBJECT_ACCELERATORCHANGE 0x00008012L
#endif
/* GUI thread information */
#if (WINVER < 0x0500)
typedef struct tagGUITHREADINFO {
DWORD cbSize;
DWORD flags;
HWND hwndActive;
HWND hwndFocus;
HWND hwndCapture;
HWND hwndMenuOwner;
HWND hwndMoveSize;
HWND hwndCaret;
RECT rcCaret;
} GUITHREADINFO;
typedef GUITHREADINFO *PGUITHREADINFO;
typedef GUITHREADINFO *LPGUITHREADINFO;
#endif
/* Mouse input information */
#if (_WIN32_WINNT < 0x0400)
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT;
typedef MOUSEINPUT *PMOUSEINPUT;
typedef MOUSEINPUT *LPMOUSEINPUT;
#endif
/* Keyboard input information */
#if (_WIN32_WINNT < 0x0400)
typedef struct tagKEYBDINPUT {
WORD wVk;
WORD wScan;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KEYBDINPUT;
typedef KEYBDINPUT *PKEYBDINPUT;
typedef KEYBDINPUT *LPKEYBDINPUT;
#endif
/* Hardware input information */
#if (_WIN32_WINNT < 0x0400)
typedef struct tagHARDWAREINPUT {
DWORD uMsg;
WORD wParamL;
WORD wParamH;
} HARDWAREINPUT;
typedef HARDWAREINPUT *PHARDWAREINPUT;
typedef HARDWAREINPUT *LPHARDWAREINPUT;
#endif
/* Input information */
#if (_WIN32_WINNT < 0x0400)
typedef struct tagINPUT {
DWORD type;
union {
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
};
} INPUT;
typedef INPUT *PINPUT;
typedef INPUT *LPINPUT;
#endif
/* WinEvent hook callback */
#if (WINVER < 0x0500)
typedef VOID (CALLBACK *WINEVENTPROC)( HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD );
#endif
/* Functions in USER32.DLL */
#if (WINVER < 0x0500)
WINABLEAPI BOOL WINAPI GetGUIThreadInfo( DWORD, PGUITHREADINFO );
WINABLEAPI UINT WINAPI GetWindowModuleFileNameA( HWND, LPSTR, UINT );
WINABLEAPI UINT WINAPI GetWindowModuleFileNameW( HWND, LPWSTR, UINT );
WINABLEAPI VOID WINAPI NotifyWinEvent( DWORD, HWND, LONG, LONG );
WINABLEAPI HWINEVENTHOOK WINAPI SetWinEventHook( DWORD, DWORD, HMODULE, WINEVENTPROC, DWORD, DWORD, DWORD );
WINABLEAPI BOOL WINAPI UnhookWinEvent( HWINEVENTHOOK );
#endif
#if (_WIN32_WINNT < 0x0400)
WINABLEAPI UINT WINAPI SendInput( UINT, LPINPUT, int );
#endif
/* Map generic function names to the appropriate ANSI or Unicode version. */
#ifdef UNICODE
#define GetWindowModuleFileName GetWindowModuleFileNameW
#else
#define GetWindowModuleFileName GetWindowModuleFileNameA
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _WINABLE_ */