|
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 |