[1046] | 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
|
---|