Reactos
1#ifndef _WINABLE_H
2#define _WINABLE_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#if (_WIN32_WINNT < 0x0403)
9#define INPUT_MOUSE 0x00000000
10#define INPUT_KEYBOARD 0x00000001
11#define INPUT_HARDWARE 0x00000002
12#endif /* (_WIN32_WINNT < 0x04030) */
13#if (WINVER < 0x0500)
14#define CHILDID_SELF 0
15#define OBJID_WINDOW 0x00000000
16#define OBJID_SYSMENU 0xFFFFFFFF
17#define OBJID_TITLEBAR 0xFFFFFFFE
18#define OBJID_MENU 0xFFFFFFFD
19#define OBJID_CLIENT 0xFFFFFFFC
20#define OBJID_VSCROLL 0xFFFFFFFB
21#define OBJID_HSCROLL 0xFFFFFFFA
22#define OBJID_SIZEGRIP 0xFFFFFFF9
23#define OBJID_CARET 0xFFFFFFF8
24#define OBJID_CURSOR 0xFFFFFFF7
25#define OBJID_ALERT 0xFFFFFFF6
26#define OBJID_SOUND 0xFFFFFFF5
27#define GUI_CARETBLINKING 0x00000001
28#define GUI_INMOVESIZE 0x00000002
29#define GUI_INMENUMODE 0x00000004
30#define GUI_SYSTEMMENUMODE 0x00000008
31#define GUI_POPUPMENUMODE 0x00000010
32#define WINEVENT_OUTOFCONTEXT 0x0000
33#define WINEVENT_SKIPOWNTHREAD 0x0001
34#define WINEVENT_SKIPOWNPROCESS 0x0002
35#define WINEVENT_INCONTEXT 0x0004
36#endif /* (WINVER < 0x0500) */
37#if (_WIN32_WINNT < 0x0403)
38typedef struct tagMOUSEINPUT {
39 LONG dx;
40 LONG dy;
41 DWORD mouseData;
42 DWORD dwFlags;
43 DWORD time;
44 ULONG_PTR dwExtraInfo;
45} MOUSEINPUT,*PMOUSEINPUT;
46typedef struct tagKEYBDINPUT {
47 WORD wVk;
48 WORD wScan;
49 DWORD dwFlags;
50 DWORD time;
51 ULONG_PTR dwExtraInfo;
52} KEYBDINPUT,*PKEYBDINPUT;
53typedef struct tagHARDWAREINPUT {
54 DWORD uMsg;
55 WORD wParamL;
56 WORD wParamH;
57} HARDWAREINPUT,*PHARDWAREINPUT;
58typedef struct tagINPUT {
59 DWORD type;
60 _ANONYMOUS_UNION union {
61 MOUSEINPUT mi;
62 KEYBDINPUT ki;
63 HARDWAREINPUT hi;
64 } DUMMYUNIONNAME;
65} INPUT,*PINPUT,*LPINPUT;
66#endif /* (_WIN32_WINNT < 0x0403) */
67#if (WINVER < 0x0500)
68typedef VOID (CALLBACK* WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
69typedef struct tagGUITHREADINFO {
70 DWORD cbSize;
71 DWORD flags;
72 HWND hwndActive;
73 HWND hwndFocus;
74 HWND hwndCapture;
75 HWND hwndMenuOwner;
76 HWND hwndMoveSize;
77 HWND hwndCaret;
78 RECT rcCaret;
79} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
80#endif /* (WINVER < 0x0500) */
81
82BOOL WINAPI BlockInput(BOOL);
83#if (_WIN32_WINNT < 0x0403)
84UINT WINAPI SendInput(UINT,LPINPUT,int);
85#endif
86#if (WINVER < 0x0500)
87BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
88void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
89HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
90BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
91#endif /* (WINVER < 0x0500) */
92
93#ifdef __cplusplus
94}
95#endif
96#endif