home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / winable.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  3KB  |  100 lines

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