newlib/winsup/w32api/include/winable.h
Dimitri Papadopoulos 349a6402fe * include/winable.h (BlockInput): Add function.
* include/winable.h (WS_ACTIVECAPTION): Add constant.
	For use with WINDOWINFO structure.

	* include/winuser.h [_WIN32_WINNT >= 0x0500] (LockWorkStation):
	Add function.

	* include/winuser.h [_WIN32_WINNT >= 0x0501] (IsWinEventHookInstalled):
	Add function.

	* include/winuser.h [WINVER >= 0x0500] (UnhookWinEvent):
	Add function...

	* include/winable.h [WINVER < 0x0500] (UnhookWinEvent):
	...and duplicate.

	* include/winuser.h [_WIN32_WINNT >= 0x0403] (SendInput):
	Guard function...

	* include/winable.h [_WIN32_WINNT < 0x0403] (SendInput):
	...and duplicate.

	* include/winuser.h [WINVER >= 0x0500] (NotifyWinEvent):
	Guard function...

	* include/winable.h [WINVER < 0x0500] (NotifyWinEvent):
	...and duplicate.

	* include/winuser.h [WINVER >= 0x0500] (MOUSEINPUT, KEYBDINPUT,
	HARDWAREINPUT, INPUT): Guard structures...

	* include/winable.h [WINVER < 0x0500] (MOUSEINPUT, KEYBDINPUT,
	HARDWAREINPUT, INPUT): ...and duplicate.

	* include/winuser.h [_WIN32_WINNT >= 0x0403] (INPUT_MOUSE,
	INPUT_KEYBOARD, INPUT_HARDWARE): Guard constants...

	* include/winable.h [_WIN32_WINNT < 0x0403] (INPUT_MOUSE,
	INPUT_KEYBOARD, INPUT_HARDWARE): ...and duplicate.

	* include/winuser.h: Move around some lines. Reformat according
	to recommended or dominant style. Remove FAR keyword.

	* include/winable.h: Move around some lines.

	* lib/user32.def (BlockInput, IsWinEventHookInstalled,
	LockWorkStation, UnhookWinEvent): Add functions.
2003-09-26 14:46:33 +00:00

100 lines
2.4 KiB
C

#ifndef _WINABLE_H
#define _WINABLE_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#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)
typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
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