2005-05-09 01:44:37 +08:00
|
|
|
#ifndef _WINABLE_H
|
|
|
|
#define _WINABLE_H
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_WIN32_WINNT < 0x0403)
|
|
|
|
#define INPUT_MOUSE 0x00000000
|
|
|
|
#define INPUT_KEYBOARD 0x00000001
|
|
|
|
#define INPUT_HARDWARE 0x00000002
|
|
|
|
#endif /* (_WIN32_WINNT < 0x04030) */
|
|
|
|
#if (WINVER < 0x0500)
|
|
|
|
#define CHILDID_SELF 0
|
|
|
|
#define OBJID_WINDOW 0x00000000
|
|
|
|
#define OBJID_SYSMENU 0xFFFFFFFF
|
|
|
|
#define OBJID_TITLEBAR 0xFFFFFFFE
|
|
|
|
#define OBJID_MENU 0xFFFFFFFD
|
|
|
|
#define OBJID_CLIENT 0xFFFFFFFC
|
|
|
|
#define OBJID_VSCROLL 0xFFFFFFFB
|
|
|
|
#define OBJID_HSCROLL 0xFFFFFFFA
|
|
|
|
#define OBJID_SIZEGRIP 0xFFFFFFF9
|
|
|
|
#define OBJID_CARET 0xFFFFFFF8
|
|
|
|
#define OBJID_CURSOR 0xFFFFFFF7
|
|
|
|
#define OBJID_ALERT 0xFFFFFFF6
|
|
|
|
#define OBJID_SOUND 0xFFFFFFF5
|
|
|
|
#define GUI_CARETBLINKING 0x00000001
|
|
|
|
#define GUI_INMOVESIZE 0x00000002
|
|
|
|
#define GUI_INMENUMODE 0x00000004
|
|
|
|
#define GUI_SYSTEMMENUMODE 0x00000008
|
|
|
|
#define GUI_POPUPMENUMODE 0x00000010
|
|
|
|
#define WINEVENT_OUTOFCONTEXT 0x0000
|
|
|
|
#define WINEVENT_SKIPOWNTHREAD 0x0001
|
|
|
|
#define WINEVENT_SKIPOWNPROCESS 0x0002
|
|
|
|
#define WINEVENT_INCONTEXT 0x0004
|
|
|
|
#endif /* (WINVER < 0x0500) */
|
|
|
|
#if (_WIN32_WINNT < 0x0403)
|
|
|
|
typedef struct tagMOUSEINPUT {
|
|
|
|
LONG dx;
|
|
|
|
LONG dy;
|
|
|
|
DWORD mouseData;
|
|
|
|
DWORD dwFlags;
|
|
|
|
DWORD time;
|
|
|
|
ULONG_PTR dwExtraInfo;
|
|
|
|
} MOUSEINPUT,*PMOUSEINPUT;
|
|
|
|
typedef struct tagKEYBDINPUT {
|
|
|
|
WORD wVk;
|
|
|
|
WORD wScan;
|
|
|
|
DWORD dwFlags;
|
|
|
|
DWORD time;
|
|
|
|
ULONG_PTR dwExtraInfo;
|
|
|
|
} KEYBDINPUT,*PKEYBDINPUT;
|
|
|
|
typedef struct tagHARDWAREINPUT {
|
|
|
|
DWORD uMsg;
|
|
|
|
WORD wParamL;
|
|
|
|
WORD wParamH;
|
|
|
|
} HARDWAREINPUT,*PHARDWAREINPUT;
|
|
|
|
typedef struct tagINPUT {
|
|
|
|
DWORD type;
|
|
|
|
_ANONYMOUS_UNION union {
|
|
|
|
MOUSEINPUT mi;
|
|
|
|
KEYBDINPUT ki;
|
|
|
|
HARDWAREINPUT hi;
|
|
|
|
} DUMMYUNIONNAME;
|
|
|
|
} INPUT,*PINPUT,*LPINPUT;
|
|
|
|
#endif /* (_WIN32_WINNT < 0x0403) */
|
|
|
|
#if (WINVER < 0x0500)
|
2009-01-18 23:59:21 +08:00
|
|
|
typedef VOID (CALLBACK* WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
|
2005-05-09 01:44:37 +08:00
|
|
|
typedef struct tagGUITHREADINFO {
|
|
|
|
DWORD cbSize;
|
|
|
|
DWORD flags;
|
|
|
|
HWND hwndActive;
|
|
|
|
HWND hwndFocus;
|
|
|
|
HWND hwndCapture;
|
|
|
|
HWND hwndMenuOwner;
|
|
|
|
HWND hwndMoveSize;
|
|
|
|
HWND hwndCaret;
|
|
|
|
RECT rcCaret;
|
|
|
|
} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
|
|
|
|
#endif /* (WINVER < 0x0500) */
|
|
|
|
|
|
|
|
BOOL WINAPI BlockInput(BOOL);
|
|
|
|
#if (_WIN32_WINNT < 0x0403)
|
|
|
|
UINT WINAPI SendInput(UINT,LPINPUT,int);
|
|
|
|
#endif
|
|
|
|
#if (WINVER < 0x0500)
|
|
|
|
BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
|
|
|
|
void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
|
|
|
|
HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
|
|
|
|
BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
|
|
|
|
#endif /* (WINVER < 0x0500) */
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|