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