WinUser.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:274k
- /****************************************************************************
- * *
- * winuser.h -- USER procedure declarations, constant definitions and macros *
- * *
- * Copyright (c) Microsoft Corporation. All rights reserved. *
- * *
- ****************************************************************************/
- #ifndef _WINUSER_
- #define _WINUSER_
- //
- // Define API decoration for direct importing of DLL references.
- //
- #if !defined(_USER32_)
- #define WINUSERAPI DECLSPEC_IMPORT
- #else
- #define WINUSERAPI
- #endif
- #ifdef _MAC
- #include <macwin32.h>
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- #ifndef WINVER
- #define WINVER 0x0500 /* version 5.0 */
- #endif /* !WINVER */
- #include <stdarg.h>
- #ifndef NOUSER
- typedef HANDLE HDWP;
- typedef VOID MENUTEMPLATEA;
- typedef VOID MENUTEMPLATEW;
- #ifdef UNICODE
- typedef MENUTEMPLATEW MENUTEMPLATE;
- #else
- typedef MENUTEMPLATEA MENUTEMPLATE;
- #endif // UNICODE
- typedef PVOID LPMENUTEMPLATEA;
- typedef PVOID LPMENUTEMPLATEW;
- #ifdef UNICODE
- typedef LPMENUTEMPLATEW LPMENUTEMPLATE;
- #else
- typedef LPMENUTEMPLATEA LPMENUTEMPLATE;
- #endif // UNICODE
- typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
- #ifdef STRICT
- typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
- typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);
- typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int);
- typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM);
- typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
- typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT);
- typedef BOOL (CALLBACK* PROPENUMPROCA)(HWND, LPCSTR, HANDLE);
- typedef BOOL (CALLBACK* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE);
- typedef BOOL (CALLBACK* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, ULONG_PTR);
- typedef BOOL (CALLBACK* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, ULONG_PTR);
- typedef int (CALLBACK* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code);
- typedef int (CALLBACK* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code);
- #if(WINVER >= 0x0400)
- typedef BOOL (CALLBACK* DRAWSTATEPROC)(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy);
- #endif /* WINVER >= 0x0400 */
- #else /* !STRICT */
- typedef FARPROC DLGPROC;
- typedef FARPROC TIMERPROC;
- typedef FARPROC GRAYSTRINGPROC;
- typedef FARPROC WNDENUMPROC;
- typedef FARPROC HOOKPROC;
- typedef FARPROC SENDASYNCPROC;
- typedef FARPROC EDITWORDBREAKPROCA;
- typedef FARPROC EDITWORDBREAKPROCW;
- typedef FARPROC PROPENUMPROCA;
- typedef FARPROC PROPENUMPROCW;
- typedef FARPROC PROPENUMPROCEXA;
- typedef FARPROC PROPENUMPROCEXW;
- #if(WINVER >= 0x0400)
- typedef FARPROC DRAWSTATEPROC;
- #endif /* WINVER >= 0x0400 */
- #endif /* !STRICT */
- #ifdef UNICODE
- typedef PROPENUMPROCW PROPENUMPROC;
- typedef PROPENUMPROCEXW PROPENUMPROCEX;
- typedef EDITWORDBREAKPROCW EDITWORDBREAKPROC;
- #else /* !UNICODE */
- typedef PROPENUMPROCA PROPENUMPROC;
- typedef PROPENUMPROCEXA PROPENUMPROCEX;
- typedef EDITWORDBREAKPROCA EDITWORDBREAKPROC;
- #endif /* UNICODE */
- #ifdef STRICT
- typedef BOOL (CALLBACK* NAMEENUMPROCA)(LPSTR, LPARAM);
- typedef BOOL (CALLBACK* NAMEENUMPROCW)(LPWSTR, LPARAM);
- typedef NAMEENUMPROCA WINSTAENUMPROCA;
- typedef NAMEENUMPROCA DESKTOPENUMPROCA;
- typedef NAMEENUMPROCW WINSTAENUMPROCW;
- typedef NAMEENUMPROCW DESKTOPENUMPROCW;
- #else /* !STRICT */
- typedef FARPROC NAMEENUMPROCA;
- typedef FARPROC NAMEENUMPROCW;
- typedef FARPROC WINSTAENUMPROCA;
- typedef FARPROC DESKTOPENUMPROCA;
- typedef FARPROC WINSTAENUMPROCW;
- typedef FARPROC DESKTOPENUMPROCW;
- #endif /* !STRICT */
- #ifdef UNICODE
- typedef WINSTAENUMPROCW WINSTAENUMPROC;
- typedef DESKTOPENUMPROCW DESKTOPENUMPROC;
- #else /* !UNICODE */
- typedef WINSTAENUMPROCA WINSTAENUMPROC;
- typedef DESKTOPENUMPROCA DESKTOPENUMPROC;
- #endif /* UNICODE */
- #define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0)
- #define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))
- #define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
- #ifdef UNICODE
- #define MAKEINTRESOURCE MAKEINTRESOURCEW
- #else
- #define MAKEINTRESOURCE MAKEINTRESOURCEA
- #endif // !UNICODE
- #ifndef NORESOURCE
- /*
- * Predefined Resource Types
- */
- #define RT_CURSOR MAKEINTRESOURCE(1)
- #define RT_BITMAP MAKEINTRESOURCE(2)
- #define RT_ICON MAKEINTRESOURCE(3)
- #define RT_MENU MAKEINTRESOURCE(4)
- #define RT_DIALOG MAKEINTRESOURCE(5)
- #define RT_STRING MAKEINTRESOURCE(6)
- #define RT_FONTDIR MAKEINTRESOURCE(7)
- #define RT_FONT MAKEINTRESOURCE(8)
- #define RT_ACCELERATOR MAKEINTRESOURCE(9)
- #define RT_RCDATA MAKEINTRESOURCE(10)
- #define RT_MESSAGETABLE MAKEINTRESOURCE(11)
- #define DIFFERENCE 11
- #define RT_GROUP_CURSOR MAKEINTRESOURCE((ULONG_PTR)RT_CURSOR + DIFFERENCE)
- #define RT_GROUP_ICON MAKEINTRESOURCE((ULONG_PTR)RT_ICON + DIFFERENCE)
- #define RT_VERSION MAKEINTRESOURCE(16)
- #define RT_DLGINCLUDE MAKEINTRESOURCE(17)
- #if(WINVER >= 0x0400)
- #define RT_PLUGPLAY MAKEINTRESOURCE(19)
- #define RT_VXD MAKEINTRESOURCE(20)
- #define RT_ANICURSOR MAKEINTRESOURCE(21)
- #define RT_ANIICON MAKEINTRESOURCE(22)
- #endif /* WINVER >= 0x0400 */
- #define RT_HTML MAKEINTRESOURCE(23)
- #ifdef RC_INVOKED
- #define RT_MANIFEST 24
- #define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
- #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
- #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
- #define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID 1 /* inclusive */
- #define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID 16 /* inclusive */
- #else /* RC_INVOKED */
- #define RT_MANIFEST MAKEINTRESOURCE(24)
- #define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE( 1)
- #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
- #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
- #define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE( 1 /*inclusive*/)
- #define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16 /*inclusive*/)
- #endif /* RC_INVOKED */
- #endif /* !NORESOURCE */
- WINUSERAPI
- int
- WINAPI
- wvsprintfA(
- OUT LPSTR,
- IN LPCSTR,
- IN va_list arglist);
- WINUSERAPI
- int
- WINAPI
- wvsprintfW(
- OUT LPWSTR,
- IN LPCWSTR,
- IN va_list arglist);
- #ifdef UNICODE
- #define wvsprintf wvsprintfW
- #else
- #define wvsprintf wvsprintfA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPIV
- wsprintfA(
- OUT LPSTR,
- IN LPCSTR,
- ...);
- WINUSERAPI
- int
- WINAPIV
- wsprintfW(
- OUT LPWSTR,
- IN LPCWSTR,
- ...);
- #ifdef UNICODE
- #define wsprintf wsprintfW
- #else
- #define wsprintf wsprintfA
- #endif // !UNICODE
- /*
- * SPI_SETDESKWALLPAPER defined constants
- */
- #define SETWALLPAPER_DEFAULT ((LPWSTR)-1)
- #ifndef NOSCROLL
- /*
- * Scroll Bar Constants
- */
- #define SB_HORZ 0
- #define SB_VERT 1
- #define SB_CTL 2
- #define SB_BOTH 3
- /*
- * Scroll Bar Commands
- */
- #define SB_LINEUP 0
- #define SB_LINELEFT 0
- #define SB_LINEDOWN 1
- #define SB_LINERIGHT 1
- #define SB_PAGEUP 2
- #define SB_PAGELEFT 2
- #define SB_PAGEDOWN 3
- #define SB_PAGERIGHT 3
- #define SB_THUMBPOSITION 4
- #define SB_THUMBTRACK 5
- #define SB_TOP 6
- #define SB_LEFT 6
- #define SB_BOTTOM 7
- #define SB_RIGHT 7
- #define SB_ENDSCROLL 8
- #endif /* !NOSCROLL */
- #ifndef NOSHOWWINDOW
- /*
- * ShowWindow() Commands
- */
- #define SW_HIDE 0
- #define SW_SHOWNORMAL 1
- #define SW_NORMAL 1
- #define SW_SHOWMINIMIZED 2
- #define SW_SHOWMAXIMIZED 3
- #define SW_MAXIMIZE 3
- #define SW_SHOWNOACTIVATE 4
- #define SW_SHOW 5
- #define SW_MINIMIZE 6
- #define SW_SHOWMINNOACTIVE 7
- #define SW_SHOWNA 8
- #define SW_RESTORE 9
- #define SW_SHOWDEFAULT 10
- #define SW_FORCEMINIMIZE 11
- #define SW_MAX 11
- /*
- * Old ShowWindow() Commands
- */
- #define HIDE_WINDOW 0
- #define SHOW_OPENWINDOW 1
- #define SHOW_ICONWINDOW 2
- #define SHOW_FULLSCREEN 3
- #define SHOW_OPENNOACTIVATE 4
- /*
- * Identifiers for the WM_SHOWWINDOW message
- */
- #define SW_PARENTCLOSING 1
- #define SW_OTHERZOOM 2
- #define SW_PARENTOPENING 3
- #define SW_OTHERUNZOOM 4
- #endif /* !NOSHOWWINDOW */
- #if(WINVER >= 0x0500)
- /*
- * AnimateWindow() Commands
- */
- #define AW_HOR_POSITIVE 0x00000001
- #define AW_HOR_NEGATIVE 0x00000002
- #define AW_VER_POSITIVE 0x00000004
- #define AW_VER_NEGATIVE 0x00000008
- #define AW_CENTER 0x00000010
- #define AW_HIDE 0x00010000
- #define AW_ACTIVATE 0x00020000
- #define AW_SLIDE 0x00040000
- #define AW_BLEND 0x00080000
- #endif /* WINVER >= 0x0500 */
- /*
- * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags
- */
- #define KF_EXTENDED 0x0100
- #define KF_DLGMODE 0x0800
- #define KF_MENUMODE 0x1000
- #define KF_ALTDOWN 0x2000
- #define KF_REPEAT 0x4000
- #define KF_UP 0x8000
- #ifndef NOVIRTUALKEYCODES
- /*
- * Virtual Keys, Standard Set
- */
- #define VK_LBUTTON 0x01
- #define VK_RBUTTON 0x02
- #define VK_CANCEL 0x03
- #define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */
- #if(_WIN32_WINNT >= 0x0500)
- #define VK_XBUTTON1 0x05 /* NOT contiguous with L & RBUTTON */
- #define VK_XBUTTON2 0x06 /* NOT contiguous with L & RBUTTON */
- #endif /* _WIN32_WINNT >= 0x0500 */
- /*
- * 0x07 : unassigned
- */
- #define VK_BACK 0x08
- #define VK_TAB 0x09
- /*
- * 0x0A - 0x0B : reserved
- */
- #define VK_CLEAR 0x0C
- #define VK_RETURN 0x0D
- #define VK_SHIFT 0x10
- #define VK_CONTROL 0x11
- #define VK_MENU 0x12
- #define VK_PAUSE 0x13
- #define VK_CAPITAL 0x14
- #define VK_KANA 0x15
- #define VK_HANGEUL 0x15 /* old name - should be here for compatibility */
- #define VK_HANGUL 0x15
- #define VK_JUNJA 0x17
- #define VK_FINAL 0x18
- #define VK_HANJA 0x19
- #define VK_KANJI 0x19
- #define VK_ESCAPE 0x1B
- #define VK_CONVERT 0x1C
- #define VK_NONCONVERT 0x1D
- #define VK_ACCEPT 0x1E
- #define VK_MODECHANGE 0x1F
- #define VK_SPACE 0x20
- #define VK_PRIOR 0x21
- #define VK_NEXT 0x22
- #define VK_END 0x23
- #define VK_HOME 0x24
- #define VK_LEFT 0x25
- #define VK_UP 0x26
- #define VK_RIGHT 0x27
- #define VK_DOWN 0x28
- #define VK_SELECT 0x29
- #define VK_PRINT 0x2A
- #define VK_EXECUTE 0x2B
- #define VK_SNAPSHOT 0x2C
- #define VK_INSERT 0x2D
- #define VK_DELETE 0x2E
- #define VK_HELP 0x2F
- /*
- * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
- * 0x40 : unassigned
- * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
- */
- #define VK_LWIN 0x5B
- #define VK_RWIN 0x5C
- #define VK_APPS 0x5D
- /*
- * 0x5E : reserved
- */
- #define VK_SLEEP 0x5F
- #define VK_NUMPAD0 0x60
- #define VK_NUMPAD1 0x61
- #define VK_NUMPAD2 0x62
- #define VK_NUMPAD3 0x63
- #define VK_NUMPAD4 0x64
- #define VK_NUMPAD5 0x65
- #define VK_NUMPAD6 0x66
- #define VK_NUMPAD7 0x67
- #define VK_NUMPAD8 0x68
- #define VK_NUMPAD9 0x69
- #define VK_MULTIPLY 0x6A
- #define VK_ADD 0x6B
- #define VK_SEPARATOR 0x6C
- #define VK_SUBTRACT 0x6D
- #define VK_DECIMAL 0x6E
- #define VK_DIVIDE 0x6F
- #define VK_F1 0x70
- #define VK_F2 0x71
- #define VK_F3 0x72
- #define VK_F4 0x73
- #define VK_F5 0x74
- #define VK_F6 0x75
- #define VK_F7 0x76
- #define VK_F8 0x77
- #define VK_F9 0x78
- #define VK_F10 0x79
- #define VK_F11 0x7A
- #define VK_F12 0x7B
- #define VK_F13 0x7C
- #define VK_F14 0x7D
- #define VK_F15 0x7E
- #define VK_F16 0x7F
- #define VK_F17 0x80
- #define VK_F18 0x81
- #define VK_F19 0x82
- #define VK_F20 0x83
- #define VK_F21 0x84
- #define VK_F22 0x85
- #define VK_F23 0x86
- #define VK_F24 0x87
- /*
- * 0x88 - 0x8F : unassigned
- */
- #define VK_NUMLOCK 0x90
- #define VK_SCROLL 0x91
- /*
- * NEC PC-9800 kbd definitions
- */
- #define VK_OEM_NEC_EQUAL 0x92 // '=' key on numpad
- /*
- * Fujitsu/OASYS kbd definitions
- */
- #define VK_OEM_FJ_JISHO 0x92 // 'Dictionary' key
- #define VK_OEM_FJ_MASSHOU 0x93 // 'Unregister word' key
- #define VK_OEM_FJ_TOUROKU 0x94 // 'Register word' key
- #define VK_OEM_FJ_LOYA 0x95 // 'Left OYAYUBI' key
- #define VK_OEM_FJ_ROYA 0x96 // 'Right OYAYUBI' key
- /*
- * 0x97 - 0x9F : unassigned
- */
- /*
- * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
- * Used only as parameters to GetAsyncKeyState() and GetKeyState().
- * No other API or message will distinguish left and right keys in this way.
- */
- #define VK_LSHIFT 0xA0
- #define VK_RSHIFT 0xA1
- #define VK_LCONTROL 0xA2
- #define VK_RCONTROL 0xA3
- #define VK_LMENU 0xA4
- #define VK_RMENU 0xA5
- #if(_WIN32_WINNT >= 0x0500)
- #define VK_BROWSER_BACK 0xA6
- #define VK_BROWSER_FORWARD 0xA7
- #define VK_BROWSER_REFRESH 0xA8
- #define VK_BROWSER_STOP 0xA9
- #define VK_BROWSER_SEARCH 0xAA
- #define VK_BROWSER_FAVORITES 0xAB
- #define VK_BROWSER_HOME 0xAC
- #define VK_VOLUME_MUTE 0xAD
- #define VK_VOLUME_DOWN 0xAE
- #define VK_VOLUME_UP 0xAF
- #define VK_MEDIA_NEXT_TRACK 0xB0
- #define VK_MEDIA_PREV_TRACK 0xB1
- #define VK_MEDIA_STOP 0xB2
- #define VK_MEDIA_PLAY_PAUSE 0xB3
- #define VK_LAUNCH_MAIL 0xB4
- #define VK_LAUNCH_MEDIA_SELECT 0xB5
- #define VK_LAUNCH_APP1 0xB6
- #define VK_LAUNCH_APP2 0xB7
- #endif /* _WIN32_WINNT >= 0x0500 */
- /*
- * 0xB8 - 0xB9 : reserved
- */
- #define VK_OEM_1 0xBA // ';:' for US
- #define VK_OEM_PLUS 0xBB // '+' any country
- #define VK_OEM_COMMA 0xBC // ',' any country
- #define VK_OEM_MINUS 0xBD // '-' any country
- #define VK_OEM_PERIOD 0xBE // '.' any country
- #define VK_OEM_2 0xBF // '/?' for US
- #define VK_OEM_3 0xC0 // '`~' for US
- /*
- * 0xC1 - 0xD7 : reserved
- */
- /*
- * 0xD8 - 0xDA : unassigned
- */
- #define VK_OEM_4 0xDB // '[{' for US
- #define VK_OEM_5 0xDC // '|' for US
- #define VK_OEM_6 0xDD // ']}' for US
- #define VK_OEM_7 0xDE // ''"' for US
- #define VK_OEM_8 0xDF
- /*
- * 0xE0 : reserved
- */
- /*
- * Various extended or enhanced keyboards
- */
- #define VK_OEM_AX 0xE1 // 'AX' key on Japanese AX kbd
- #define VK_OEM_102 0xE2 // "<>" or "|" on RT 102-key kbd.
- #define VK_ICO_HELP 0xE3 // Help key on ICO
- #define VK_ICO_00 0xE4 // 00 key on ICO
- #if(WINVER >= 0x0400)
- #define VK_PROCESSKEY 0xE5
- #endif /* WINVER >= 0x0400 */
- #define VK_ICO_CLEAR 0xE6
- #if(_WIN32_WINNT >= 0x0500)
- #define VK_PACKET 0xE7
- #endif /* _WIN32_WINNT >= 0x0500 */
- /*
- * 0xE8 : unassigned
- */
- /*
- * Nokia/Ericsson definitions
- */
- #define VK_OEM_RESET 0xE9
- #define VK_OEM_JUMP 0xEA
- #define VK_OEM_PA1 0xEB
- #define VK_OEM_PA2 0xEC
- #define VK_OEM_PA3 0xED
- #define VK_OEM_WSCTRL 0xEE
- #define VK_OEM_CUSEL 0xEF
- #define VK_OEM_ATTN 0xF0
- #define VK_OEM_FINISH 0xF1
- #define VK_OEM_COPY 0xF2
- #define VK_OEM_AUTO 0xF3
- #define VK_OEM_ENLW 0xF4
- #define VK_OEM_BACKTAB 0xF5
- #define VK_ATTN 0xF6
- #define VK_CRSEL 0xF7
- #define VK_EXSEL 0xF8
- #define VK_EREOF 0xF9
- #define VK_PLAY 0xFA
- #define VK_ZOOM 0xFB
- #define VK_NONAME 0xFC
- #define VK_PA1 0xFD
- #define VK_OEM_CLEAR 0xFE
- /*
- * 0xFF : reserved
- */
- #endif /* !NOVIRTUALKEYCODES */
- #ifndef NOWH
- /*
- * SetWindowsHook() codes
- */
- #define WH_MIN (-1)
- #define WH_MSGFILTER (-1)
- #define WH_JOURNALRECORD 0
- #define WH_JOURNALPLAYBACK 1
- #define WH_KEYBOARD 2
- #define WH_GETMESSAGE 3
- #define WH_CALLWNDPROC 4
- #define WH_CBT 5
- #define WH_SYSMSGFILTER 6
- #define WH_MOUSE 7
- #if defined(_WIN32_WINDOWS)
- #define WH_HARDWARE 8
- #endif
- #define WH_DEBUG 9
- #define WH_SHELL 10
- #define WH_FOREGROUNDIDLE 11
- #if(WINVER >= 0x0400)
- #define WH_CALLWNDPROCRET 12
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINNT >= 0x0400)
- #define WH_KEYBOARD_LL 13
- #define WH_MOUSE_LL 14
- #endif // (_WIN32_WINNT >= 0x0400)
- #if(WINVER >= 0x0400)
- #if (_WIN32_WINNT >= 0x0400)
- #define WH_MAX 14
- #else
- #define WH_MAX 12
- #endif // (_WIN32_WINNT >= 0x0400)
- #else
- #define WH_MAX 11
- #endif
- #define WH_MINHOOK WH_MIN
- #define WH_MAXHOOK WH_MAX
- /*
- * Hook Codes
- */
- #define HC_ACTION 0
- #define HC_GETNEXT 1
- #define HC_SKIP 2
- #define HC_NOREMOVE 3
- #define HC_NOREM HC_NOREMOVE
- #define HC_SYSMODALON 4
- #define HC_SYSMODALOFF 5
- /*
- * CBT Hook Codes
- */
- #define HCBT_MOVESIZE 0
- #define HCBT_MINMAX 1
- #define HCBT_QS 2
- #define HCBT_CREATEWND 3
- #define HCBT_DESTROYWND 4
- #define HCBT_ACTIVATE 5
- #define HCBT_CLICKSKIPPED 6
- #define HCBT_KEYSKIPPED 7
- #define HCBT_SYSCOMMAND 8
- #define HCBT_SETFOCUS 9
- /*
- * HCBT_CREATEWND parameters pointed to by lParam
- */
- typedef struct tagCBT_CREATEWNDA
- {
- struct tagCREATESTRUCTA *lpcs;
- HWND hwndInsertAfter;
- } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
- /*
- * HCBT_CREATEWND parameters pointed to by lParam
- */
- typedef struct tagCBT_CREATEWNDW
- {
- struct tagCREATESTRUCTW *lpcs;
- HWND hwndInsertAfter;
- } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
- #ifdef UNICODE
- typedef CBT_CREATEWNDW CBT_CREATEWND;
- typedef LPCBT_CREATEWNDW LPCBT_CREATEWND;
- #else
- typedef CBT_CREATEWNDA CBT_CREATEWND;
- typedef LPCBT_CREATEWNDA LPCBT_CREATEWND;
- #endif // UNICODE
- /*
- * HCBT_ACTIVATE structure pointed to by lParam
- */
- typedef struct tagCBTACTIVATESTRUCT
- {
- BOOL fMouse;
- HWND hWndActive;
- } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
- #if(_WIN32_WINNT >= 0x0501)
- /*
- * WTSSESSION_NOTIFICATION struct pointed by lParam, for WM_WTSSESSION_CHANGE
- */
- typedef struct tagWTSSESSION_NOTIFICATION
- {
- DWORD cbSize;
- DWORD dwSessionId;
- } WTSSESSION_NOTIFICATION, *PWTSSESSION_NOTIFICATION;
- /*
- * codes passed in WPARAM for WM_WTSSESSION_CHANGE
- */
- #define WTS_CONSOLE_CONNECT 0x1
- #define WTS_CONSOLE_DISCONNECT 0x2
- #define WTS_REMOTE_CONNECT 0x3
- #define WTS_REMOTE_DISCONNECT 0x4
- #define WTS_SESSION_LOGON 0x5
- #define WTS_SESSION_LOGOFF 0x6
- #define WTS_SESSION_LOCK 0x7
- #define WTS_SESSION_UNLOCK 0x8
- #endif /* _WIN32_WINNT >= 0x0501 */
- /*
- * WH_MSGFILTER Filter Proc Codes
- */
- #define MSGF_DIALOGBOX 0
- #define MSGF_MESSAGEBOX 1
- #define MSGF_MENU 2
- #define MSGF_SCROLLBAR 5
- #define MSGF_NEXTWINDOW 6
- #define MSGF_MAX 8 // unused
- #define MSGF_USER 4096
- /*
- * Shell support
- */
- #define HSHELL_WINDOWCREATED 1
- #define HSHELL_WINDOWDESTROYED 2
- #define HSHELL_ACTIVATESHELLWINDOW 3
- #if(WINVER >= 0x0400)
- #define HSHELL_WINDOWACTIVATED 4
- #define HSHELL_GETMINRECT 5
- #define HSHELL_REDRAW 6
- #define HSHELL_TASKMAN 7
- #define HSHELL_LANGUAGE 8
- #endif /* WINVER >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0500)
- #define HSHELL_ACCESSIBILITYSTATE 11
- #define HSHELL_APPCOMMAND 12
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define HSHELL_WINDOWREPLACED 13
- #endif /* _WIN32_WINNT >= 0x0501 */
- #if(_WIN32_WINNT >= 0x0500)
- /* wparam for HSHELL_ACCESSIBILITYSTATE */
- #define ACCESS_STICKYKEYS 0x0001
- #define ACCESS_FILTERKEYS 0x0002
- #define ACCESS_MOUSEKEYS 0x0003
- /* cmd for HSHELL_APPCOMMAND and WM_APPCOMMAND */
- #define APPCOMMAND_BROWSER_BACKWARD 1
- #define APPCOMMAND_BROWSER_FORWARD 2
- #define APPCOMMAND_BROWSER_REFRESH 3
- #define APPCOMMAND_BROWSER_STOP 4
- #define APPCOMMAND_BROWSER_SEARCH 5
- #define APPCOMMAND_BROWSER_FAVORITES 6
- #define APPCOMMAND_BROWSER_HOME 7
- #define APPCOMMAND_VOLUME_MUTE 8
- #define APPCOMMAND_VOLUME_DOWN 9
- #define APPCOMMAND_VOLUME_UP 10
- #define APPCOMMAND_MEDIA_NEXTTRACK 11
- #define APPCOMMAND_MEDIA_PREVIOUSTRACK 12
- #define APPCOMMAND_MEDIA_STOP 13
- #define APPCOMMAND_MEDIA_PLAY_PAUSE 14
- #define APPCOMMAND_LAUNCH_MAIL 15
- #define APPCOMMAND_LAUNCH_MEDIA_SELECT 16
- #define APPCOMMAND_LAUNCH_APP1 17
- #define APPCOMMAND_LAUNCH_APP2 18
- #define APPCOMMAND_BASS_DOWN 19
- #define APPCOMMAND_BASS_BOOST 20
- #define APPCOMMAND_BASS_UP 21
- #define APPCOMMAND_TREBLE_DOWN 22
- #define APPCOMMAND_TREBLE_UP 23
- #if(_WIN32_WINNT >= 0x0501)
- #define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24
- #define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25
- #define APPCOMMAND_MICROPHONE_VOLUME_UP 26
- #define APPCOMMAND_HELP 27
- #define APPCOMMAND_FIND 28
- #define APPCOMMAND_NEW 29
- #define APPCOMMAND_OPEN 30
- #define APPCOMMAND_CLOSE 31
- #define APPCOMMAND_SAVE 32
- #define APPCOMMAND_PRINT 33
- #define APPCOMMAND_UNDO 34
- #define APPCOMMAND_REDO 35
- #define APPCOMMAND_COPY 36
- #define APPCOMMAND_CUT 37
- #define APPCOMMAND_PASTE 38
- #define APPCOMMAND_REPLY_TO_MAIL 39
- #define APPCOMMAND_FORWARD_MAIL 40
- #define APPCOMMAND_SEND_MAIL 41
- #define APPCOMMAND_SPELL_CHECK 42
- #define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43
- #define APPCOMMAND_MIC_ON_OFF_TOGGLE 44
- #define APPCOMMAND_CORRECTION_LIST 45
- #endif /* _WIN32_WINNT >= 0x0501 */
- #define FAPPCOMMAND_MOUSE 0x8000
- #define FAPPCOMMAND_KEY 0
- #define FAPPCOMMAND_OEM 0x1000
- #define FAPPCOMMAND_MASK 0xF000
- #define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK))
- #define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK))
- #define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM
- #define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam))
- #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam)
- #endif /* _WIN32_WINNT >= 0x0500 */
- /*
- * Message Structure used in Journaling
- */
- typedef struct tagEVENTMSG {
- UINT message;
- UINT paramL;
- UINT paramH;
- DWORD time;
- HWND hwnd;
- } EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;
- typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;
- /*
- * Message structure used by WH_CALLWNDPROC
- */
- typedef struct tagCWPSTRUCT {
- LPARAM lParam;
- WPARAM wParam;
- UINT message;
- HWND hwnd;
- } CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;
- #if(WINVER >= 0x0400)
- /*
- * Message structure used by WH_CALLWNDPROCRET
- */
- typedef struct tagCWPRETSTRUCT {
- LRESULT lResult;
- LPARAM lParam;
- WPARAM wParam;
- UINT message;
- HWND hwnd;
- } CWPRETSTRUCT, *PCWPRETSTRUCT, NEAR *NPCWPRETSTRUCT, FAR *LPCWPRETSTRUCT;
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINNT >= 0x0400)
- /*
- * Low level hook flags
- */
- #define LLKHF_EXTENDED (KF_EXTENDED >> 8)
- #define LLKHF_INJECTED 0x00000010
- #define LLKHF_ALTDOWN (KF_ALTDOWN >> 8)
- #define LLKHF_UP (KF_UP >> 8)
- #define LLMHF_INJECTED 0x00000001
- /*
- * Structure used by WH_KEYBOARD_LL
- */
- typedef struct tagKBDLLHOOKSTRUCT {
- DWORD vkCode;
- DWORD scanCode;
- DWORD flags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
- } KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
- /*
- * Structure used by WH_MOUSE_LL
- */
- typedef struct tagMSLLHOOKSTRUCT {
- POINT pt;
- DWORD mouseData;
- DWORD flags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
- } MSLLHOOKSTRUCT, FAR *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
- #endif // (_WIN32_WINNT >= 0x0400)
- /*
- * Structure used by WH_DEBUG
- */
- typedef struct tagDEBUGHOOKINFO
- {
- DWORD idThread;
- DWORD idThreadInstaller;
- LPARAM lParam;
- WPARAM wParam;
- int code;
- } DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;
- /*
- * Structure used by WH_MOUSE
- */
- typedef struct tagMOUSEHOOKSTRUCT {
- POINT pt;
- HWND hwnd;
- UINT wHitTestCode;
- ULONG_PTR dwExtraInfo;
- } MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
- #if(_WIN32_WINNT >= 0x0500)
- #ifdef __cplusplus
- typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT
- {
- DWORD mouseData;
- } MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;
- #else // ndef __cplusplus
- typedef struct tagMOUSEHOOKSTRUCTEX
- {
- MOUSEHOOKSTRUCT;
- DWORD mouseData;
- } MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;
- #endif
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(WINVER >= 0x0400)
- /*
- * Structure used by WH_HARDWARE
- */
- typedef struct tagHARDWAREHOOKSTRUCT {
- HWND hwnd;
- UINT message;
- WPARAM wParam;
- LPARAM lParam;
- } HARDWAREHOOKSTRUCT, FAR *LPHARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT;
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOWH */
- /*
- * Keyboard Layout API
- */
- #define HKL_PREV 0
- #define HKL_NEXT 1
- #define KLF_ACTIVATE 0x00000001
- #define KLF_SUBSTITUTE_OK 0x00000002
- #define KLF_REORDER 0x00000008
- #if(WINVER >= 0x0400)
- #define KLF_REPLACELANG 0x00000010
- #define KLF_NOTELLSHELL 0x00000080
- #endif /* WINVER >= 0x0400 */
- #define KLF_SETFORPROCESS 0x00000100
- #if(_WIN32_WINNT >= 0x0500)
- #define KLF_SHIFTLOCK 0x00010000
- #define KLF_RESET 0x40000000
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(WINVER >= 0x0500)
- /*
- * Bits in wParam of WM_INPUTLANGCHANGEREQUEST message
- */
- #define INPUTLANGCHANGE_SYSCHARSET 0x0001
- #define INPUTLANGCHANGE_FORWARD 0x0002
- #define INPUTLANGCHANGE_BACKWARD 0x0004
- #endif /* WINVER >= 0x0500 */
- /*
- * Size of KeyboardLayoutName (number of characters), including nul terminator
- */
- #define KL_NAMELENGTH 9
- WINUSERAPI
- HKL
- WINAPI
- LoadKeyboardLayoutA(
- IN LPCSTR pwszKLID,
- IN UINT Flags);
- WINUSERAPI
- HKL
- WINAPI
- LoadKeyboardLayoutW(
- IN LPCWSTR pwszKLID,
- IN UINT Flags);
- #ifdef UNICODE
- #define LoadKeyboardLayout LoadKeyboardLayoutW
- #else
- #define LoadKeyboardLayout LoadKeyboardLayoutA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HKL
- WINAPI
- ActivateKeyboardLayout(
- IN HKL hkl,
- IN UINT Flags);
- #else
- WINUSERAPI
- BOOL
- WINAPI
- ActivateKeyboardLayout(
- IN HKL hkl,
- IN UINT Flags);
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- ToUnicodeEx(
- IN UINT wVirtKey,
- IN UINT wScanCode,
- IN CONST BYTE *lpKeyState,
- OUT LPWSTR pwszBuff,
- IN int cchBuff,
- IN UINT wFlags,
- IN HKL dwhkl);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- UnloadKeyboardLayout(
- IN HKL hkl);
- WINUSERAPI
- BOOL
- WINAPI
- GetKeyboardLayoutNameA(
- OUT LPSTR pwszKLID);
- WINUSERAPI
- BOOL
- WINAPI
- GetKeyboardLayoutNameW(
- OUT LPWSTR pwszKLID);
- #ifdef UNICODE
- #define GetKeyboardLayoutName GetKeyboardLayoutNameW
- #else
- #define GetKeyboardLayoutName GetKeyboardLayoutNameA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- GetKeyboardLayoutList(
- IN int nBuff,
- OUT HKL FAR *lpList);
- WINUSERAPI
- HKL
- WINAPI
- GetKeyboardLayout(
- IN DWORD idThread
- );
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0500)
- typedef struct tagMOUSEMOVEPOINT {
- int x;
- int y;
- DWORD time;
- ULONG_PTR dwExtraInfo;
- } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, FAR* LPMOUSEMOVEPOINT;
- /*
- * Values for resolution parameter of GetMouseMovePointsEx
- */
- #define GMMP_USE_DISPLAY_POINTS 1
- #define GMMP_USE_HIGH_RESOLUTION_POINTS 2
- WINUSERAPI
- int
- WINAPI
- GetMouseMovePointsEx(
- IN UINT cbSize,
- IN LPMOUSEMOVEPOINT lppt,
- IN LPMOUSEMOVEPOINT lpptBuf,
- IN int nBufPoints,
- IN DWORD resolution
- );
- #endif /* WINVER >= 0x0500 */
- #ifndef NODESKTOP
- /*
- * Desktop-specific access flags
- */
- #define DESKTOP_READOBJECTS 0x0001L
- #define DESKTOP_CREATEWINDOW 0x0002L
- #define DESKTOP_CREATEMENU 0x0004L
- #define DESKTOP_HOOKCONTROL 0x0008L
- #define DESKTOP_JOURNALRECORD 0x0010L
- #define DESKTOP_JOURNALPLAYBACK 0x0020L
- #define DESKTOP_ENUMERATE 0x0040L
- #define DESKTOP_WRITEOBJECTS 0x0080L
- #define DESKTOP_SWITCHDESKTOP 0x0100L
- /*
- * Desktop-specific control flags
- */
- #define DF_ALLOWOTHERACCOUNTHOOK 0x0001L
- #ifdef _WINGDI_
- #ifndef NOGDI
- WINUSERAPI
- HDESK
- WINAPI
- CreateDesktopA(
- IN LPCSTR lpszDesktop,
- IN LPCSTR lpszDevice,
- IN LPDEVMODEA pDevmode,
- IN DWORD dwFlags,
- IN ACCESS_MASK dwDesiredAccess,
- IN LPSECURITY_ATTRIBUTES lpsa);
- WINUSERAPI
- HDESK
- WINAPI
- CreateDesktopW(
- IN LPCWSTR lpszDesktop,
- IN LPCWSTR lpszDevice,
- IN LPDEVMODEW pDevmode,
- IN DWORD dwFlags,
- IN ACCESS_MASK dwDesiredAccess,
- IN LPSECURITY_ATTRIBUTES lpsa);
- #ifdef UNICODE
- #define CreateDesktop CreateDesktopW
- #else
- #define CreateDesktop CreateDesktopA
- #endif // !UNICODE
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
- WINUSERAPI
- HDESK
- WINAPI
- OpenDesktopA(
- IN LPCSTR lpszDesktop,
- IN DWORD dwFlags,
- IN BOOL fInherit,
- IN ACCESS_MASK dwDesiredAccess);
- WINUSERAPI
- HDESK
- WINAPI
- OpenDesktopW(
- IN LPCWSTR lpszDesktop,
- IN DWORD dwFlags,
- IN BOOL fInherit,
- IN ACCESS_MASK dwDesiredAccess);
- #ifdef UNICODE
- #define OpenDesktop OpenDesktopW
- #else
- #define OpenDesktop OpenDesktopA
- #endif // !UNICODE
- WINUSERAPI
- HDESK
- WINAPI
- OpenInputDesktop(
- IN DWORD dwFlags,
- IN BOOL fInherit,
- IN ACCESS_MASK dwDesiredAccess);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopsA(
- IN HWINSTA hwinsta,
- IN DESKTOPENUMPROCA lpEnumFunc,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopsW(
- IN HWINSTA hwinsta,
- IN DESKTOPENUMPROCW lpEnumFunc,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define EnumDesktops EnumDesktopsW
- #else
- #define EnumDesktops EnumDesktopsA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopWindows(
- IN HDESK hDesktop,
- IN WNDENUMPROC lpfn,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- SwitchDesktop(
- IN HDESK hDesktop);
- WINUSERAPI
- BOOL
- WINAPI
- SetThreadDesktop(
- IN HDESK hDesktop);
- WINUSERAPI
- BOOL
- WINAPI
- CloseDesktop(
- IN HDESK hDesktop);
- WINUSERAPI
- HDESK
- WINAPI
- GetThreadDesktop(
- IN DWORD dwThreadId);
- #endif /* !NODESKTOP */
- #ifndef NOWINDOWSTATION
- /*
- * Windowstation-specific access flags
- */
- #define WINSTA_ENUMDESKTOPS 0x0001L
- #define WINSTA_READATTRIBUTES 0x0002L
- #define WINSTA_ACCESSCLIPBOARD 0x0004L
- #define WINSTA_CREATEDESKTOP 0x0008L
- #define WINSTA_WRITEATTRIBUTES 0x0010L
- #define WINSTA_ACCESSGLOBALATOMS 0x0020L
- #define WINSTA_EXITWINDOWS 0x0040L
- #define WINSTA_ENUMERATE 0x0100L
- #define WINSTA_READSCREEN 0x0200L
- /*
- * Windowstation-specific attribute flags
- */
- #define WSF_VISIBLE 0x0001L
- WINUSERAPI
- HWINSTA
- WINAPI
- CreateWindowStationA(
- IN LPCSTR lpwinsta,
- IN DWORD dwReserved,
- IN ACCESS_MASK dwDesiredAccess,
- IN LPSECURITY_ATTRIBUTES lpsa);
- WINUSERAPI
- HWINSTA
- WINAPI
- CreateWindowStationW(
- IN LPCWSTR lpwinsta,
- IN DWORD dwReserved,
- IN ACCESS_MASK dwDesiredAccess,
- IN LPSECURITY_ATTRIBUTES lpsa);
- #ifdef UNICODE
- #define CreateWindowStation CreateWindowStationW
- #else
- #define CreateWindowStation CreateWindowStationA
- #endif // !UNICODE
- WINUSERAPI
- HWINSTA
- WINAPI
- OpenWindowStationA(
- IN LPCSTR lpszWinSta,
- IN BOOL fInherit,
- IN ACCESS_MASK dwDesiredAccess);
- WINUSERAPI
- HWINSTA
- WINAPI
- OpenWindowStationW(
- IN LPCWSTR lpszWinSta,
- IN BOOL fInherit,
- IN ACCESS_MASK dwDesiredAccess);
- #ifdef UNICODE
- #define OpenWindowStation OpenWindowStationW
- #else
- #define OpenWindowStation OpenWindowStationA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindowStationsA(
- IN WINSTAENUMPROCA lpEnumFunc,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindowStationsW(
- IN WINSTAENUMPROCW lpEnumFunc,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define EnumWindowStations EnumWindowStationsW
- #else
- #define EnumWindowStations EnumWindowStationsA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- CloseWindowStation(
- IN HWINSTA hWinSta);
- WINUSERAPI
- BOOL
- WINAPI
- SetProcessWindowStation(
- IN HWINSTA hWinSta);
- WINUSERAPI
- HWINSTA
- WINAPI
- GetProcessWindowStation(
- VOID);
- #endif /* !NOWINDOWSTATION */
- #ifndef NOSECURITY
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectSecurity(
- IN HANDLE hObj,
- IN PSECURITY_INFORMATION pSIRequested,
- IN PSECURITY_DESCRIPTOR pSID);
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectSecurity(
- IN HANDLE hObj,
- IN PSECURITY_INFORMATION pSIRequested,
- IN OUT PSECURITY_DESCRIPTOR pSID,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded);
- #define UOI_FLAGS 1
- #define UOI_NAME 2
- #define UOI_TYPE 3
- #define UOI_USER_SID 4
- typedef struct tagUSEROBJECTFLAGS {
- BOOL fInherit;
- BOOL fReserved;
- DWORD dwFlags;
- } USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectInformationA(
- IN HANDLE hObj,
- IN int nIndex,
- OUT PVOID pvInfo,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded);
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectInformationW(
- IN HANDLE hObj,
- IN int nIndex,
- OUT PVOID pvInfo,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded);
- #ifdef UNICODE
- #define GetUserObjectInformation GetUserObjectInformationW
- #else
- #define GetUserObjectInformation GetUserObjectInformationA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectInformationA(
- IN HANDLE hObj,
- IN int nIndex,
- IN PVOID pvInfo,
- IN DWORD nLength);
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectInformationW(
- IN HANDLE hObj,
- IN int nIndex,
- IN PVOID pvInfo,
- IN DWORD nLength);
- #ifdef UNICODE
- #define SetUserObjectInformation SetUserObjectInformationW
- #else
- #define SetUserObjectInformation SetUserObjectInformationA
- #endif // !UNICODE
- #endif /* !NOSECURITY */
- #if(WINVER >= 0x0400)
- typedef struct tagWNDCLASSEXA {
- UINT cbSize;
- /* Win 3.x */
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
- /* Win 4.0 */
- HICON hIconSm;
- } WNDCLASSEXA, *PWNDCLASSEXA, NEAR *NPWNDCLASSEXA, FAR *LPWNDCLASSEXA;
- typedef struct tagWNDCLASSEXW {
- UINT cbSize;
- /* Win 3.x */
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
- /* Win 4.0 */
- HICON hIconSm;
- } WNDCLASSEXW, *PWNDCLASSEXW, NEAR *NPWNDCLASSEXW, FAR *LPWNDCLASSEXW;
- #ifdef UNICODE
- typedef WNDCLASSEXW WNDCLASSEX;
- typedef PWNDCLASSEXW PWNDCLASSEX;
- typedef NPWNDCLASSEXW NPWNDCLASSEX;
- typedef LPWNDCLASSEXW LPWNDCLASSEX;
- #else
- typedef WNDCLASSEXA WNDCLASSEX;
- typedef PWNDCLASSEXA PWNDCLASSEX;
- typedef NPWNDCLASSEXA NPWNDCLASSEX;
- typedef LPWNDCLASSEXA LPWNDCLASSEX;
- #endif // UNICODE
- #endif /* WINVER >= 0x0400 */
- typedef struct tagWNDCLASSA {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
- } WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;
- typedef struct tagWNDCLASSW {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
- } WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
- #ifdef UNICODE
- typedef WNDCLASSW WNDCLASS;
- typedef PWNDCLASSW PWNDCLASS;
- typedef NPWNDCLASSW NPWNDCLASS;
- typedef LPWNDCLASSW LPWNDCLASS;
- #else
- typedef WNDCLASSA WNDCLASS;
- typedef PWNDCLASSA PWNDCLASS;
- typedef NPWNDCLASSA NPWNDCLASS;
- typedef LPWNDCLASSA LPWNDCLASS;
- #endif // UNICODE
- #ifndef NOMSG
- /*
- * Message structure
- */
- typedef struct tagMSG {
- HWND hwnd;
- UINT message;
- WPARAM wParam;
- LPARAM lParam;
- DWORD time;
- POINT pt;
- #ifdef _MAC
- DWORD lPrivate;
- #endif
- } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
- #define POINTSTOPOINT(pt, pts)
- { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts);
- (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
- #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
- #define MAKEWPARAM(l, h) ((WPARAM)(DWORD)MAKELONG(l, h))
- #define MAKELPARAM(l, h) ((LPARAM)(DWORD)MAKELONG(l, h))
- #define MAKELRESULT(l, h) ((LRESULT)(DWORD)MAKELONG(l, h))
- #endif /* !NOMSG */
- #ifndef NOWINOFFSETS
- /*
- * Window field offsets for GetWindowLong()
- */
- #define GWL_WNDPROC (-4)
- #define GWL_HINSTANCE (-6)
- #define GWL_HWNDPARENT (-8)
- #define GWL_STYLE (-16)
- #define GWL_EXSTYLE (-20)
- #define GWL_USERDATA (-21)
- #define GWL_ID (-12)
- #ifdef _WIN64
- #undef GWL_WNDPROC
- #undef GWL_HINSTANCE
- #undef GWL_HWNDPARENT
- #undef GWL_USERDATA
- #endif /* _WIN64 */
- #define GWLP_WNDPROC (-4)
- #define GWLP_HINSTANCE (-6)
- #define GWLP_HWNDPARENT (-8)
- #define GWLP_USERDATA (-21)
- #define GWLP_ID (-12)
- /*
- * Class field offsets for GetClassLong()
- */
- #define GCL_MENUNAME (-8)
- #define GCL_HBRBACKGROUND (-10)
- #define GCL_HCURSOR (-12)
- #define GCL_HICON (-14)
- #define GCL_HMODULE (-16)
- #define GCL_CBWNDEXTRA (-18)
- #define GCL_CBCLSEXTRA (-20)
- #define GCL_WNDPROC (-24)
- #define GCL_STYLE (-26)
- #define GCW_ATOM (-32)
- #if(WINVER >= 0x0400)
- #define GCL_HICONSM (-34)
- #endif /* WINVER >= 0x0400 */
- #ifdef _WIN64
- #undef GCL_MENUNAME
- #undef GCL_HBRBACKGROUND
- #undef GCL_HCURSOR
- #undef GCL_HICON
- #undef GCL_HMODULE
- #undef GCL_WNDPROC
- #undef GCL_HICONSM
- #endif /* _WIN64 */
- #define GCLP_MENUNAME (-8)
- #define GCLP_HBRBACKGROUND (-10)
- #define GCLP_HCURSOR (-12)
- #define GCLP_HICON (-14)
- #define GCLP_HMODULE (-16)
- #define GCLP_WNDPROC (-24)
- #define GCLP_HICONSM (-34)
- #endif /* !NOWINOFFSETS */
- #ifndef NOWINMESSAGES
- /*
- * Window Messages
- */
- #define WM_NULL 0x0000
- #define WM_CREATE 0x0001
- #define WM_DESTROY 0x0002
- #define WM_MOVE 0x0003
- #define WM_SIZE 0x0005
- #define WM_ACTIVATE 0x0006
- /*
- * WM_ACTIVATE state values
- */
- #define WA_INACTIVE 0
- #define WA_ACTIVE 1
- #define WA_CLICKACTIVE 2
- #define WM_SETFOCUS 0x0007
- #define WM_KILLFOCUS 0x0008
- #define WM_ENABLE 0x000A
- #define WM_SETREDRAW 0x000B
- #define WM_SETTEXT 0x000C
- #define WM_GETTEXT 0x000D
- #define WM_GETTEXTLENGTH 0x000E
- #define WM_PAINT 0x000F
- #define WM_CLOSE 0x0010
- #ifndef _WIN32_WCE
- #define WM_QUERYENDSESSION 0x0011
- #define WM_QUERYOPEN 0x0013
- #define WM_ENDSESSION 0x0016
- #endif
- #define WM_QUIT 0x0012
- #define WM_ERASEBKGND 0x0014
- #define WM_SYSCOLORCHANGE 0x0015
- #define WM_SHOWWINDOW 0x0018
- #define WM_WININICHANGE 0x001A
- #if(WINVER >= 0x0400)
- #define WM_SETTINGCHANGE WM_WININICHANGE
- #endif /* WINVER >= 0x0400 */
- #define WM_DEVMODECHANGE 0x001B
- #define WM_ACTIVATEAPP 0x001C
- #define WM_FONTCHANGE 0x001D
- #define WM_TIMECHANGE 0x001E
- #define WM_CANCELMODE 0x001F
- #define WM_SETCURSOR 0x0020
- #define WM_MOUSEACTIVATE 0x0021
- #define WM_CHILDACTIVATE 0x0022
- #define WM_QUEUESYNC 0x0023
- #define WM_GETMINMAXINFO 0x0024
- /*
- * Struct pointed to by WM_GETMINMAXINFO lParam
- */
- typedef struct tagMINMAXINFO {
- POINT ptReserved;
- POINT ptMaxSize;
- POINT ptMaxPosition;
- POINT ptMinTrackSize;
- POINT ptMaxTrackSize;
- } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
- #define WM_PAINTICON 0x0026
- #define WM_ICONERASEBKGND 0x0027
- #define WM_NEXTDLGCTL 0x0028
- #define WM_SPOOLERSTATUS 0x002A
- #define WM_DRAWITEM 0x002B
- #define WM_MEASUREITEM 0x002C
- #define WM_DELETEITEM 0x002D
- #define WM_VKEYTOITEM 0x002E
- #define WM_CHARTOITEM 0x002F
- #define WM_SETFONT 0x0030
- #define WM_GETFONT 0x0031
- #define WM_SETHOTKEY 0x0032
- #define WM_GETHOTKEY 0x0033
- #define WM_QUERYDRAGICON 0x0037
- #define WM_COMPAREITEM 0x0039
- #if(WINVER >= 0x0500)
- #ifndef _WIN32_WCE
- #define WM_GETOBJECT 0x003D
- #endif
- #endif /* WINVER >= 0x0500 */
- #define WM_COMPACTING 0x0041
- #define WM_COMMNOTIFY 0x0044 /* no longer suported */
- #define WM_WINDOWPOSCHANGING 0x0046
- #define WM_WINDOWPOSCHANGED 0x0047
- #define WM_POWER 0x0048
- /*
- * wParam for WM_POWER window message and DRV_POWER driver notification
- */
- #define PWR_OK 1
- #define PWR_FAIL (-1)
- #define PWR_SUSPENDREQUEST 1
- #define PWR_SUSPENDRESUME 2
- #define PWR_CRITICALRESUME 3
- #define WM_COPYDATA 0x004A
- #define WM_CANCELJOURNAL 0x004B
- /*
- * lParam of WM_COPYDATA message points to...
- */
- typedef struct tagCOPYDATASTRUCT {
- ULONG_PTR dwData;
- DWORD cbData;
- PVOID lpData;
- } COPYDATASTRUCT, *PCOPYDATASTRUCT;
- #if(WINVER >= 0x0400)
- typedef struct tagMDINEXTMENU
- {
- HMENU hmenuIn;
- HMENU hmenuNext;
- HWND hwndNext;
- } MDINEXTMENU, * PMDINEXTMENU, FAR * LPMDINEXTMENU;
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define WM_NOTIFY 0x004E
- #define WM_INPUTLANGCHANGEREQUEST 0x0050
- #define WM_INPUTLANGCHANGE 0x0051
- #define WM_TCARD 0x0052
- #define WM_HELP 0x0053
- #define WM_USERCHANGED 0x0054
- #define WM_NOTIFYFORMAT 0x0055
- #define NFR_ANSI 1
- #define NFR_UNICODE 2
- #define NF_QUERY 3
- #define NF_REQUERY 4
- #define WM_CONTEXTMENU 0x007B
- #define WM_STYLECHANGING 0x007C
- #define WM_STYLECHANGED 0x007D
- #define WM_DISPLAYCHANGE 0x007E
- #define WM_GETICON 0x007F
- #define WM_SETICON 0x0080
- #endif /* WINVER >= 0x0400 */
- #define WM_NCCREATE 0x0081
- #define WM_NCDESTROY 0x0082
- #define WM_NCCALCSIZE 0x0083
- #define WM_NCHITTEST 0x0084
- #define WM_NCPAINT 0x0085
- #define WM_NCACTIVATE 0x0086
- #define WM_GETDLGCODE 0x0087
- #ifndef _WIN32_WCE
- #define WM_SYNCPAINT 0x0088
- #endif
- #define WM_NCMOUSEMOVE 0x00A0
- #define WM_NCLBUTTONDOWN 0x00A1
- #define WM_NCLBUTTONUP 0x00A2
- #define WM_NCLBUTTONDBLCLK 0x00A3
- #define WM_NCRBUTTONDOWN 0x00A4
- #define WM_NCRBUTTONUP 0x00A5
- #define WM_NCRBUTTONDBLCLK 0x00A6
- #define WM_NCMBUTTONDOWN 0x00A7
- #define WM_NCMBUTTONUP 0x00A8
- #define WM_NCMBUTTONDBLCLK 0x00A9
- #if(_WIN32_WINNT >= 0x0500)
- #define WM_NCXBUTTONDOWN 0x00AB
- #define WM_NCXBUTTONUP 0x00AC
- #define WM_NCXBUTTONDBLCLK 0x00AD
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define WM_INPUT 0x00FF
- #endif /* _WIN32_WINNT >= 0x0501 */
- #define WM_KEYFIRST 0x0100
- #define WM_KEYDOWN 0x0100
- #define WM_KEYUP 0x0101
- #define WM_CHAR 0x0102
- #define WM_DEADCHAR 0x0103
- #define WM_SYSKEYDOWN 0x0104
- #define WM_SYSKEYUP 0x0105
- #define WM_SYSCHAR 0x0106
- #define WM_SYSDEADCHAR 0x0107
- #if(_WIN32_WINNT >= 0x0501)
- #define WM_UNICHAR 0x0109
- #define WM_KEYLAST 0x0109
- #define UNICODE_NOCHAR 0xFFFF
- #else
- #define WM_KEYLAST 0x0108
- #endif /* _WIN32_WINNT >= 0x0501 */
- #if(WINVER >= 0x0400)
- #define WM_IME_STARTCOMPOSITION 0x010D
- #define WM_IME_ENDCOMPOSITION 0x010E
- #define WM_IME_COMPOSITION 0x010F
- #define WM_IME_KEYLAST 0x010F
- #endif /* WINVER >= 0x0400 */
- #define WM_INITDIALOG 0x0110
- #define WM_COMMAND 0x0111
- #define WM_SYSCOMMAND 0x0112
- #define WM_TIMER 0x0113
- #define WM_HSCROLL 0x0114
- #define WM_VSCROLL 0x0115
- #define WM_INITMENU 0x0116
- #define WM_INITMENUPOPUP 0x0117
- #define WM_MENUSELECT 0x011F
- #define WM_MENUCHAR 0x0120
- #define WM_ENTERIDLE 0x0121
- #if(WINVER >= 0x0500)
- #ifndef _WIN32_WCE
- #define WM_MENURBUTTONUP 0x0122
- #define WM_MENUDRAG 0x0123
- #define WM_MENUGETOBJECT 0x0124
- #define WM_UNINITMENUPOPUP 0x0125
- #define WM_MENUCOMMAND 0x0126
- #ifndef _WIN32_WCE
- #if(_WIN32_WINNT >= 0x0500)
- #define WM_CHANGEUISTATE 0x0127
- #define WM_UPDATEUISTATE 0x0128
- #define WM_QUERYUISTATE 0x0129
- /*
- * LOWORD(wParam) values in WM_*UISTATE*
- */
- #define UIS_SET 1
- #define UIS_CLEAR 2
- #define UIS_INITIALIZE 3
- /*
- * HIWORD(wParam) values in WM_*UISTATE*
- */
- #define UISF_HIDEFOCUS 0x1
- #define UISF_HIDEACCEL 0x2
- #if(_WIN32_WINNT >= 0x0501)
- #define UISF_ACTIVE 0x4
- #endif /* _WIN32_WINNT >= 0x0501 */
- #endif /* _WIN32_WINNT >= 0x0500 */
- #endif
- #endif
- #endif /* WINVER >= 0x0500 */
- #define WM_CTLCOLORMSGBOX 0x0132
- #define WM_CTLCOLOREDIT 0x0133
- #define WM_CTLCOLORLISTBOX 0x0134
- #define WM_CTLCOLORBTN 0x0135
- #define WM_CTLCOLORDLG 0x0136
- #define WM_CTLCOLORSCROLLBAR 0x0137
- #define WM_CTLCOLORSTATIC 0x0138
- #define WM_MOUSEFIRST 0x0200
- #define WM_MOUSEMOVE 0x0200
- #define WM_LBUTTONDOWN 0x0201
- #define WM_LBUTTONUP 0x0202
- #define WM_LBUTTONDBLCLK 0x0203
- #define WM_RBUTTONDOWN 0x0204
- #define WM_RBUTTONUP 0x0205
- #define WM_RBUTTONDBLCLK 0x0206
- #define WM_MBUTTONDOWN 0x0207
- #define WM_MBUTTONUP 0x0208
- #define WM_MBUTTONDBLCLK 0x0209
- #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
- #define WM_MOUSEWHEEL 0x020A
- #endif
- #if (_WIN32_WINNT >= 0x0500)
- #define WM_XBUTTONDOWN 0x020B
- #define WM_XBUTTONUP 0x020C
- #define WM_XBUTTONDBLCLK 0x020D
- #endif
- #if (_WIN32_WINNT >= 0x0500)
- #define WM_MOUSELAST 0x020D
- #elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
- #define WM_MOUSELAST 0x020A
- #else
- #define WM_MOUSELAST 0x0209
- #endif /* (_WIN32_WINNT >= 0x0500) */
- #if(_WIN32_WINNT >= 0x0400)
- /* Value for rolling one detent */
- #define WHEEL_DELTA 120
- #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
- /* Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES */
- #define WHEEL_PAGESCROLL (UINT_MAX)
- #endif /* _WIN32_WINNT >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0500)
- #define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam))
- #define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam))
- #define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam))
- /* XButton values are WORD flags */
- #define XBUTTON1 0x0001
- #define XBUTTON2 0x0002
- /* Were there to be an XBUTTON3, its value would be 0x0004 */
- #endif /* _WIN32_WINNT >= 0x0500 */
- #define WM_PARENTNOTIFY 0x0210
- #define WM_ENTERMENULOOP 0x0211
- #define WM_EXITMENULOOP 0x0212
- #if(WINVER >= 0x0400)
- #define WM_NEXTMENU 0x0213
- #define WM_SIZING 0x0214
- #define WM_CAPTURECHANGED 0x0215
- #define WM_MOVING 0x0216
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define WM_POWERBROADCAST 0x0218
- #ifndef _WIN32_WCE
- #define PBT_APMQUERYSUSPEND 0x0000
- #define PBT_APMQUERYSTANDBY 0x0001
- #define PBT_APMQUERYSUSPENDFAILED 0x0002
- #define PBT_APMQUERYSTANDBYFAILED 0x0003
- #define PBT_APMSUSPEND 0x0004
- #define PBT_APMSTANDBY 0x0005
- #define PBT_APMRESUMECRITICAL 0x0006
- #define PBT_APMRESUMESUSPEND 0x0007
- #define PBT_APMRESUMESTANDBY 0x0008
- #define PBTF_APMRESUMEFROMFAILURE 0x00000001
- #define PBT_APMBATTERYLOW 0x0009
- #define PBT_APMPOWERSTATUSCHANGE 0x000A
- #define PBT_APMOEMEVENT 0x000B
- #define PBT_APMRESUMEAUTOMATIC 0x0012
- #endif
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define WM_DEVICECHANGE 0x0219
- #endif /* WINVER >= 0x0400 */
- #define WM_MDICREATE 0x0220
- #define WM_MDIDESTROY 0x0221
- #define WM_MDIACTIVATE 0x0222
- #define WM_MDIRESTORE 0x0223
- #define WM_MDINEXT 0x0224
- #define WM_MDIMAXIMIZE 0x0225
- #define WM_MDITILE 0x0226
- #define WM_MDICASCADE 0x0227
- #define WM_MDIICONARRANGE 0x0228
- #define WM_MDIGETACTIVE 0x0229
- #define WM_MDISETMENU 0x0230
- #define WM_ENTERSIZEMOVE 0x0231
- #define WM_EXITSIZEMOVE 0x0232
- #define WM_DROPFILES 0x0233
- #define WM_MDIREFRESHMENU 0x0234
- #if(WINVER >= 0x0400)
- #define WM_IME_SETCONTEXT 0x0281
- #define WM_IME_NOTIFY 0x0282
- #define WM_IME_CONTROL 0x0283
- #define WM_IME_COMPOSITIONFULL 0x0284
- #define WM_IME_SELECT 0x0285
- #define WM_IME_CHAR 0x0286
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0500)
- #define WM_IME_REQUEST 0x0288
- #endif /* WINVER >= 0x0500 */
- #if(WINVER >= 0x0400)
- #define WM_IME_KEYDOWN 0x0290
- #define WM_IME_KEYUP 0x0291
- #endif /* WINVER >= 0x0400 */
- #if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500))
- #define WM_MOUSEHOVER 0x02A1
- #define WM_MOUSELEAVE 0x02A3
- #endif
- #if(WINVER >= 0x0500)
- #define WM_NCMOUSEHOVER 0x02A0
- #define WM_NCMOUSELEAVE 0x02A2
- #endif /* WINVER >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define WM_WTSSESSION_CHANGE 0x02B1
- #define WM_TABLET_FIRST 0x02c0
- #define WM_TABLET_LAST 0x02df
- #endif /* _WIN32_WINNT >= 0x0501 */
- #define WM_CUT 0x0300
- #define WM_COPY 0x0301
- #define WM_PASTE 0x0302
- #define WM_CLEAR 0x0303
- #define WM_UNDO 0x0304
- #define WM_RENDERFORMAT 0x0305
- #define WM_RENDERALLFORMATS 0x0306
- #define WM_DESTROYCLIPBOARD 0x0307
- #define WM_DRAWCLIPBOARD 0x0308
- #define WM_PAINTCLIPBOARD 0x0309
- #define WM_VSCROLLCLIPBOARD 0x030A
- #define WM_SIZECLIPBOARD 0x030B
- #define WM_ASKCBFORMATNAME 0x030C
- #define WM_CHANGECBCHAIN 0x030D
- #define WM_HSCROLLCLIPBOARD 0x030E
- #define WM_QUERYNEWPALETTE 0x030F
- #define WM_PALETTEISCHANGING 0x0310
- #define WM_PALETTECHANGED 0x0311
- #define WM_HOTKEY 0x0312
- #if(WINVER >= 0x0400)
- #define WM_PRINT 0x0317
- #define WM_PRINTCLIENT 0x0318
- #endif /* WINVER >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0500)
- #define WM_APPCOMMAND 0x0319
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define WM_THEMECHANGED 0x031A
- #endif /* _WIN32_WINNT >= 0x0501 */
- #if(WINVER >= 0x0400)
- #define WM_HANDHELDFIRST 0x0358
- #define WM_HANDHELDLAST 0x035F
- #define WM_AFXFIRST 0x0360
- #define WM_AFXLAST 0x037F
- #endif /* WINVER >= 0x0400 */
- #define WM_PENWINFIRST 0x0380
- #define WM_PENWINLAST 0x038F
- #if(WINVER >= 0x0400)
- #define WM_APP 0x8000
- #endif /* WINVER >= 0x0400 */
- /*
- * NOTE: All Message Numbers below 0x0400 are RESERVED.
- *
- * Private Window Messages Start Here:
- */
- #define WM_USER 0x0400
- #if(WINVER >= 0x0400)
- /* wParam for WM_SIZING message */
- #define WMSZ_LEFT 1
- #define WMSZ_RIGHT 2
- #define WMSZ_TOP 3
- #define WMSZ_TOPLEFT 4
- #define WMSZ_TOPRIGHT 5
- #define WMSZ_BOTTOM 6
- #define WMSZ_BOTTOMLEFT 7
- #define WMSZ_BOTTOMRIGHT 8
- #endif /* WINVER >= 0x0400 */
- #ifndef NONCMESSAGES
- /*
- * WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes
- */
- #define HTERROR (-2)
- #define HTTRANSPARENT (-1)
- #define HTNOWHERE 0
- #define HTCLIENT 1
- #define HTCAPTION 2
- #define HTSYSMENU 3
- #define HTGROWBOX 4
- #define HTSIZE HTGROWBOX
- #define HTMENU 5
- #define HTHSCROLL 6
- #define HTVSCROLL 7
- #define HTMINBUTTON 8
- #define HTMAXBUTTON 9
- #define HTLEFT 10
- #define HTRIGHT 11
- #define HTTOP 12
- #define HTTOPLEFT 13
- #define HTTOPRIGHT 14
- #define HTBOTTOM 15
- #define HTBOTTOMLEFT 16
- #define HTBOTTOMRIGHT 17
- #define HTBORDER 18
- #define HTREDUCE HTMINBUTTON
- #define HTZOOM HTMAXBUTTON
- #define HTSIZEFIRST HTLEFT
- #define HTSIZELAST HTBOTTOMRIGHT
- #if(WINVER >= 0x0400)
- #define HTOBJECT 19
- #define HTCLOSE 20
- #define HTHELP 21
- #endif /* WINVER >= 0x0400 */
- /*
- * SendMessageTimeout values
- */
- #define SMTO_NORMAL 0x0000
- #define SMTO_BLOCK 0x0001
- #define SMTO_ABORTIFHUNG 0x0002
- #if(WINVER >= 0x0500)
- #define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
- #endif /* WINVER >= 0x0500 */
- #endif /* !NONCMESSAGES */
- /*
- * WM_MOUSEACTIVATE Return Codes
- */
- #define MA_ACTIVATE 1
- #define MA_ACTIVATEANDEAT 2
- #define MA_NOACTIVATE 3
- #define MA_NOACTIVATEANDEAT 4
- /*
- * WM_SETICON / WM_GETICON Type Codes
- */
- #define ICON_SMALL 0
- #define ICON_BIG 1
- #if(_WIN32_WINNT >= 0x0501)
- #define ICON_SMALL2 2
- #endif /* _WIN32_WINNT >= 0x0501 */
- WINUSERAPI
- UINT
- WINAPI
- RegisterWindowMessageA(
- IN LPCSTR lpString);
- WINUSERAPI
- UINT
- WINAPI
- RegisterWindowMessageW(
- IN LPCWSTR lpString);
- #ifdef UNICODE
- #define RegisterWindowMessage RegisterWindowMessageW
- #else
- #define RegisterWindowMessage RegisterWindowMessageA
- #endif // !UNICODE
- /*
- * WM_SIZE message wParam values
- */
- #define SIZE_RESTORED 0
- #define SIZE_MINIMIZED 1
- #define SIZE_MAXIMIZED 2
- #define SIZE_MAXSHOW 3
- #define SIZE_MAXHIDE 4
- /*
- * Obsolete constant names
- */
- #define SIZENORMAL SIZE_RESTORED
- #define SIZEICONIC SIZE_MINIMIZED
- #define SIZEFULLSCREEN SIZE_MAXIMIZED
- #define SIZEZOOMSHOW SIZE_MAXSHOW
- #define SIZEZOOMHIDE SIZE_MAXHIDE
- /*
- * WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam
- */
- typedef struct tagWINDOWPOS {
- HWND hwnd;
- HWND hwndInsertAfter;
- int x;
- int y;
- int cx;
- int cy;
- UINT flags;
- } WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
- /*
- * WM_NCCALCSIZE parameter structure
- */
- typedef struct tagNCCALCSIZE_PARAMS {
- RECT rgrc[3];
- PWINDOWPOS lppos;
- } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
- /*
- * WM_NCCALCSIZE "window valid rect" return values
- */
- #define WVR_ALIGNTOP 0x0010
- #define WVR_ALIGNLEFT 0x0020
- #define WVR_ALIGNBOTTOM 0x0040
- #define WVR_ALIGNRIGHT 0x0080
- #define WVR_HREDRAW 0x0100
- #define WVR_VREDRAW 0x0200
- #define WVR_REDRAW (WVR_HREDRAW |
- WVR_VREDRAW)
- #define WVR_VALIDRECTS 0x0400
- #ifndef NOKEYSTATES
- /*
- * Key State Masks for Mouse Messages
- */
- #define MK_LBUTTON 0x0001
- #define MK_RBUTTON 0x0002
- #define MK_SHIFT 0x0004
- #define MK_CONTROL 0x0008
- #define MK_MBUTTON 0x0010
- #if(_WIN32_WINNT >= 0x0500)
- #define MK_XBUTTON1 0x0020
- #define MK_XBUTTON2 0x0040
- #endif /* _WIN32_WINNT >= 0x0500 */
- #endif /* !NOKEYSTATES */
- #if(_WIN32_WINNT >= 0x0400)
- #ifndef NOTRACKMOUSEEVENT
- #define TME_HOVER 0x00000001
- #define TME_LEAVE 0x00000002
- #if(WINVER >= 0x0500)
- #define TME_NONCLIENT 0x00000010
- #endif /* WINVER >= 0x0500 */
- #define TME_QUERY 0x40000000
- #define TME_CANCEL 0x80000000
- #define HOVER_DEFAULT 0xFFFFFFFF
- #endif /* _WIN32_WINNT >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0400)
- typedef struct tagTRACKMOUSEEVENT {
- DWORD cbSize;
- DWORD dwFlags;
- HWND hwndTrack;
- DWORD dwHoverTime;
- } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
- WINUSERAPI
- BOOL
- WINAPI
- TrackMouseEvent(
- IN OUT LPTRACKMOUSEEVENT lpEventTrack);
- #endif /* _WIN32_WINNT >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0400)
- #endif /* !NOTRACKMOUSEEVENT */
- #endif /* _WIN32_WINNT >= 0x0400 */
- #endif /* !NOWINMESSAGES */
- #ifndef NOWINSTYLES
- /*
- * Window Styles
- */
- #define WS_OVERLAPPED 0x00000000L
- #define WS_POPUP 0x80000000L
- #define WS_CHILD 0x40000000L
- #define WS_MINIMIZE 0x20000000L
- #define WS_VISIBLE 0x10000000L
- #define WS_DISABLED 0x08000000L
- #define WS_CLIPSIBLINGS 0x04000000L
- #define WS_CLIPCHILDREN 0x02000000L
- #define WS_MAXIMIZE 0x01000000L
- #define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */
- #define WS_BORDER 0x00800000L
- #define WS_DLGFRAME 0x00400000L
- #define WS_VSCROLL 0x00200000L
- #define WS_HSCROLL 0x00100000L
- #define WS_SYSMENU 0x00080000L
- #define WS_THICKFRAME 0x00040000L
- #define WS_GROUP 0x00020000L
- #define WS_TABSTOP 0x00010000L
- #define WS_MINIMIZEBOX 0x00020000L
- #define WS_MAXIMIZEBOX 0x00010000L
- #define WS_TILED WS_OVERLAPPED
- #define WS_ICONIC WS_MINIMIZE
- #define WS_SIZEBOX WS_THICKFRAME
- #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
- /*
- * Common Window Styles
- */
- #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED |
- WS_CAPTION |
- WS_SYSMENU |
- WS_THICKFRAME |
- WS_MINIMIZEBOX |
- WS_MAXIMIZEBOX)
- #define WS_POPUPWINDOW (WS_POPUP |
- WS_BORDER |
- WS_SYSMENU)
- #define WS_CHILDWINDOW (WS_CHILD)
- /*
- * Extended Window Styles
- */
- #define WS_EX_DLGMODALFRAME 0x00000001L
- #define WS_EX_NOPARENTNOTIFY 0x00000004L
- #define WS_EX_TOPMOST 0x00000008L
- #define WS_EX_ACCEPTFILES 0x00000010L
- #define WS_EX_TRANSPARENT 0x00000020L
- #if(WINVER >= 0x0400)
- #define WS_EX_MDICHILD 0x00000040L
- #define WS_EX_TOOLWINDOW 0x00000080L
- #define WS_EX_WINDOWEDGE 0x00000100L
- #define WS_EX_CLIENTEDGE 0x00000200L
- #define WS_EX_CONTEXTHELP 0x00000400L
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define WS_EX_RIGHT 0x00001000L
- #define WS_EX_LEFT 0x00000000L
- #define WS_EX_RTLREADING 0x00002000L
- #define WS_EX_LTRREADING 0x00000000L
- #define WS_EX_LEFTSCROLLBAR 0x00004000L
- #define WS_EX_RIGHTSCROLLBAR 0x00000000L
- #define WS_EX_CONTROLPARENT 0x00010000L
- #define WS_EX_STATICEDGE 0x00020000L
- #define WS_EX_APPWINDOW 0x00040000L
- #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
- #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
- #endif /* WINVER >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0500)
- #define WS_EX_LAYERED 0x00080000
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(WINVER >= 0x0500)
- #define WS_EX_NOINHERITLAYOUT 0x00100000L // Disable inheritence of mirroring by children
- #define WS_EX_LAYOUTRTL 0x00400000L // Right to left mirroring
- #endif /* WINVER >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define WS_EX_COMPOSITED 0x02000000L
- #endif /* _WIN32_WINNT >= 0x0501 */
- #if(_WIN32_WINNT >= 0x0500)
- #define WS_EX_NOACTIVATE 0x08000000L
- #endif /* _WIN32_WINNT >= 0x0500 */
- /*
- * Class styles
- */
- #define CS_VREDRAW 0x0001
- #define CS_HREDRAW 0x0002
- #define CS_DBLCLKS 0x0008
- #define CS_OWNDC 0x0020
- #define CS_CLASSDC 0x0040
- #define CS_PARENTDC 0x0080
- #define CS_NOCLOSE 0x0200
- #define CS_SAVEBITS 0x0800
- #define CS_BYTEALIGNCLIENT 0x1000
- #define CS_BYTEALIGNWINDOW 0x2000
- #define CS_GLOBALCLASS 0x4000
- #define CS_IME 0x00010000
- #if(_WIN32_WINNT >= 0x0501)
- #define CS_DROPSHADOW 0x00020000
- #endif /* _WIN32_WINNT >= 0x0501 */
- #endif /* !NOWINSTYLES */
- #if(WINVER >= 0x0400)
- /* WM_PRINT flags */
- #define PRF_CHECKVISIBLE 0x00000001L
- #define PRF_NONCLIENT 0x00000002L
- #define PRF_CLIENT 0x00000004L
- #define PRF_ERASEBKGND 0x00000008L
- #define PRF_CHILDREN 0x00000010L
- #define PRF_OWNED 0x00000020L
- /* 3D border styles */
- #define BDR_RAISEDOUTER 0x0001
- #define BDR_SUNKENOUTER 0x0002
- #define BDR_RAISEDINNER 0x0004
- #define BDR_SUNKENINNER 0x0008
- #define BDR_OUTER (BDR_RAISEDOUTER | BDR_SUNKENOUTER)
- #define BDR_INNER (BDR_RAISEDINNER | BDR_SUNKENINNER)
- #define BDR_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
- #define BDR_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
- #define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
- #define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
- #define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
- #define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
- /* Border flags */
- #define BF_LEFT 0x0001
- #define BF_TOP 0x0002
- #define BF_RIGHT 0x0004
- #define BF_BOTTOM 0x0008
- #define BF_TOPLEFT (BF_TOP | BF_LEFT)
- #define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
- #define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
- #define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
- #define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
- #define BF_DIAGONAL 0x0010
- // For diagonal lines, the BF_RECT flags specify the end point of the
- // vector bounded by the rectangle parameter.
- #define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
- #define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
- #define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
- #define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
- #define BF_MIDDLE 0x0800 /* Fill in the middle */
- #define BF_SOFT 0x1000 /* For softer buttons */
- #define BF_ADJUST 0x2000 /* Calculate the space left over */
- #define BF_FLAT 0x4000 /* For flat rather than 3D borders */
- #define BF_MONO 0x8000 /* For monochrome borders */
- WINUSERAPI
- BOOL
- WINAPI
- DrawEdge(
- IN HDC hdc,
- IN OUT LPRECT qrc,
- IN UINT edge,
- IN UINT grfFlags);
- /* flags for DrawFrameControl */
- #define DFC_CAPTION 1
- #define DFC_MENU 2
- #define DFC_SCROLL 3
- #define DFC_BUTTON 4
- #if(WINVER >= 0x0500)
- #define DFC_POPUPMENU 5
- #endif /* WINVER >= 0x0500 */
- #define DFCS_CAPTIONCLOSE 0x0000
- #define DFCS_CAPTIONMIN 0x0001
- #define DFCS_CAPTIONMAX 0x0002
- #define DFCS_CAPTIONRESTORE 0x0003
- #define DFCS_CAPTIONHELP 0x0004
- #define DFCS_MENUARROW 0x0000
- #define DFCS_MENUCHECK 0x0001
- #define DFCS_MENUBULLET 0x0002
- #define DFCS_MENUARROWRIGHT 0x0004
- #define DFCS_SCROLLUP 0x0000
- #define DFCS_SCROLLDOWN 0x0001
- #define DFCS_SCROLLLEFT 0x0002
- #define DFCS_SCROLLRIGHT 0x0003
- #define DFCS_SCROLLCOMBOBOX 0x0005
- #define DFCS_SCROLLSIZEGRIP 0x0008
- #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
- #define DFCS_BUTTONCHECK 0x0000
- #define DFCS_BUTTONRADIOIMAGE 0x0001
- #define DFCS_BUTTONRADIOMASK 0x0002
- #define DFCS_BUTTONRADIO 0x0004
- #define DFCS_BUTTON3STATE 0x0008
- #define DFCS_BUTTONPUSH 0x0010
- #define DFCS_INACTIVE 0x0100
- #define DFCS_PUSHED 0x0200
- #define DFCS_CHECKED 0x0400
- #if(WINVER >= 0x0500)
- #define DFCS_TRANSPARENT 0x0800
- #define DFCS_HOT 0x1000
- #endif /* WINVER >= 0x0500 */
- #define DFCS_ADJUSTRECT 0x2000
- #define DFCS_FLAT 0x4000
- #define DFCS_MONO 0x8000
- WINUSERAPI
- BOOL
- WINAPI
- DrawFrameControl(
- IN HDC,
- IN OUT LPRECT,
- IN UINT,
- IN UINT);
- /* flags for DrawCaption */
- #define DC_ACTIVE 0x0001
- #define DC_SMALLCAP 0x0002
- #define DC_ICON 0x0004
- #define DC_TEXT 0x0008
- #define DC_INBUTTON 0x0010
- #if(WINVER >= 0x0500)
- #define DC_GRADIENT 0x0020
- #endif /* WINVER >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define DC_BUTTONS 0x1000
- #endif /* _WIN32_WINNT >= 0x0501 */
- WINUSERAPI
- BOOL
- WINAPI
- DrawCaption(IN HWND, IN HDC, IN CONST RECT *, IN UINT);
- #define IDANI_OPEN 1
- #define IDANI_CAPTION 3
- WINUSERAPI
- BOOL
- WINAPI
- DrawAnimatedRects(
- IN HWND hwnd,
- IN int idAni,
- IN CONST RECT * lprcFrom,
- IN CONST RECT * lprcTo);
- #endif /* WINVER >= 0x0400 */
- #ifndef NOCLIPBOARD
- /*
- * Predefined Clipboard Formats
- */
- #define CF_TEXT 1
- #define CF_BITMAP 2
- #define CF_METAFILEPICT 3
- #define CF_SYLK 4
- #define CF_DIF 5
- #define CF_TIFF 6
- #define CF_OEMTEXT 7
- #define CF_DIB 8
- #define CF_PALETTE 9
- #define CF_PENDATA 10
- #define CF_RIFF 11
- #define CF_WAVE 12
- #define CF_UNICODETEXT 13
- #define CF_ENHMETAFILE 14
- #if(WINVER >= 0x0400)
- #define CF_HDROP 15
- #define CF_LOCALE 16
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0500)
- #define CF_DIBV5 17
- #endif /* WINVER >= 0x0500 */
- #if(WINVER >= 0x0500)
- #define CF_MAX 18
- #elif(WINVER >= 0x0400)
- #define CF_MAX 17
- #else
- #define CF_MAX 15
- #endif
- #define CF_OWNERDISPLAY 0x0080
- #define CF_DSPTEXT 0x0081
- #define CF_DSPBITMAP 0x0082
- #define CF_DSPMETAFILEPICT 0x0083
- #define CF_DSPENHMETAFILE 0x008E
- /*
- * "Private" formats don't get GlobalFree()'d
- */
- #define CF_PRIVATEFIRST 0x0200
- #define CF_PRIVATELAST 0x02FF
- /*
- * "GDIOBJ" formats do get DeleteObject()'d
- */
- #define CF_GDIOBJFIRST 0x0300
- #define CF_GDIOBJLAST 0x03FF
- #endif /* !NOCLIPBOARD */
- /*
- * Defines for the fVirt field of the Accelerator table structure.
- */
- #define FVIRTKEY TRUE /* Assumed to be == TRUE */
- #define FNOINVERT 0x02
- #define FSHIFT 0x04
- #define FCONTROL 0x08
- #define FALT 0x10
- typedef struct tagACCEL {
- #ifndef _MAC
- BYTE fVirt; /* Also called the flags field */
- WORD key;
- WORD cmd;
- #else
- WORD fVirt; /* Also called the flags field */
- WORD key;
- DWORD cmd;
- #endif
- } ACCEL, *LPACCEL;
- typedef struct tagPAINTSTRUCT {
- HDC hdc;
- BOOL fErase;
- RECT rcPaint;
- BOOL fRestore;
- BOOL fIncUpdate;
- BYTE rgbReserved[32];
- } PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
- typedef struct tagCREATESTRUCTA {
- LPVOID lpCreateParams;
- HINSTANCE hInstance;
- HMENU hMenu;
- HWND hwndParent;
- int cy;
- int cx;
- int y;
- int x;
- LONG style;
- LPCSTR lpszName;
- LPCSTR lpszClass;
- DWORD dwExStyle;
- } CREATESTRUCTA, *LPCREATESTRUCTA;
- typedef struct tagCREATESTRUCTW {
- LPVOID lpCreateParams;
- HINSTANCE hInstance;
- HMENU hMenu;
- HWND hwndParent;
- int cy;
- int cx;
- int y;
- int x;
- LONG style;
- LPCWSTR lpszName;
- LPCWSTR lpszClass;
- DWORD dwExStyle;
- } CREATESTRUCTW, *LPCREATESTRUCTW;
- #ifdef UNICODE
- typedef CREATESTRUCTW CREATESTRUCT;
- typedef LPCREATESTRUCTW LPCREATESTRUCT;
- #else
- typedef CREATESTRUCTA CREATESTRUCT;
- typedef LPCREATESTRUCTA LPCREATESTRUCT;
- #endif // UNICODE
- typedef struct tagWINDOWPLACEMENT {
- UINT length;
- UINT flags;
- UINT showCmd;
- POINT ptMinPosition;
- POINT ptMaxPosition;
- RECT rcNormalPosition;
- #ifdef _MAC
- RECT rcDevice;
- #endif
- } WINDOWPLACEMENT;
- typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
- #define WPF_SETMINPOSITION 0x0001
- #define WPF_RESTORETOMAXIMIZED 0x0002
- #if(_WIN32_WINNT >= 0x0500)
- #define WPF_ASYNCWINDOWPLACEMENT 0x0004
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(WINVER >= 0x0400)
- typedef struct tagNMHDR
- {
- HWND hwndFrom;
- UINT_PTR idFrom;
- UINT code; // NM_ code
- } NMHDR;
- typedef NMHDR FAR * LPNMHDR;
- typedef struct tagSTYLESTRUCT
- {
- DWORD styleOld;
- DWORD styleNew;
- } STYLESTRUCT, * LPSTYLESTRUCT;
- #endif /* WINVER >= 0x0400 */
- /*
- * Owner draw control types
- */
- #define ODT_MENU 1
- #define ODT_LISTBOX 2
- #define ODT_COMBOBOX 3
- #define ODT_BUTTON 4
- #if(WINVER >= 0x0400)
- #define ODT_STATIC 5
- #endif /* WINVER >= 0x0400 */
- /*
- * Owner draw actions
- */
- #define ODA_DRAWENTIRE 0x0001
- #define ODA_SELECT 0x0002
- #define ODA_FOCUS 0x0004
- /*
- * Owner draw state
- */
- #define ODS_SELECTED 0x0001
- #define ODS_GRAYED 0x0002
- #define ODS_DISABLED 0x0004
- #define ODS_CHECKED 0x0008
- #define ODS_FOCUS 0x0010
- #if(WINVER >= 0x0400)
- #define ODS_DEFAULT 0x0020
- #define ODS_COMBOBOXEDIT 0x1000
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0500)
- #define ODS_HOTLIGHT 0x0040
- #define ODS_INACTIVE 0x0080
- #if(_WIN32_WINNT >= 0x0500)
- #define ODS_NOACCEL 0x0100
- #define ODS_NOFOCUSRECT 0x0200
- #endif /* _WIN32_WINNT >= 0x0500 */
- #endif /* WINVER >= 0x0500 */
- /*
- * MEASUREITEMSTRUCT for ownerdraw
- */
- typedef struct tagMEASUREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemWidth;
- UINT itemHeight;
- ULONG_PTR itemData;
- } MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT;
- /*
- * DRAWITEMSTRUCT for ownerdraw
- */
- typedef struct tagDRAWITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemAction;
- UINT itemState;
- HWND hwndItem;
- HDC hDC;
- RECT rcItem;
- ULONG_PTR itemData;
- } DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;
- /*
- * DELETEITEMSTRUCT for ownerdraw
- */
- typedef struct tagDELETEITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- HWND hwndItem;
- ULONG_PTR itemData;
- } DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;
- /*
- * COMPAREITEMSTUCT for ownerdraw sorting
- */
- typedef struct tagCOMPAREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- HWND hwndItem;
- UINT itemID1;
- ULONG_PTR itemData1;
- UINT itemID2;
- ULONG_PTR itemData2;
- DWORD dwLocaleId;
- } COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;
- #ifndef NOMSG
- /*
- * Message Function Templates
- */
- WINUSERAPI
- BOOL
- WINAPI
- GetMessageA(
- OUT LPMSG lpMsg,
- IN HWND hWnd,
- IN UINT wMsgFilterMin,
- IN UINT wMsgFilterMax);
- WINUSERAPI
- BOOL
- WINAPI
- GetMessageW(
- OUT LPMSG lpMsg,
- IN HWND hWnd,
- IN UINT wMsgFilterMin,
- IN UINT wMsgFilterMax);
- #ifdef UNICODE
- #define GetMessage GetMessageW
- #else
- #define GetMessage GetMessageA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- TranslateMessage(
- IN CONST MSG *lpMsg);
- WINUSERAPI
- LRESULT
- WINAPI
- DispatchMessageA(
- IN CONST MSG *lpMsg);
- WINUSERAPI
- LRESULT
- WINAPI
- DispatchMessageW(
- IN CONST MSG *lpMsg);
- #ifdef UNICODE
- #define DispatchMessage DispatchMessageW
- #else
- #define DispatchMessage DispatchMessageA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SetMessageQueue(
- IN int cMessagesMax);
- WINUSERAPI
- BOOL
- WINAPI
- PeekMessageA(
- OUT LPMSG lpMsg,
- IN HWND hWnd,
- IN UINT wMsgFilterMin,
- IN UINT wMsgFilterMax,
- IN UINT wRemoveMsg);
- WINUSERAPI
- BOOL
- WINAPI
- PeekMessageW(
- OUT LPMSG lpMsg,
- IN HWND hWnd,
- IN UINT wMsgFilterMin,
- IN UINT wMsgFilterMax,
- IN UINT wRemoveMsg);
- #ifdef UNICODE
- #define PeekMessage PeekMessageW
- #else
- #define PeekMessage PeekMessageA
- #endif // !UNICODE
- /*
- * PeekMessage() Options
- */
- #define PM_NOREMOVE 0x0000
- #define PM_REMOVE 0x0001
- #define PM_NOYIELD 0x0002
- #if(WINVER >= 0x0500)
- #define PM_QS_INPUT (QS_INPUT << 16)
- #define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16)
- #define PM_QS_PAINT (QS_PAINT << 16)
- #define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
- #endif /* WINVER >= 0x0500 */
- #endif /* !NOMSG */
- WINUSERAPI
- BOOL
- WINAPI
- RegisterHotKey(
- IN HWND hWnd,
- IN int id,
- IN UINT fsModifiers,
- IN UINT vk);
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterHotKey(
- IN HWND hWnd,
- IN int id);
- #define MOD_ALT 0x0001
- #define MOD_CONTROL 0x0002
- #define MOD_SHIFT 0x0004
- #define MOD_WIN 0x0008
- #define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */
- #define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */
- #ifdef WIN_INTERNAL
- #ifndef LSTRING
- #define NOLSTRING
- #endif /* LSTRING */
- #ifndef LFILEIO
- #define NOLFILEIO
- #endif /* LFILEIO */
- #endif /* WIN_INTERNAL */
- #if(WINVER >= 0x0400)
- #define ENDSESSION_LOGOFF 0x80000000
- #endif /* WINVER >= 0x0400 */
- #define EWX_LOGOFF 0
- #define EWX_SHUTDOWN 0x00000001
- #define EWX_REBOOT 0x00000002
- #define EWX_FORCE 0x00000004
- #define EWX_POWEROFF 0x00000008
- #if(_WIN32_WINNT >= 0x0500)
- #define EWX_FORCEIFHUNG 0x00000010
- #endif /* _WIN32_WINNT >= 0x0500 */
- #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF)
- WINUSERAPI
- BOOL
- WINAPI
- ExitWindowsEx(
- IN UINT uFlags,
- IN DWORD dwReserved);
- WINUSERAPI
- BOOL
- WINAPI
- SwapMouseButton(
- IN BOOL fSwap);
- WINUSERAPI
- DWORD
- WINAPI
- GetMessagePos(
- VOID);
- WINUSERAPI
- LONG
- WINAPI
- GetMessageTime(
- VOID);
- WINUSERAPI
- LPARAM
- WINAPI
- GetMessageExtraInfo(
- VOID);
- #if(WINVER >= 0x0400)
- WINUSERAPI
- LPARAM
- WINAPI
- SetMessageExtraInfo(
- IN LPARAM lParam);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define SendMessage SendMessageW
- #else
- #define SendMessage SendMessageA
- #endif // !UNICODE
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageTimeoutA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam,
- IN UINT fuFlags,
- IN UINT uTimeout,
- OUT PDWORD_PTR lpdwResult);
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageTimeoutW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam,
- IN UINT fuFlags,
- IN UINT uTimeout,
- OUT PDWORD_PTR lpdwResult);
- #ifdef UNICODE
- #define SendMessageTimeout SendMessageTimeoutW
- #else
- #define SendMessageTimeout SendMessageTimeoutA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SendNotifyMessageA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- SendNotifyMessageW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define SendNotifyMessage SendNotifyMessageW
- #else
- #define SendNotifyMessage SendNotifyMessageA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SendMessageCallbackA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam,
- IN SENDASYNCPROC lpResultCallBack,
- IN ULONG_PTR dwData);
- WINUSERAPI
- BOOL
- WINAPI
- SendMessageCallbackW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam,
- IN SENDASYNCPROC lpResultCallBack,
- IN ULONG_PTR dwData);
- #ifdef UNICODE
- #define SendMessageCallback SendMessageCallbackW
- #else
- #define SendMessageCallback SendMessageCallbackA
- #endif // !UNICODE
- #if(_WIN32_WINNT >= 0x0501)
- typedef struct {
- UINT cbSize;
- HDESK hdesk;
- HWND hwnd;
- LUID luid;
- } BSMINFO, *PBSMINFO;
- WINUSERAPI
- long
- WINAPI
- BroadcastSystemMessageExA(
- IN DWORD,
- IN LPDWORD,
- IN UINT,
- IN WPARAM,
- IN LPARAM,
- OUT PBSMINFO);
- WINUSERAPI
- long
- WINAPI
- BroadcastSystemMessageExW(
- IN DWORD,
- IN LPDWORD,
- IN UINT,
- IN WPARAM,
- IN LPARAM,
- OUT PBSMINFO);
- #ifdef UNICODE
- #define BroadcastSystemMessageEx BroadcastSystemMessageExW
- #else
- #define BroadcastSystemMessageEx BroadcastSystemMessageExA
- #endif // !UNICODE
- #endif /* _WIN32_WINNT >= 0x0501 */
- #if(WINVER >= 0x0400)
- #if defined(_WIN32_WINNT)
- WINUSERAPI
- long
- WINAPI
- BroadcastSystemMessageA(
- IN DWORD,
- IN LPDWORD,
- IN UINT,
- IN WPARAM,
- IN LPARAM);
- WINUSERAPI
- long
- WINAPI
- BroadcastSystemMessageW(
- IN DWORD,
- IN LPDWORD,
- IN UINT,
- IN WPARAM,
- IN LPARAM);
- #ifdef UNICODE
- #define BroadcastSystemMessage BroadcastSystemMessageW
- #else
- #define BroadcastSystemMessage BroadcastSystemMessageA
- #endif // !UNICODE
- #elif defined(_WIN32_WINDOWS)
- // The Win95 version isn't A/W decorated
- WINUSERAPI
- long
- WINAPI
- BroadcastSystemMessage(
- IN DWORD,
- IN LPDWORD,
- IN UINT,
- IN WPARAM,
- IN LPARAM);
- #endif
- //Broadcast Special Message Recipient list
- #define BSM_ALLCOMPONENTS 0x00000000
- #define BSM_VXDS 0x00000001
- #define BSM_NETDRIVER 0x00000002
- #define BSM_INSTALLABLEDRIVERS 0x00000004
- #define BSM_APPLICATIONS 0x00000008
- #define BSM_ALLDESKTOPS 0x00000010
- //Broadcast Special Message Flags
- #define BSF_QUERY 0x00000001
- #define BSF_IGNORECURRENTTASK 0x00000002
- #define BSF_FLUSHDISK 0x00000004
- #define BSF_NOHANG 0x00000008
- #define BSF_POSTMESSAGE 0x00000010
- #define BSF_FORCEIFHUNG 0x00000020
- #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
- #if(_WIN32_WINNT >= 0x0500)
- #define BSF_ALLOWSFW 0x00000080
- #define BSF_SENDNOTIFYMESSAGE 0x00000100
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0501)
- #define BSF_RETURNHDESK 0x00000200
- #define BSF_LUID 0x00000400
- #endif /* _WIN32_WINNT >= 0x0501 */
- #define BROADCAST_QUERY_DENY 0x424D5144 // Return this value to deny a query.
- #endif /* WINVER >= 0x0400 */
- // RegisterDeviceNotification
- #if(WINVER >= 0x0500)
- typedef PVOID HDEVNOTIFY;
- typedef HDEVNOTIFY *PHDEVNOTIFY;
- #define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
- #define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
- #if(_WIN32_WINNT >= 0x0501)
- #define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
- #endif /* _WIN32_WINNT >= 0x0501 */
- WINUSERAPI
- HDEVNOTIFY
- WINAPI
- RegisterDeviceNotificationA(
- IN HANDLE hRecipient,
- IN LPVOID NotificationFilter,
- IN DWORD Flags
- );
- WINUSERAPI
- HDEVNOTIFY
- WINAPI
- RegisterDeviceNotificationW(
- IN HANDLE hRecipient,
- IN LPVOID NotificationFilter,
- IN DWORD Flags
- );
- #ifdef UNICODE
- #define RegisterDeviceNotification RegisterDeviceNotificationW
- #else
- #define RegisterDeviceNotification RegisterDeviceNotificationA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterDeviceNotification(
- IN HDEVNOTIFY Handle
- );
- #endif /* WINVER >= 0x0500 */
- WINUSERAPI
- BOOL
- WINAPI
- PostMessageA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- PostMessageW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define PostMessage PostMessageW
- #else
- #define PostMessage PostMessageA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- PostThreadMessageA(
- IN DWORD idThread,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- PostThreadMessageW(
- IN DWORD idThread,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define PostThreadMessage PostThreadMessageW
- #else
- #define PostThreadMessage PostThreadMessageA
- #endif // !UNICODE
- #define PostAppMessageA(idThread, wMsg, wParam, lParam)
- PostThreadMessageA((DWORD)idThread, wMsg, wParam, lParam)
- #define PostAppMessageW(idThread, wMsg, wParam, lParam)
- PostThreadMessageW((DWORD)idThread, wMsg, wParam, lParam)
- #ifdef UNICODE
- #define PostAppMessage PostAppMessageW
- #else
- #define PostAppMessage PostAppMessageA
- #endif // !UNICODE
- /*
- * Special HWND value for use with PostMessage() and SendMessage()
- */
- #define HWND_BROADCAST ((HWND)0xffff)
- #if(WINVER >= 0x0500)
- #define HWND_MESSAGE ((HWND)-3)
- #endif /* WINVER >= 0x0500 */
- WINUSERAPI
- BOOL
- WINAPI
- AttachThreadInput(
- IN DWORD idAttach,
- IN DWORD idAttachTo,
- IN BOOL fAttach);
- WINUSERAPI
- BOOL
- WINAPI
- ReplyMessage(
- IN LRESULT lResult);
- WINUSERAPI
- BOOL
- WINAPI
- WaitMessage(
- VOID);
- WINUSERAPI
- DWORD
- WINAPI
- WaitForInputIdle(
- IN HANDLE hProcess,
- IN DWORD dwMilliseconds);
- WINUSERAPI
- #ifndef _MAC
- LRESULT
- WINAPI
- #else
- LRESULT
- CALLBACK
- #endif
- DefWindowProcA(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- #ifndef _MAC
- LRESULT
- WINAPI
- #else
- LRESULT
- CALLBACK
- #endif
- DefWindowProcW(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define DefWindowProc DefWindowProcW
- #else
- #define DefWindowProc DefWindowProcA
- #endif // !UNICODE
- WINUSERAPI
- VOID
- WINAPI
- PostQuitMessage(
- IN int nExitCode);
- #ifdef STRICT
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcA(
- IN WNDPROC lpPrevWndFunc,
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcW(
- IN WNDPROC lpPrevWndFunc,
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define CallWindowProc CallWindowProcW
- #else
- #define CallWindowProc CallWindowProcA
- #endif // !UNICODE
- #else /* !STRICT */
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcA(
- IN FARPROC lpPrevWndFunc,
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcW(
- IN FARPROC lpPrevWndFunc,
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam);
- #ifdef UNICODE
- #define CallWindowProc CallWindowProcW
- #else
- #define CallWindowProc CallWindowProcA
- #endif // !UNICODE
- #endif /* !STRICT */
- WINUSERAPI
- BOOL
- WINAPI
- InSendMessage(
- VOID);
- #if(WINVER >= 0x0500)
- WINUSERAPI
- DWORD
- WINAPI
- InSendMessageEx(
- IN LPVOID lpReserved);
- /*
- * InSendMessageEx return value
- */
- #define ISMEX_NOSEND 0x00000000
- #define ISMEX_SEND 0x00000001
- #define ISMEX_NOTIFY 0x00000002
- #define ISMEX_CALLBACK 0x00000004
- #define ISMEX_REPLIED 0x00000008
- #endif /* WINVER >= 0x0500 */
- WINUSERAPI
- UINT
- WINAPI
- GetDoubleClickTime(
- VOID);
- WINUSERAPI
- BOOL
- WINAPI
- SetDoubleClickTime(
- IN UINT);
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassA(
- IN CONST WNDCLASSA *lpWndClass);
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassW(
- IN CONST WNDCLASSW *lpWndClass);
- #ifdef UNICODE
- #define RegisterClass RegisterClassW
- #else
- #define RegisterClass RegisterClassA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterClassA(
- IN LPCSTR lpClassName,
- IN HINSTANCE hInstance);
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterClassW(
- IN LPCWSTR lpClassName,
- IN HINSTANCE hInstance);
- #ifdef UNICODE
- #define UnregisterClass UnregisterClassW
- #else
- #define UnregisterClass UnregisterClassA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoA(
- IN HINSTANCE hInstance,
- IN LPCSTR lpClassName,
- OUT LPWNDCLASSA lpWndClass);
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoW(
- IN HINSTANCE hInstance,
- IN LPCWSTR lpClassName,
- OUT LPWNDCLASSW lpWndClass);
- #ifdef UNICODE
- #define GetClassInfo GetClassInfoW
- #else
- #define GetClassInfo GetClassInfoA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassExA(
- IN CONST WNDCLASSEXA *);
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassExW(
- IN CONST WNDCLASSEXW *);
- #ifdef UNICODE
- #define RegisterClassEx RegisterClassExW
- #else
- #define RegisterClassEx RegisterClassExA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoExA(
- IN HINSTANCE,
- IN LPCSTR,
- OUT LPWNDCLASSEXA);
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoExW(
- IN HINSTANCE,
- IN LPCWSTR,
- OUT LPWNDCLASSEXW);
- #ifdef UNICODE
- #define GetClassInfoEx GetClassInfoExW
- #else
- #define GetClassInfoEx GetClassInfoExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- #define CW_USEDEFAULT ((int)0x80000000)
- /*
- * Special value for CreateWindow, et al.
- */
- #define HWND_DESKTOP ((HWND)0)
- #if(_WIN32_WINNT >= 0x0501)
- typedef BOOLEAN (WINAPI * PREGISTERCLASSNAMEW)(LPCWSTR);
- #endif /* _WIN32_WINNT >= 0x0501 */
- WINUSERAPI
- HWND
- WINAPI
- CreateWindowExA(
- IN DWORD dwExStyle,
- IN LPCSTR lpClassName,
- IN LPCSTR lpWindowName,
- IN DWORD dwStyle,
- IN int X,
- IN int Y,
- IN int nWidth,
- IN int nHeight,
- IN HWND hWndParent,
- IN HMENU hMenu,
- IN HINSTANCE hInstance,
- IN LPVOID lpParam);
- WINUSERAPI
- HWND
- WINAPI
- CreateWindowExW(
- IN DWORD dwExStyle,
- IN LPCWSTR lpClassName,
- IN LPCWSTR lpWindowName,
- IN DWORD dwStyle,
- IN int X,
- IN int Y,
- IN int nWidth,
- IN int nHeight,
- IN HWND hWndParent,
- IN HMENU hMenu,
- IN HINSTANCE hInstance,
- IN LPVOID lpParam);
- #ifdef UNICODE
- #define CreateWindowEx CreateWindowExW
- #else
- #define CreateWindowEx CreateWindowExA
- #endif // !UNICODE
- #define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,
- nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
- CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,
- nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
- #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,
- nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
- CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,
- nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
- #ifdef UNICODE
- #define CreateWindow CreateWindowW
- #else
- #define CreateWindow CreateWindowA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- IsWindow(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- IsMenu(
- IN HMENU hMenu);
- WINUSERAPI
- BOOL
- WINAPI
- IsChild(
- IN HWND hWndParent,
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- DestroyWindow(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- ShowWindow(
- IN HWND hWnd,
- IN int nCmdShow);
- #if(WINVER >= 0x0500)
- WINUSERAPI
- BOOL
- WINAPI
- AnimateWindow(
- IN HWND hWnd,
- IN DWORD dwTime,
- IN DWORD dwFlags);
- #endif /* WINVER >= 0x0500 */
- #if(_WIN32_WINNT >= 0x0500)
- #if defined(_WINGDI_) && !defined (NOGDI)
- WINUSERAPI
- BOOL
- WINAPI
- UpdateLayeredWindow(
- HWND hWnd,
- HDC hdcDst,
- POINT *pptDst,
- SIZE *psize,
- HDC hdcSrc,
- POINT *pptSrc,
- COLORREF crKey,
- BLENDFUNCTION *pblend,
- DWORD dwFlags);
- #endif
- #if(_WIN32_WINNT >= 0x0501)
- WINUSERAPI
- BOOL
- WINAPI
- GetLayeredWindowAttributes(
- HWND hwnd,
- COLORREF *pcrKey,
- BYTE *pbAlpha,
- DWORD *pdwFlags);
- #define PW_CLIENTONLY 0x00000001
- WINUSERAPI
- BOOL
- WINAPI
- PrintWindow(
- IN HWND hwnd,
- IN HDC hdcBlt,
- IN UINT nFlags);
- #endif /* _WIN32_WINNT >= 0x0501 */
- WINUSERAPI
- BOOL
- WINAPI
- SetLayeredWindowAttributes(
- HWND hwnd,
- COLORREF crKey,
- BYTE bAlpha,
- DWORD dwFlags);
- #define LWA_COLORKEY 0x00000001
- #define LWA_ALPHA 0x00000002
- #define ULW_COLORKEY 0x00000001
- #define ULW_ALPHA 0x00000002
- #define ULW_OPAQUE 0x00000004
- #endif /* _WIN32_WINNT >= 0x0500 */
- #if(WINVER >= 0x0400)
- WINUSERAPI
- BOOL
- WINAPI
- ShowWindowAsync(
- IN HWND hWnd,
- IN int nCmdShow);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- FlashWindow(
- IN HWND hWnd,
- IN BOOL bInvert);
- #if(WINVER >= 0x0500)
- typedef struct {
- UINT cbSize;
- HWND hwnd;
- DWORD dwFlags;
- UINT uCount;
- DWORD dwTimeout;
- } FLASHWINFO, *PFLASHWINFO;
- WINUSERAPI
- BOOL
- WINAPI
- FlashWindowEx(
- PFLASHWINFO pfwi);
- #define FLASHW_STOP 0
- #define FLASHW_CAPTION 0x00000001
- #define FLASHW_TRAY 0x00000002
- #define FLASHW_ALL (FLASHW_CAPTION | FLASHW_TRAY)
- #define FLASHW_TIMER 0x00000004
- #define FLASHW_TIMERNOFG 0x0000000C
- #endif /* WINVER >= 0x0500 */
- WINUSERAPI
- BOOL
- WINAPI
- ShowOwnedPopups(
- IN HWND hWnd,
- IN BOOL fShow);
- WINUSERAPI
- BOOL
- WINAPI
- OpenIcon(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- CloseWindow(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- MoveWindow(
- IN HWND hWnd,
- IN int X,
- IN int Y,
- IN int nWidth,
- IN int nHeight,
- IN BOOL bRepaint);
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowPos(
- IN HWND hWnd,
- IN HWND hWndInsertAfter,
- IN int X,
- IN int Y,
- IN int cx,
- IN int cy,
- IN UINT uFlags);
- WINUSERAPI
- BOOL
- WINAPI
- GetWindowPlacement(
- IN HWND hWnd,
- OUT WINDOWPLACEMENT *lpwndpl);
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowPlacement(
- IN HWND hWnd,
- IN CONST WINDOWPLACEMENT *lpwndpl);
- #ifndef NODEFERWINDOWPOS
- WINUSERAPI
- HDWP
- WINAPI
- BeginDeferWindowPos(
- IN int nNumWindows);
- WINUSERAPI
- HDWP
- WINAPI
- DeferWindowPos(
- IN HDWP hWinPosInfo,
- IN HWND hWnd,
- IN HWND hWndInsertAfter,
- IN int x,
- IN int y,
- IN int cx,
- IN int cy,
- IN UINT uFlags);
- WINUSERAPI
- BOOL
- WINAPI
- EndDeferWindowPos(
- IN HDWP hWinPosInfo);
- #endif /* !NODEFERWINDOWPOS */
- WINUSERAPI
- BOOL
- WINAPI
- IsWindowVisible(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- IsIconic(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- AnyPopup(
- VOID);
- WINUSERAPI
- BOOL
- WINAPI
- BringWindowToTop(
- IN HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- IsZoomed(
- IN HWND hWnd);
- /*
- * SetWindowPos Flags
- */
- #define SWP_NOSIZE 0x0001
- #define SWP_NOMOVE 0x0002
- #define SWP_NOZORDER 0x0004
- #define SWP_NOREDRAW 0x0008
- #define SWP_NOACTIVATE 0x0010
- #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
- #define SWP_SHOWWINDOW 0x0040
- #define SWP_HIDEWINDOW 0x0080
- #define SWP_NOCOPYBITS 0x0100
- #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
- #define SWP_NOSENDCHANGING 0x0400 /* Don't send WM_WINDOWPOSCHANGING */
- #define SWP_DRAWFRAME SWP_FRAMECHANGED
- #define SWP_NOREPOSITION SWP_NOOWNERZORDER
- #if(WINVER >= 0x0400)
- #define SWP_DEFERERASE 0x2000
- #define SWP_ASYNCWINDOWPOS 0x4000