home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- * *
- * winuser.h -- USER procedure declarations, constant definitions and macros *
- * *
- * Copyright (c) 1985-1995, Microsoft Corp. 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 __cplusplus
- extern "C" {
- #endif /* __cplusplus */
-
- #ifndef WINVER
- #define WINVER 0x0400 /* version 4.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 BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
- typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, 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, DWORD, LRESULT);
-
- typedef BOOL (CALLBACK* PROPENUMPROCA)(HWND, LPCSTR, HANDLE);
- typedef BOOL (CALLBACK* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE);
-
- typedef BOOL (CALLBACK* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, DWORD);
- typedef BOOL (CALLBACK* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, DWORD);
-
- 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 MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
- #define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((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((DWORD)RT_CURSOR + DIFFERENCE)
- #define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)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)
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NORESOURCE */
-
- WINUSERAPI
- int
- WINAPI
- wvsprintfA(
- LPSTR,
- LPCSTR,
- va_list arglist);
- WINUSERAPI
- int
- WINAPI
- wvsprintfW(
- LPWSTR,
- LPCWSTR,
- va_list arglist);
- #ifdef UNICODE
- #define wvsprintf wvsprintfW
- #else
- #define wvsprintf wvsprintfA
- #endif // !UNICODE
-
- WINUSERAPI int WINAPIV wsprintfA(LPSTR, LPCSTR, ...);
- WINUSERAPI int WINAPIV wsprintfW(LPWSTR, LPCWSTR, ...);
- #ifdef UNICODE
- #define wsprintf wsprintfW
- #else
- #define wsprintf wsprintfA
- #endif // !UNICODE
-
- #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_MAX 10
-
- /*
- * 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 */
-
- /*
- * 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 */
-
- #define VK_BACK 0x08
- #define VK_TAB 0x09
-
- #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_ESCAPE 0x1B
-
- #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 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
- /* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
-
- #define VK_LWIN 0x5B
- #define VK_RWIN 0x5C
- #define VK_APPS 0x5D
-
- #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
-
- #define VK_NUMLOCK 0x90
- #define VK_SCROLL 0x91
-
- /*
- * 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(WINVER >= 0x0400)
- #define VK_PROCESSKEY 0xE5
- #endif /* WINVER >= 0x0400 */
-
- #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
-
- #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
- #define WH_HARDWARE 8
- #define WH_DEBUG 9
- #define WH_SHELL 10
- #define WH_FOREGROUNDIDLE 11
- #if(WINVER >= 0x0400)
- #define WH_CALLWNDPROCRET 12
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define WH_MAX 12
- #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;
-
- /*
- * WH_MSGFILTER Filter Proc Codes
- */
- #define MSGF_DIALOGBOX 0
- #define MSGF_MESSAGEBOX 1
- #define MSGF_MENU 2
- #define MSGF_MOVE 3
- #define MSGF_SIZE 4
- #define MSGF_SCROLLBAR 5
- #define MSGF_NEXTWINDOW 6
- #define MSGF_MAINLOOP 8
- #define MSGF_MAX 8
- #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 */
-
- /*
- * 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 */
-
- /*
- * 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;
- DWORD dwExtraInfo;
- } MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
- #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_UNLOADPREVIOUS 0x00000004
- #define KLF_REORDER 0x00000008
- #if(WINVER >= 0x0400)
- #define KLF_REPLACELANG 0x00000010
- #define KLF_NOTELLSHELL 0x00000080
- #endif /* WINVER >= 0x0400 */
-
- /*
- * Size of KeyboardLayoutName (number of characters), including nul terminator
- */
- #define KL_NAMELENGTH 9
-
- WINUSERAPI
- HKL
- WINAPI
- LoadKeyboardLayoutA(
- LPCSTR pwszKLID,
- UINT Flags);
- WINUSERAPI
- HKL
- WINAPI
- LoadKeyboardLayoutW(
- LPCWSTR pwszKLID,
- UINT Flags);
- #ifdef UNICODE
- #define LoadKeyboardLayout LoadKeyboardLayoutW
- #else
- #define LoadKeyboardLayout LoadKeyboardLayoutA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HKL
- WINAPI
- ActivateKeyboardLayout(
- HKL hkl,
- UINT Flags);
- #else
- WINUSERAPI
- BOOL
- WINAPI
- ActivateKeyboardLayout(
- HKL hkl,
- UINT Flags);
- #endif /* WINVER >= 0x0400 */
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- ToUnicodeEx(
- UINT wVirtKey,
- UINT wScanCode,
- PBYTE lpKeyState,
- LPWSTR pwszBuff,
- int cchBuff,
- UINT wFlags,
- HKL dwhkl);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- UnloadKeyboardLayout(
- HKL hkl);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetKeyboardLayoutNameA(
- LPSTR pwszKLID);
- WINUSERAPI
- BOOL
- WINAPI
- GetKeyboardLayoutNameW(
- LPWSTR pwszKLID);
- #ifdef UNICODE
- #define GetKeyboardLayoutName GetKeyboardLayoutNameW
- #else
- #define GetKeyboardLayoutName GetKeyboardLayoutNameA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- GetKeyboardLayoutList(
- int nBuff,
- HKL FAR *lpList);
-
- WINUSERAPI
- HKL
- WINAPI
- GetKeyboardLayout(
- DWORD dwLayout
- );
- #endif /* WINVER >= 0x0400 */
-
- #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(
- LPSTR lpszDesktop,
- LPSTR lpszDevice,
- LPDEVMODEA pDevmode,
- DWORD dwFlags,
- DWORD dwDesiredAccess,
- LPSECURITY_ATTRIBUTES lpsa);
- WINUSERAPI
- HDESK
- WINAPI
- CreateDesktopW(
- LPWSTR lpszDesktop,
- LPWSTR lpszDevice,
- LPDEVMODEW pDevmode,
- DWORD dwFlags,
- DWORD dwDesiredAccess,
- LPSECURITY_ATTRIBUTES lpsa);
- #ifdef UNICODE
- #define CreateDesktop CreateDesktopW
- #else
- #define CreateDesktop CreateDesktopA
- #endif // !UNICODE
-
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
-
- WINUSERAPI
- HDESK
- WINAPI
- OpenDesktopA(
- LPSTR lpszDesktop,
- DWORD dwFlags,
- BOOL fInherit,
- DWORD dwDesiredAccess);
- WINUSERAPI
- HDESK
- WINAPI
- OpenDesktopW(
- LPWSTR lpszDesktop,
- DWORD dwFlags,
- BOOL fInherit,
- DWORD dwDesiredAccess);
- #ifdef UNICODE
- #define OpenDesktop OpenDesktopW
- #else
- #define OpenDesktop OpenDesktopA
- #endif // !UNICODE
-
- WINUSERAPI
- HDESK
- WINAPI
- OpenInputDesktop(
- DWORD dwFlags,
- BOOL fInherit,
- DWORD dwDesiredAccess);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopsA(
- HWINSTA hwinsta,
- DESKTOPENUMPROCA lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopsW(
- HWINSTA hwinsta,
- DESKTOPENUMPROCW lpEnumFunc,
- LPARAM lParam);
- #ifdef UNICODE
- #define EnumDesktops EnumDesktopsW
- #else
- #define EnumDesktops EnumDesktopsA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumDesktopWindows(
- HDESK hDesktop,
- WNDENUMPROC lpfn,
- LPARAM lParam);
-
- WINUSERAPI
- BOOL
- WINAPI
- SwitchDesktop(
- HDESK hDesktop);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetThreadDesktop(
- HDESK hDesktop);
-
- WINUSERAPI
- BOOL
- WINAPI
- CloseDesktop(
- HDESK hDesktop);
-
- WINUSERAPI
- HDESK
- WINAPI
- GetThreadDesktop(
- 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(
- LPSTR lpwinsta,
- DWORD dwReserved,
- DWORD dwDesiredAccess,
- LPSECURITY_ATTRIBUTES lpsa);
- WINUSERAPI
- HWINSTA
- WINAPI
- CreateWindowStationW(
- LPWSTR lpwinsta,
- DWORD dwReserved,
- DWORD dwDesiredAccess,
- LPSECURITY_ATTRIBUTES lpsa);
- #ifdef UNICODE
- #define CreateWindowStation CreateWindowStationW
- #else
- #define CreateWindowStation CreateWindowStationA
- #endif // !UNICODE
-
- WINUSERAPI
- HWINSTA
- WINAPI
- OpenWindowStationA(
- LPSTR lpszWinSta,
- BOOL fInherit,
- DWORD dwDesiredAccess);
- WINUSERAPI
- HWINSTA
- WINAPI
- OpenWindowStationW(
- LPWSTR lpszWinSta,
- BOOL fInherit,
- DWORD dwDesiredAccess);
- #ifdef UNICODE
- #define OpenWindowStation OpenWindowStationW
- #else
- #define OpenWindowStation OpenWindowStationA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindowStationsA(
- WINSTAENUMPROCA lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindowStationsW(
- WINSTAENUMPROCW lpEnumFunc,
- LPARAM lParam);
- #ifdef UNICODE
- #define EnumWindowStations EnumWindowStationsW
- #else
- #define EnumWindowStations EnumWindowStationsA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- CloseWindowStation(
- HWINSTA hWinSta);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetProcessWindowStation(
- HWINSTA hWinSta);
-
- WINUSERAPI
- HWINSTA
- WINAPI
- GetProcessWindowStation(
- VOID);
- #endif /* !NOWINDOWSTATION */
-
- #ifndef NOSECURITY
-
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectSecurity(
- HANDLE hObj,
- PSECURITY_INFORMATION pSIRequested,
- PSECURITY_DESCRIPTOR pSID);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectSecurity(
- HANDLE hObj,
- PSECURITY_INFORMATION pSIRequested,
- PSECURITY_DESCRIPTOR pSID,
- DWORD nLength,
- LPDWORD lpnLengthNeeded);
-
- #define UOI_FLAGS 1
- #define UOI_NAME 2
- #define UOI_TYPE 3
-
- typedef struct tagUSEROBJECTFLAGS {
- BOOL fInherit;
- BOOL fReserved;
- DWORD dwFlags;
- } USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
-
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectInformationA(
- HANDLE hObj,
- int nIndex,
- PVOID pvInfo,
- DWORD nLength,
- LPDWORD lpnLengthNeeded);
- WINUSERAPI
- BOOL
- WINAPI
- GetUserObjectInformationW(
- HANDLE hObj,
- int nIndex,
- PVOID pvInfo,
- DWORD nLength,
- LPDWORD lpnLengthNeeded);
- #ifdef UNICODE
- #define GetUserObjectInformation GetUserObjectInformationW
- #else
- #define GetUserObjectInformation GetUserObjectInformationA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectInformationA(
- HANDLE hObj,
- int nIndex,
- PVOID pvInfo,
- DWORD nLength);
- WINUSERAPI
- BOOL
- WINAPI
- SetUserObjectInformationW(
- HANDLE hObj,
- int nIndex,
- PVOID pvInfo,
- 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;
- } 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)MAKELONG(l, h)
- #define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h)
- #define MAKELRESULT(l, h) (LRESULT)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)
-
- /*
- * 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 */
-
- #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
- #define WM_QUERYENDSESSION 0x0011
- #define WM_QUIT 0x0012
- #define WM_QUERYOPEN 0x0013
- #define WM_ERASEBKGND 0x0014
- #define WM_SYSCOLORCHANGE 0x0015
- #define WM_ENDSESSION 0x0016
- #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
-
- #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 {
- DWORD dwData;
- DWORD cbData;
- PVOID lpData;
- } COPYDATASTRUCT, *PCOPYDATASTRUCT;
-
- #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
-
- #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
-
- #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
- #define WM_KEYLAST 0x0108
-
- #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
-
- #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
- #define WM_MOUSELAST 0x0209
-
- #define WM_PARENTNOTIFY 0x0210
- #define MENULOOP_WINDOW 0
- #define MENULOOP_POPUP 1
- #define WM_ENTERMENULOOP 0x0211
- #define WM_EXITMENULOOP 0x0212
-
- #if(WINVER >= 0x0400)
- #define WM_NEXTMENU 0x0213
-
- typedef struct tagMDINEXTMENU
- {
- HMENU hmenuIn;
- HMENU hmenuNext;
- HWND hwndNext;
- } MDINEXTMENU, * PMDINEXTMENU, FAR * LPMDINEXTMENU;
-
- #define WM_SIZING 0x0214
- #define WM_CAPTURECHANGED 0x0215
- #define WM_MOVING 0x0216
- #define WM_POWERBROADCAST 0x0218
- #define WM_DEVICECHANGE 0x0219
-
- #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
- #define WM_IME_KEYDOWN 0x0290
- #define WM_IME_KEYUP 0x0291
- #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
-
- #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
-
- #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_SYNCTASK Commands
- */
- #define ST_BEGINSWP 0
- #define ST_ENDSWP 1
-
- /*
- * 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
-
- #endif /* !NONCMESSAGES */
-
- /*
- * WM_MOUSEACTIVATE Return Codes
- */
- #define MA_ACTIVATE 1
- #define MA_ACTIVATEANDEAT 2
- #define MA_NOACTIVATE 3
- #define MA_NOACTIVATEANDEAT 4
-
- WINUSERAPI
- UINT
- WINAPI
- RegisterWindowMessageA(
- LPCSTR lpString);
- WINUSERAPI
- UINT
- WINAPI
- RegisterWindowMessageW(
- 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
-
- #endif /* !NOKEYSTATES */
-
- #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
-
- #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 */
-
- /*
- * Class styles
- */
- #define CS_VREDRAW 0x0001
- #define CS_HREDRAW 0x0002
- #define CS_KEYCVTWINDOW 0x0004
- #define CS_DBLCLKS 0x0008
- #define CS_OWNDC 0x0020
- #define CS_CLASSDC 0x0040
- #define CS_PARENTDC 0x0080
- #define CS_NOKEYCVT 0x0100
- #define CS_NOCLOSE 0x0200
- #define CS_SAVEBITS 0x0800
- #define CS_BYTEALIGNCLIENT 0x1000
- #define CS_BYTEALIGNWINDOW 0x2000
- #define CS_GLOBALCLASS 0x4000
-
- #if(WINVER >= 0x0400)
- #define CS_IME 0x00010000
- #endif /* WINVER >= 0x0400 */
-
- #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 0x0003
- #define BDR_INNER 0x000c
- #define BDR_RAISED 0x0005
- #define BDR_SUNKEN 0x000a
-
- #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(HDC hdc, LPRECT qrc, UINT edge, UINT grfFlags);
-
- /* flags for DrawFrameControl */
-
- #define DFC_CAPTION 1
- #define DFC_MENU 2
- #define DFC_SCROLL 3
- #define DFC_BUTTON 4
-
- #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
- #define DFCS_ADJUSTRECT 0x2000
- #define DFCS_FLAT 0x4000
- #define DFCS_MONO 0x8000
-
- WINUSERAPI BOOL WINAPI DrawFrameControl(HDC, LPRECT, UINT, UINT);
-
- /* flags for DrawCaption */
- #define DC_ACTIVE 0x0001
- #define DC_SMALLCAP 0x0002
- #define DC_ICON 0x0004
- #define DC_TEXT 0x0008
- #define DC_INBUTTON 0x0010
- #define DC_CAPTION (DC_ICON | DC_TEXT | DC_BUTTONS)
- #define DC_NC (DC_CAPTION | DC_FRAME)
-
- WINUSERAPI BOOL WINAPI DrawCaption(HWND, HDC, CONST RECT *, UINT);
-
- #define IDANI_OPEN 1
- #define IDANI_CLOSE 2
- #define IDANI_CAPTION 3
- WINUSERAPI BOOL WINAPI DrawAnimatedRects(HWND hwnd, int idAni, CONST RECT * lprcFrom, 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
- #define CF_MAX 17
- #endif /* WINVER >= 0x0400 */
-
- #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 {
- BYTE fVirt; /* Also called the flags field */
- WORD key;
- WORD cmd;
- } 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;
- } WINDOWPLACEMENT;
- typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
-
- #define WPF_SETMINPOSITION 0x0001
- #define WPF_RESTORETOMAXIMIZED 0x0002
- #if(WINVER >= 0x0400)
- typedef struct tagNMHDR
- {
- HWND hwndFrom;
- UINT 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 */
-
- /*
- * MEASUREITEMSTRUCT for ownerdraw
- */
- typedef struct tagMEASUREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemWidth;
- UINT itemHeight;
- DWORD 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;
- DWORD itemData;
- } DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;
-
- /*
- * DELETEITEMSTRUCT for ownerdraw
- */
- typedef struct tagDELETEITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- HWND hwndItem;
- UINT itemData;
- } DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;
-
- /*
- * COMPAREITEMSTUCT for ownerdraw sorting
- */
- typedef struct tagCOMPAREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- HWND hwndItem;
- UINT itemID1;
- DWORD itemData1;
- UINT itemID2;
- DWORD itemData2;
- DWORD dwLocaleId;
- } COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;
-
- #ifndef NOMSG
-
- /*
- * Message Function Templates
- */
-
- WINUSERAPI
- BOOL
- WINAPI
- GetMessageA(
- LPMSG lpMsg,
- HWND hWnd ,
- UINT wMsgFilterMin,
- UINT wMsgFilterMax);
- WINUSERAPI
- BOOL
- WINAPI
- GetMessageW(
- LPMSG lpMsg,
- HWND hWnd ,
- UINT wMsgFilterMin,
- UINT wMsgFilterMax);
- #ifdef UNICODE
- #define GetMessage GetMessageW
- #else
- #define GetMessage GetMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- TranslateMessage(
- CONST MSG *lpMsg);
-
- WINUSERAPI
- LONG
- WINAPI
- DispatchMessageA(
- CONST MSG *lpMsg);
- WINUSERAPI
- LONG
- WINAPI
- DispatchMessageW(
- CONST MSG *lpMsg);
- #ifdef UNICODE
- #define DispatchMessage DispatchMessageW
- #else
- #define DispatchMessage DispatchMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SetMessageQueue(
- int cMessagesMax);
-
- WINUSERAPI
- BOOL
- WINAPI
- PeekMessageA(
- LPMSG lpMsg,
- HWND hWnd ,
- UINT wMsgFilterMin,
- UINT wMsgFilterMax,
- UINT wRemoveMsg);
- WINUSERAPI
- BOOL
- WINAPI
- PeekMessageW(
- LPMSG lpMsg,
- HWND hWnd ,
- UINT wMsgFilterMin,
- UINT wMsgFilterMax,
- 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
-
- #endif /* !NOMSG */
-
- WINUSERAPI
- BOOL
- WINAPI
- RegisterHotKey(
- HWND hWnd ,
- int id,
- UINT fsModifiers,
- UINT vk);
-
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterHotKey(
- HWND hWnd,
- 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 EW_RESTARTWINDOWS 0x0042L
- #define EW_REBOOTSYSTEM 0x0043L
- #define EW_EXITANDEXECAPP 0x0044L
- #endif /* WINVER >= 0x0400 */
-
- #define EWX_LOGOFF 0
- #define EWX_SHUTDOWN 1
- #define EWX_REBOOT 2
- #define EWX_FORCE 4
- #define EWX_POWEROFF 8
-
- #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF)
-
- WINUSERAPI
- BOOL
- WINAPI
- ExitWindowsEx(
- UINT uFlags,
- DWORD dwReserved);
-
- WINUSERAPI
- BOOL
- WINAPI
- SwapMouseButton(
- BOOL fSwap);
-
- WINUSERAPI
- DWORD
- WINAPI
- GetMessagePos(
- VOID);
-
- WINUSERAPI
- LONG
- WINAPI
- GetMessageTime(
- VOID);
-
- WINUSERAPI
- LONG
- WINAPI
- GetMessageExtraInfo(
- VOID);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- LPARAM
- WINAPI
- SetMessageExtraInfo(
- LPARAM lParam);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define SendMessage SendMessageW
- #else
- #define SendMessage SendMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageTimeoutA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam,
- UINT fuFlags,
- UINT uTimeout,
- LPDWORD lpdwResult);
- WINUSERAPI
- LRESULT
- WINAPI
- SendMessageTimeoutW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam,
- UINT fuFlags,
- UINT uTimeout,
- LPDWORD lpdwResult);
- #ifdef UNICODE
- #define SendMessageTimeout SendMessageTimeoutW
- #else
- #define SendMessageTimeout SendMessageTimeoutA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SendNotifyMessageA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- SendNotifyMessageW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define SendNotifyMessage SendNotifyMessageW
- #else
- #define SendNotifyMessage SendNotifyMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SendMessageCallbackA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam,
- SENDASYNCPROC lpResultCallBack,
- DWORD dwData);
- WINUSERAPI
- BOOL
- WINAPI
- SendMessageCallbackW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam,
- SENDASYNCPROC lpResultCallBack,
- DWORD dwData);
- #ifdef UNICODE
- #define SendMessageCallback SendMessageCallbackW
- #else
- #define SendMessageCallback SendMessageCallbackA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI long WINAPI BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM);
- //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
-
- //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
-
- typedef struct tagBROADCASTSYSMSG
- {
- UINT uiMessage;
- WPARAM wParam;
- LPARAM lParam;
- } BROADCASTSYSMSG;
- typedef BROADCASTSYSMSG FAR *LPBROADCASTSYSMSG;
-
- #define DBWF_LPARAMPOINTER 0x8000
-
- #define BROADCAST_QUERY_DENY 0x424D5144 // Return this value to deny a query.
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- PostMessageA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- PostMessageW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define PostMessage PostMessageW
- #else
- #define PostMessage PostMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- PostThreadMessageA(
- DWORD idThread,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- PostThreadMessageW(
- DWORD idThread,
- UINT Msg,
- WPARAM wParam,
- 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)
-
- WINUSERAPI
- BOOL
- WINAPI
- AttachThreadInput(
- DWORD idAttach,
- DWORD idAttachTo,
- BOOL fAttach);
-
- WINUSERAPI
- BOOL
- WINAPI
- ReplyMessage(
- LRESULT lResult);
-
- WINUSERAPI
- BOOL
- WINAPI
- WaitMessage(
- VOID);
-
- WINUSERAPI
- DWORD
- WINAPI
- WaitForInputIdle(
- HANDLE hProcess,
- DWORD dwMilliseconds);
-
- WINUSERAPI
- LRESULT
- WINAPI
- DefWindowProcA(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefWindowProcW(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefWindowProc DefWindowProcW
- #else
- #define DefWindowProc DefWindowProcA
- #endif // !UNICODE
-
- WINUSERAPI
- VOID
- WINAPI
- PostQuitMessage(
- int nExitCode);
-
- #ifdef STRICT
-
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcA(
- WNDPROC lpPrevWndFunc,
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcW(
- WNDPROC lpPrevWndFunc,
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define CallWindowProc CallWindowProcW
- #else
- #define CallWindowProc CallWindowProcA
- #endif // !UNICODE
-
- #else /* !STRICT */
-
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcA(
- FARPROC lpPrevWndFunc,
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- CallWindowProcW(
- FARPROC lpPrevWndFunc,
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define CallWindowProc CallWindowProcW
- #else
- #define CallWindowProc CallWindowProcA
- #endif // !UNICODE
-
- #endif /* !STRICT */
-
- WINUSERAPI
- BOOL
- WINAPI
- InSendMessage(
- VOID);
-
- WINUSERAPI
- UINT
- WINAPI
- GetDoubleClickTime(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetDoubleClickTime(
- UINT);
-
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassA(
- CONST WNDCLASSA *lpWndClass);
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassW(
- CONST WNDCLASSW *lpWndClass);
- #ifdef UNICODE
- #define RegisterClass RegisterClassW
- #else
- #define RegisterClass RegisterClassA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterClassA(
- LPCSTR lpClassName,
- HINSTANCE hInstance);
- WINUSERAPI
- BOOL
- WINAPI
- UnregisterClassW(
- LPCWSTR lpClassName,
- HINSTANCE hInstance);
- #ifdef UNICODE
- #define UnregisterClass UnregisterClassW
- #else
- #define UnregisterClass UnregisterClassA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoA(
- HINSTANCE hInstance ,
- LPCSTR lpClassName,
- LPWNDCLASSA lpWndClass);
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoW(
- HINSTANCE hInstance ,
- LPCWSTR lpClassName,
- LPWNDCLASSW lpWndClass);
- #ifdef UNICODE
- #define GetClassInfo GetClassInfoW
- #else
- #define GetClassInfo GetClassInfoA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassExA(CONST WNDCLASSEXA *);
- WINUSERAPI
- ATOM
- WINAPI
- RegisterClassExW(CONST WNDCLASSEXW *);
- #ifdef UNICODE
- #define RegisterClassEx RegisterClassExW
- #else
- #define RegisterClassEx RegisterClassExA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEXA);
- WINUSERAPI
- BOOL
- WINAPI
- GetClassInfoExW(HINSTANCE, LPCWSTR, 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)
-
- WINUSERAPI
- HWND
- WINAPI
- CreateWindowExA(
- DWORD dwExStyle,
- LPCSTR lpClassName,
- LPCSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent ,
- HMENU hMenu,
- HINSTANCE hInstance,
- LPVOID lpParam);
- WINUSERAPI
- HWND
- WINAPI
- CreateWindowExW(
- DWORD dwExStyle,
- LPCWSTR lpClassName,
- LPCWSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent ,
- HMENU hMenu,
- HINSTANCE hInstance,
- 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(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsMenu(
- HMENU hMenu);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsChild(
- HWND hWndParent,
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyWindow(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- ShowWindow(
- HWND hWnd,
- int nCmdShow);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- BOOL
- WINAPI
- ShowWindowAsync(
- HWND hWnd,
- int nCmdShow);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- FlashWindow(
- HWND hWnd,
- BOOL bInvert);
-
- WINUSERAPI
- BOOL
- WINAPI
- ShowOwnedPopups(
- HWND hWnd,
- BOOL fShow);
-
- WINUSERAPI
- BOOL
- WINAPI
- OpenIcon(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- CloseWindow(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- MoveWindow(
- HWND hWnd,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- BOOL bRepaint);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowPos(
- HWND hWnd,
- HWND hWndInsertAfter ,
- int X,
- int Y,
- int cx,
- int cy,
- UINT uFlags);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetWindowPlacement(
- HWND hWnd,
- WINDOWPLACEMENT *lpwndpl);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowPlacement(
- HWND hWnd,
- CONST WINDOWPLACEMENT *lpwndpl);
-
- #ifndef NODEFERWINDOWPOS
-
- WINUSERAPI
- HDWP
- WINAPI
- BeginDeferWindowPos(
- int nNumWindows);
-
- WINUSERAPI
- HDWP
- WINAPI
- DeferWindowPos(
- HDWP hWinPosInfo,
- HWND hWnd,
- HWND hWndInsertAfter ,
- int x,
- int y,
- int cx,
- int cy,
- UINT uFlags);
-
- WINUSERAPI
- BOOL
- WINAPI
- EndDeferWindowPos(
- HDWP hWinPosInfo);
-
- #endif /* !NODEFERWINDOWPOS */
-
- WINUSERAPI
- BOOL
- WINAPI
- IsWindowVisible(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsIconic(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- AnyPopup(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- BringWindowToTop(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsZoomed(
- 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
- #endif /* WINVER >= 0x0400 */
-
- #define HWND_TOP ((HWND)0)
- #define HWND_BOTTOM ((HWND)1)
- #define HWND_TOPMOST ((HWND)-1)
- #define HWND_NOTOPMOST ((HWND)-2)
-
- #ifndef NOCTLMGR
-
- /*
- * WARNING:
- * The following structures must NOT be DWORD padded because they are
- * followed by strings, etc that do not have to be DWORD aligned.
- */
- #include <pshpack2.h>
-
- /*
- * original NT 32 bit dialog template:
- */
- typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- WORD cdit;
- short x;
- short y;
- short cx;
- short cy;
- } DLGTEMPLATE;
- typedef DLGTEMPLATE *LPDLGTEMPLATEA;
- typedef DLGTEMPLATE *LPDLGTEMPLATEW;
- #ifdef UNICODE
- typedef LPDLGTEMPLATEW LPDLGTEMPLATE;
- #else
- typedef LPDLGTEMPLATEA LPDLGTEMPLATE;
- #endif // UNICODE
- typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;
- typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;
- #ifdef UNICODE
- typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE;
- #else
- typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;
- #endif // UNICODE
-
- /*
- * 32 bit Dialog item template.
- */
- typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- short x;
- short y;
- short cx;
- short cy;
- WORD id;
- } DLGITEMTEMPLATE;
- typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
- typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
- #ifdef UNICODE
- typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE;
- #else
- typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE;
- #endif // UNICODE
- typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
- typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
- #ifdef UNICODE
- typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE;
- #else
- typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE;
- #endif // UNICODE
-
- #include <poppack.h> /* Resume normal packing */
-
- WINUSERAPI
- HWND
- WINAPI
- CreateDialogParamA(
- HINSTANCE hInstance,
- LPCSTR lpTemplateName,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- WINUSERAPI
- HWND
- WINAPI
- CreateDialogParamW(
- HINSTANCE hInstance,
- LPCWSTR lpTemplateName,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- #ifdef UNICODE
- #define CreateDialogParam CreateDialogParamW
- #else
- #define CreateDialogParam CreateDialogParamA
- #endif // !UNICODE
-
- WINUSERAPI
- HWND
- WINAPI
- CreateDialogIndirectParamA(
- HINSTANCE hInstance,
- LPCDLGTEMPLATEA lpTemplate,
- HWND hWndParent,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- WINUSERAPI
- HWND
- WINAPI
- CreateDialogIndirectParamW(
- HINSTANCE hInstance,
- LPCDLGTEMPLATEW lpTemplate,
- HWND hWndParent,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- #ifdef UNICODE
- #define CreateDialogIndirectParam CreateDialogIndirectParamW
- #else
- #define CreateDialogIndirectParam CreateDialogIndirectParamA
- #endif // !UNICODE
-
- #define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \
- CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
- #define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \
- CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
- #ifdef UNICODE
- #define CreateDialog CreateDialogW
- #else
- #define CreateDialog CreateDialogA
- #endif // !UNICODE
-
- #define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #ifdef UNICODE
- #define CreateDialogIndirect CreateDialogIndirectW
- #else
- #define CreateDialogIndirect CreateDialogIndirectA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- DialogBoxParamA(
- HINSTANCE hInstance,
- LPCSTR lpTemplateName,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- WINUSERAPI
- int
- WINAPI
- DialogBoxParamW(
- HINSTANCE hInstance,
- LPCWSTR lpTemplateName,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- #ifdef UNICODE
- #define DialogBoxParam DialogBoxParamW
- #else
- #define DialogBoxParam DialogBoxParamA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- DialogBoxIndirectParamA(
- HINSTANCE hInstance,
- LPCDLGTEMPLATEA hDialogTemplate,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- WINUSERAPI
- int
- WINAPI
- DialogBoxIndirectParamW(
- HINSTANCE hInstance,
- LPCDLGTEMPLATEW hDialogTemplate,
- HWND hWndParent ,
- DLGPROC lpDialogFunc,
- LPARAM dwInitParam);
- #ifdef UNICODE
- #define DialogBoxIndirectParam DialogBoxIndirectParamW
- #else
- #define DialogBoxIndirectParam DialogBoxIndirectParamA
- #endif // !UNICODE
-
- #define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #ifdef UNICODE
- #define DialogBox DialogBoxW
- #else
- #define DialogBox DialogBoxA
- #endif // !UNICODE
-
- #define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
- DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
- #ifdef UNICODE
- #define DialogBoxIndirect DialogBoxIndirectW
- #else
- #define DialogBoxIndirect DialogBoxIndirectA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- EndDialog(
- HWND hDlg,
- int nResult);
-
- WINUSERAPI
- HWND
- WINAPI
- GetDlgItem(
- HWND hDlg,
- int nIDDlgItem);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetDlgItemInt(
- HWND hDlg,
- int nIDDlgItem,
- UINT uValue,
- BOOL bSigned);
-
- WINUSERAPI
- UINT
- WINAPI
- GetDlgItemInt(
- HWND hDlg,
- int nIDDlgItem,
- BOOL *lpTranslated,
- BOOL bSigned);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetDlgItemTextA(
- HWND hDlg,
- int nIDDlgItem,
- LPCSTR lpString);
- WINUSERAPI
- BOOL
- WINAPI
- SetDlgItemTextW(
- HWND hDlg,
- int nIDDlgItem,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define SetDlgItemText SetDlgItemTextW
- #else
- #define SetDlgItemText SetDlgItemTextA
- #endif // !UNICODE
-
- WINUSERAPI
- UINT
- WINAPI
- GetDlgItemTextA(
- HWND hDlg,
- int nIDDlgItem,
- LPSTR lpString,
- int nMaxCount);
- WINUSERAPI
- UINT
- WINAPI
- GetDlgItemTextW(
- HWND hDlg,
- int nIDDlgItem,
- LPWSTR lpString,
- int nMaxCount);
- #ifdef UNICODE
- #define GetDlgItemText GetDlgItemTextW
- #else
- #define GetDlgItemText GetDlgItemTextA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- CheckDlgButton(
- HWND hDlg,
- int nIDButton,
- UINT uCheck);
-
- WINUSERAPI
- BOOL
- WINAPI
- CheckRadioButton(
- HWND hDlg,
- int nIDFirstButton,
- int nIDLastButton,
- int nIDCheckButton);
-
- WINUSERAPI
- UINT
- WINAPI
- IsDlgButtonChecked(
- HWND hDlg,
- int nIDButton);
-
- WINUSERAPI
- LONG
- WINAPI
- SendDlgItemMessageA(
- HWND hDlg,
- int nIDDlgItem,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LONG
- WINAPI
- SendDlgItemMessageW(
- HWND hDlg,
- int nIDDlgItem,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define SendDlgItemMessage SendDlgItemMessageW
- #else
- #define SendDlgItemMessage SendDlgItemMessageA
- #endif // !UNICODE
-
- WINUSERAPI
- HWND
- WINAPI
- GetNextDlgGroupItem(
- HWND hDlg,
- HWND hCtl,
- BOOL bPrevious);
-
- WINUSERAPI
- HWND
- WINAPI
- GetNextDlgTabItem(
- HWND hDlg,
- HWND hCtl,
- BOOL bPrevious);
-
- WINUSERAPI
- int
- WINAPI
- GetDlgCtrlID(
- HWND hWnd);
-
- WINUSERAPI
- long
- WINAPI
- GetDialogBaseUnits(VOID);
-
- WINUSERAPI
- LRESULT
- WINAPI
- DefDlgProcA(
- HWND hDlg,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefDlgProcW(
- HWND hDlg,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefDlgProc DefDlgProcW
- #else
- #define DefDlgProc DefDlgProcA
- #endif // !UNICODE
-
- /*
- * Window extra byted needed for private dialog classes.
- */
- #define DLGWINDOWEXTRA 30
-
- #endif /* !NOCTLMGR */
-
- #ifndef NOMSG
-
- WINUSERAPI
- BOOL
- WINAPI
- CallMsgFilterA(
- LPMSG lpMsg,
- int nCode);
- WINUSERAPI
- BOOL
- WINAPI
- CallMsgFilterW(
- LPMSG lpMsg,
- int nCode);
- #ifdef UNICODE
- #define CallMsgFilter CallMsgFilterW
- #else
- #define CallMsgFilter CallMsgFilterA
- #endif // !UNICODE
-
- #endif /* !NOMSG */
-
- #ifndef NOCLIPBOARD
-
- /*
- * Clipboard Manager Functions
- */
-
- WINUSERAPI
- BOOL
- WINAPI
- OpenClipboard(
- HWND hWndNewOwner);
-
- WINUSERAPI
- BOOL
- WINAPI
- CloseClipboard(
- VOID);
-
- WINUSERAPI
- HWND
- WINAPI
- GetClipboardOwner(
- VOID);
-
- WINUSERAPI
- HWND
- WINAPI
- SetClipboardViewer(
- HWND hWndNewViewer);
-
- WINUSERAPI
- HWND
- WINAPI
- GetClipboardViewer(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- ChangeClipboardChain(
- HWND hWndRemove,
- HWND hWndNewNext);
-
- WINUSERAPI
- HANDLE
- WINAPI
- SetClipboardData(
- UINT uFormat,
- HANDLE hMem);
-
- WINUSERAPI
- HANDLE
- WINAPI
- GetClipboardData(
- UINT uFormat);
-
- WINUSERAPI
- UINT
- WINAPI
- RegisterClipboardFormatA(
- LPCSTR lpszFormat);
- WINUSERAPI
- UINT
- WINAPI
- RegisterClipboardFormatW(
- LPCWSTR lpszFormat);
- #ifdef UNICODE
- #define RegisterClipboardFormat RegisterClipboardFormatW
- #else
- #define RegisterClipboardFormat RegisterClipboardFormatA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- CountClipboardFormats(
- VOID);
-
- WINUSERAPI
- UINT
- WINAPI
- EnumClipboardFormats(
- UINT format);
-
- WINUSERAPI
- int
- WINAPI
- GetClipboardFormatNameA(
- UINT format,
- LPSTR lpszFormatName,
- int cchMaxCount);
- WINUSERAPI
- int
- WINAPI
- GetClipboardFormatNameW(
- UINT format,
- LPWSTR lpszFormatName,
- int cchMaxCount);
- #ifdef UNICODE
- #define GetClipboardFormatName GetClipboardFormatNameW
- #else
- #define GetClipboardFormatName GetClipboardFormatNameA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- EmptyClipboard(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsClipboardFormatAvailable(
- UINT format);
-
- WINUSERAPI
- int
- WINAPI
- GetPriorityClipboardFormat(
- UINT *paFormatPriorityList,
- int cFormats);
-
- WINUSERAPI
- HWND
- WINAPI
- GetOpenClipboardWindow(
- VOID);
-
- #endif /* !NOCLIPBOARD */
-
- /*
- * Character Translation Routines
- */
-
- WINUSERAPI
- BOOL
- WINAPI
- CharToOemA(
- LPCSTR lpszSrc,
- LPSTR lpszDst);
- WINUSERAPI
- BOOL
- WINAPI
- CharToOemW(
- LPCWSTR lpszSrc,
- LPSTR lpszDst);
- #ifdef UNICODE
- #define CharToOem CharToOemW
- #else
- #define CharToOem CharToOemA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- OemToCharA(
- LPCSTR lpszSrc,
- LPSTR lpszDst);
- WINUSERAPI
- BOOL
- WINAPI
- OemToCharW(
- LPCSTR lpszSrc,
- LPWSTR lpszDst);
- #ifdef UNICODE
- #define OemToChar OemToCharW
- #else
- #define OemToChar OemToCharA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- CharToOemBuffA(
- LPCSTR lpszSrc,
- LPSTR lpszDst,
- DWORD cchDstLength);
- WINUSERAPI
- BOOL
- WINAPI
- CharToOemBuffW(
- LPCWSTR lpszSrc,
- LPSTR lpszDst,
- DWORD cchDstLength);
- #ifdef UNICODE
- #define CharToOemBuff CharToOemBuffW
- #else
- #define CharToOemBuff CharToOemBuffA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- OemToCharBuffA(
- LPCSTR lpszSrc,
- LPSTR lpszDst,
- DWORD cchDstLength);
- WINUSERAPI
- BOOL
- WINAPI
- OemToCharBuffW(
- LPCSTR lpszSrc,
- LPWSTR lpszDst,
- DWORD cchDstLength);
- #ifdef UNICODE
- #define OemToCharBuff OemToCharBuffW
- #else
- #define OemToCharBuff OemToCharBuffA
- #endif // !UNICODE
-
- WINUSERAPI
- LPSTR
- WINAPI
- CharUpperA(
- LPSTR lpsz);
- WINUSERAPI
- LPWSTR
- WINAPI
- CharUpperW(
- LPWSTR lpsz);
- #ifdef UNICODE
- #define CharUpper CharUpperW
- #else
- #define CharUpper CharUpperA
- #endif // !UNICODE
-
- WINUSERAPI
- DWORD
- WINAPI
- CharUpperBuffA(
- LPSTR lpsz,
- DWORD cchLength);
- WINUSERAPI
- DWORD
- WINAPI
- CharUpperBuffW(
- LPWSTR lpsz,
- DWORD cchLength);
- #ifdef UNICODE
- #define CharUpperBuff CharUpperBuffW
- #else
- #define CharUpperBuff CharUpperBuffA
- #endif // !UNICODE
-
- WINUSERAPI
- LPSTR
- WINAPI
- CharLowerA(
- LPSTR lpsz);
- WINUSERAPI
- LPWSTR
- WINAPI
- CharLowerW(
- LPWSTR lpsz);
- #ifdef UNICODE
- #define CharLower CharLowerW
- #else
- #define CharLower CharLowerA
- #endif // !UNICODE
-
- WINUSERAPI
- DWORD
- WINAPI
- CharLowerBuffA(
- LPSTR lpsz,
- DWORD cchLength);
- WINUSERAPI
- DWORD
- WINAPI
- CharLowerBuffW(
- LPWSTR lpsz,
- DWORD cchLength);
- #ifdef UNICODE
- #define CharLowerBuff CharLowerBuffW
- #else
- #define CharLowerBuff CharLowerBuffA
- #endif // !UNICODE
-
- WINUSERAPI
- LPSTR
- WINAPI
- CharNextA(
- LPCSTR lpsz);
- WINUSERAPI
- LPWSTR
- WINAPI
- CharNextW(
- LPCWSTR lpsz);
- #ifdef UNICODE
- #define CharNext CharNextW
- #else
- #define CharNext CharNextA
- #endif // !UNICODE
-
- WINUSERAPI
- LPSTR
- WINAPI
- CharPrevA(
- LPCSTR lpszStart,
- LPCSTR lpszCurrent);
- WINUSERAPI
- LPWSTR
- WINAPI
- CharPrevW(
- LPCWSTR lpszStart,
- LPCWSTR lpszCurrent);
- #ifdef UNICODE
- #define CharPrev CharPrevW
- #else
- #define CharPrev CharPrevA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- LPSTR
- WINAPI
- CharNextExA(
- WORD CodePage,
- LPCSTR lpCurrentChar,
- DWORD dwFlags);
-
- WINUSERAPI
- LPSTR
- WINAPI
- CharPrevExA(
- WORD CodePage,
- LPCSTR lpStart,
- LPCSTR lpCurrentChar,
- DWORD dwFlags);
- #endif /* WINVER >= 0x0400 */
-
- /*
- * Compatibility defines for character translation routines
- */
- #define AnsiToOem CharToOemA
- #define OemToAnsi OemToCharA
- #define AnsiToOemBuff CharToOemBuffA
- #define OemToAnsiBuff OemToCharBuffA
- #define AnsiUpper CharUpperA
- #define AnsiUpperBuff CharUpperBuffA
- #define AnsiLower CharLowerA
- #define AnsiLowerBuff CharLowerBuffA
- #define AnsiNext CharNextA
- #define AnsiPrev CharPrevA
-
- #ifndef NOLANGUAGE
- /*
- * Language dependent Routines
- */
-
- WINUSERAPI
- BOOL
- WINAPI
- IsCharAlphaA(
- CHAR ch);
- WINUSERAPI
- BOOL
- WINAPI
- IsCharAlphaW(
- WCHAR ch);
- #ifdef UNICODE
- #define IsCharAlpha IsCharAlphaW
- #else
- #define IsCharAlpha IsCharAlphaA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- IsCharAlphaNumericA(
- CHAR ch);
- WINUSERAPI
- BOOL
- WINAPI
- IsCharAlphaNumericW(
- WCHAR ch);
- #ifdef UNICODE
- #define IsCharAlphaNumeric IsCharAlphaNumericW
- #else
- #define IsCharAlphaNumeric IsCharAlphaNumericA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- IsCharUpperA(
- CHAR ch);
- WINUSERAPI
- BOOL
- WINAPI
- IsCharUpperW(
- WCHAR ch);
- #ifdef UNICODE
- #define IsCharUpper IsCharUpperW
- #else
- #define IsCharUpper IsCharUpperA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- IsCharLowerA(
- CHAR ch);
- WINUSERAPI
- BOOL
- WINAPI
- IsCharLowerW(
- WCHAR ch);
- #ifdef UNICODE
- #define IsCharLower IsCharLowerW
- #else
- #define IsCharLower IsCharLowerA
- #endif // !UNICODE
-
- #endif /* !NOLANGUAGE */
-
- WINUSERAPI
- HWND
- WINAPI
- SetFocus(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- GetActiveWindow(
- VOID);
-
- WINUSERAPI
- HWND
- WINAPI
- GetFocus(
- VOID);
-
- WINUSERAPI
- UINT
- WINAPI
- GetKBCodePage(
- VOID);
-
- WINUSERAPI
- SHORT
- WINAPI
- GetKeyState(
- int nVirtKey);
-
- WINUSERAPI
- SHORT
- WINAPI
- GetAsyncKeyState(
- int vKey);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetKeyboardState(
- PBYTE lpKeyState);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetKeyboardState(
- LPBYTE lpKeyState);
-
- WINUSERAPI
- int
- WINAPI
- GetKeyNameTextA(
- LONG lParam,
- LPSTR lpString,
- int nSize
- );
- WINUSERAPI
- int
- WINAPI
- GetKeyNameTextW(
- LONG lParam,
- LPWSTR lpString,
- int nSize
- );
- #ifdef UNICODE
- #define GetKeyNameText GetKeyNameTextW
- #else
- #define GetKeyNameText GetKeyNameTextA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- GetKeyboardType(
- int nTypeFlag);
-
- WINUSERAPI
- int
- WINAPI
- ToAscii(
- UINT uVirtKey,
- UINT uScanCode,
- PBYTE lpKeyState,
- LPWORD lpChar,
- UINT uFlags);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- ToAsciiEx(
- UINT uVirtKey,
- UINT uScanCode,
- PBYTE lpKeyState,
- LPWORD lpChar,
- UINT uFlags,
- HKL dwhkl);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- int
- WINAPI
- ToUnicode(
- UINT wVirtKey,
- UINT wScanCode,
- PBYTE lpKeyState,
- LPWSTR pwszBuff,
- int cchBuff,
- UINT wFlags);
-
- WINUSERAPI
- DWORD
- WINAPI
- OemKeyScan(
- WORD wOemChar);
-
- WINUSERAPI
- SHORT
- WINAPI
- VkKeyScanA(
- CHAR ch);
- WINUSERAPI
- SHORT
- WINAPI
- VkKeyScanW(
- WCHAR ch);
- #ifdef UNICODE
- #define VkKeyScan VkKeyScanW
- #else
- #define VkKeyScan VkKeyScanA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- SHORT
- WINAPI VkKeyScanExA(
- CHAR ch,
- HKL dwhkl);
- WINUSERAPI
- SHORT
- WINAPI VkKeyScanExW(
- WCHAR ch,
- HKL dwhkl);
- #ifdef UNICODE
- #define VkKeyScanEx VkKeyScanExW
- #else
- #define VkKeyScanEx VkKeyScanExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- #define KEYEVENTF_EXTENDEDKEY 0x0001
- #define KEYEVENTF_KEYUP 0x0002
-
- WINUSERAPI
- VOID
- WINAPI
- keybd_event(
- BYTE bVk,
- BYTE bScan,
- DWORD dwFlags,
- DWORD dwExtraInfo);
-
- #define MOUSEEVENTF_MOVE 0x0001 /* mouse move */
- #define MOUSEEVENTF_LEFTDOWN 0x0002 /* left button down */
- #define MOUSEEVENTF_LEFTUP 0x0004 /* left button up */
- #define MOUSEEVENTF_RIGHTDOWN 0x0008 /* right button down */
- #define MOUSEEVENTF_RIGHTUP 0x0010 /* right button up */
- #define MOUSEEVENTF_MIDDLEDOWN 0x0020 /* middle button down */
- #define MOUSEEVENTF_MIDDLEUP 0x0040 /* middle button up */
- #define MOUSEEVENTF_ABSOLUTE 0x8000 /* absolute move */
-
- WINUSERAPI
- VOID
- WINAPI
- mouse_event(
- DWORD dwFlags,
- DWORD dx,
- DWORD dy,
- DWORD cButtons,
- DWORD dwExtraInfo);
-
- WINUSERAPI
- UINT
- WINAPI
- MapVirtualKeyA(
- UINT uCode,
- UINT uMapType);
- WINUSERAPI
- UINT
- WINAPI
- MapVirtualKeyW(
- UINT uCode,
- UINT uMapType);
- #ifdef UNICODE
- #define MapVirtualKey MapVirtualKeyW
- #else
- #define MapVirtualKey MapVirtualKeyA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- UINT
- WINAPI
- MapVirtualKeyExA(
- UINT uCode,
- UINT uMapType,
- HKL dwhkl);
- WINUSERAPI
- UINT
- WINAPI
- MapVirtualKeyExW(
- UINT uCode,
- UINT uMapType,
- HKL dwhkl);
- #ifdef UNICODE
- #define MapVirtualKeyEx MapVirtualKeyExW
- #else
- #define MapVirtualKeyEx MapVirtualKeyExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- GetInputState(
- VOID);
-
- WINUSERAPI
- DWORD
- WINAPI
- GetQueueStatus(
- UINT flags);
-
- WINUSERAPI
- HWND
- WINAPI
- GetCapture(
- VOID);
-
- WINUSERAPI
- HWND
- WINAPI
- SetCapture(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- ReleaseCapture(
- VOID);
-
- WINUSERAPI
- DWORD
- WINAPI
- MsgWaitForMultipleObjects(
- DWORD nCount,
- LPHANDLE pHandles,
- BOOL fWaitAll,
- DWORD dwMilliseconds,
- DWORD dwWakeMask);
-
- /*
- * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects()
- */
- #define QS_KEY 0x0001
- #define QS_MOUSEMOVE 0x0002
- #define QS_MOUSEBUTTON 0x0004
- #define QS_POSTMESSAGE 0x0008
- #define QS_TIMER 0x0010
- #define QS_PAINT 0x0020
- #define QS_SENDMESSAGE 0x0040
- #define QS_HOTKEY 0x0080
-
- #define QS_MOUSE (QS_MOUSEMOVE | \
- QS_MOUSEBUTTON)
-
- #define QS_INPUT (QS_MOUSE | \
- QS_KEY)
-
- #define QS_ALLEVENTS (QS_INPUT | \
- QS_POSTMESSAGE | \
- QS_TIMER | \
- QS_PAINT | \
- QS_HOTKEY)
-
- #define QS_ALLINPUT (QS_INPUT | \
- QS_POSTMESSAGE | \
- QS_TIMER | \
- QS_PAINT | \
- QS_HOTKEY | \
- QS_SENDMESSAGE)
-
- /*
- * Windows Functions
- */
-
- WINUSERAPI
- UINT
- WINAPI
- SetTimer(
- HWND hWnd ,
- UINT nIDEvent,
- UINT uElapse,
- TIMERPROC lpTimerFunc);
-
- WINUSERAPI
- BOOL
- WINAPI
- KillTimer(
- HWND hWnd,
- UINT uIDEvent);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsWindowUnicode(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnableWindow(
- HWND hWnd,
- BOOL bEnable);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsWindowEnabled(
- HWND hWnd);
-
- WINUSERAPI
- HACCEL
- WINAPI
- LoadAcceleratorsA(
- HINSTANCE hInstance,
- LPCSTR lpTableName);
- WINUSERAPI
- HACCEL
- WINAPI
- LoadAcceleratorsW(
- HINSTANCE hInstance,
- LPCWSTR lpTableName);
- #ifdef UNICODE
- #define LoadAccelerators LoadAcceleratorsW
- #else
- #define LoadAccelerators LoadAcceleratorsA
- #endif // !UNICODE
-
- WINUSERAPI
- HACCEL
- WINAPI
- CreateAcceleratorTableA(
- LPACCEL, int);
- WINUSERAPI
- HACCEL
- WINAPI
- CreateAcceleratorTableW(
- LPACCEL, int);
- #ifdef UNICODE
- #define CreateAcceleratorTable CreateAcceleratorTableW
- #else
- #define CreateAcceleratorTable CreateAcceleratorTableA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyAcceleratorTable(
- HACCEL hAccel);
-
- WINUSERAPI
- int
- WINAPI
- CopyAcceleratorTableA(
- HACCEL hAccelSrc,
- LPACCEL lpAccelDst,
- int cAccelEntries);
- WINUSERAPI
- int
- WINAPI
- CopyAcceleratorTableW(
- HACCEL hAccelSrc,
- LPACCEL lpAccelDst,
- int cAccelEntries);
- #ifdef UNICODE
- #define CopyAcceleratorTable CopyAcceleratorTableW
- #else
- #define CopyAcceleratorTable CopyAcceleratorTableA
- #endif // !UNICODE
-
- #ifndef NOMSG
-
- WINUSERAPI
- int
- WINAPI
- TranslateAcceleratorA(
- HWND hWnd,
- HACCEL hAccTable,
- LPMSG lpMsg);
- WINUSERAPI
- int
- WINAPI
- TranslateAcceleratorW(
- HWND hWnd,
- HACCEL hAccTable,
- LPMSG lpMsg);
- #ifdef UNICODE
- #define TranslateAccelerator TranslateAcceleratorW
- #else
- #define TranslateAccelerator TranslateAcceleratorA
- #endif // !UNICODE
-
- #endif /* !NOMSG */
-
- #ifndef NOSYSMETRICS
-
- /*
- * GetSystemMetrics() codes
- */
- #define SM_CXSCREEN 0
- #define SM_CYSCREEN 1
- #define SM_CXVSCROLL 2
- #define SM_CYHSCROLL 3
- #define SM_CYCAPTION 4
- #define SM_CXBORDER 5
- #define SM_CYBORDER 6
- #define SM_CXDLGFRAME 7
- #define SM_CYDLGFRAME 8
- #define SM_CYVTHUMB 9
- #define SM_CXHTHUMB 10
- #define SM_CXICON 11
- #define SM_CYICON 12
- #define SM_CXCURSOR 13
- #define SM_CYCURSOR 14
- #define SM_CYMENU 15
- #define SM_CXFULLSCREEN 16
- #define SM_CYFULLSCREEN 17
- #define SM_CYKANJIWINDOW 18
- #define SM_MOUSEPRESENT 19
- #define SM_CYVSCROLL 20
- #define SM_CXHSCROLL 21
- #define SM_DEBUG 22
- #define SM_SWAPBUTTON 23
- #define SM_RESERVED1 24
- #define SM_RESERVED2 25
- #define SM_RESERVED3 26
- #define SM_RESERVED4 27
- #define SM_CXMIN 28
- #define SM_CYMIN 29
- #define SM_CXSIZE 30
- #define SM_CYSIZE 31
- #define SM_CXFRAME 32
- #define SM_CYFRAME 33
- #define SM_CXMINTRACK 34
- #define SM_CYMINTRACK 35
- #define SM_CXDOUBLECLK 36
- #define SM_CYDOUBLECLK 37
- #define SM_CXICONSPACING 38
- #define SM_CYICONSPACING 39
- #define SM_MENUDROPALIGNMENT 40
- #define SM_PENWINDOWS 41
- #define SM_DBCSENABLED 42
- #define SM_CMOUSEBUTTONS 43
-
- #if(WINVER >= 0x0400)
- #define SM_CXFIXEDFRAME SM_CXDLGFRAME /* ;win40 name change */
- #define SM_CYFIXEDFRAME SM_CYDLGFRAME /* ;win40 name change */
- #define SM_CXSIZEFRAME SM_CXFRAME /* ;win40 name change */
- #define SM_CYSIZEFRAME SM_CYFRAME /* ;win40 name change */
-
- #define SM_SECURE 44
- #define SM_CXEDGE 45
- #define SM_CYEDGE 46
- #define SM_CXMINSPACING 47
- #define SM_CYMINSPACING 48
- #define SM_CXSMICON 49
- #define SM_CYSMICON 50
- #define SM_CYSMCAPTION 51
- #define SM_CXSMSIZE 52
- #define SM_CYSMSIZE 53
- #define SM_CXMENUSIZE 54
- #define SM_CYMENUSIZE 55
- #define SM_ARRANGE 56
- #define SM_CXMINIMIZED 57
- #define SM_CYMINIMIZED 58
- #define SM_CXMAXTRACK 59
- #define SM_CYMAXTRACK 60
- #define SM_CXMAXIMIZED 61
- #define SM_CYMAXIMIZED 62
- #define SM_NETWORK 63
- #define SM_CLEANBOOT 67
- #define SM_CXDRAG 68
- #define SM_CYDRAG 69
- #endif /* WINVER >= 0x0400 */
- #define SM_SHOWSOUNDS 70
- #if(WINVER >= 0x0400)
- #define SM_CXMENUCHECK 71 /* Use instead of GetMenuCheckMarkDimensions()! */
- #define SM_CYMENUCHECK 72
- #define SM_SLOWMACHINE 73
- #define SM_MIDEASTENABLED 74
- #endif /* WINVER >= 0x0400 */
- #define SM_CMETRICS 75
-
- WINUSERAPI
- int
- WINAPI
- GetSystemMetrics(
- int nIndex);
-
- #endif /* !NOSYSMETRICS */
-
- #ifndef NOMENUS
-
- WINUSERAPI
- HMENU
- WINAPI
- LoadMenuA(
- HINSTANCE hInstance,
- LPCSTR lpMenuName);
- WINUSERAPI
- HMENU
- WINAPI
- LoadMenuW(
- HINSTANCE hInstance,
- LPCWSTR lpMenuName);
- #ifdef UNICODE
- #define LoadMenu LoadMenuW
- #else
- #define LoadMenu LoadMenuA
- #endif // !UNICODE
-
- WINUSERAPI
- HMENU
- WINAPI
- LoadMenuIndirectA(
- CONST MENUTEMPLATEA *lpMenuTemplate);
- WINUSERAPI
- HMENU
- WINAPI
- LoadMenuIndirectW(
- CONST MENUTEMPLATEW *lpMenuTemplate);
- #ifdef UNICODE
- #define LoadMenuIndirect LoadMenuIndirectW
- #else
- #define LoadMenuIndirect LoadMenuIndirectA
- #endif // !UNICODE
-
- WINUSERAPI
- HMENU
- WINAPI
- GetMenu(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetMenu(
- HWND hWnd,
- HMENU hMenu);
-
- WINUSERAPI
- BOOL
- WINAPI
- ChangeMenuA(
- HMENU hMenu,
- UINT cmd,
- LPCSTR lpszNewItem,
- UINT cmdInsert,
- UINT flags);
- WINUSERAPI
- BOOL
- WINAPI
- ChangeMenuW(
- HMENU hMenu,
- UINT cmd,
- LPCWSTR lpszNewItem,
- UINT cmdInsert,
- UINT flags);
- #ifdef UNICODE
- #define ChangeMenu ChangeMenuW
- #else
- #define ChangeMenu ChangeMenuA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- HiliteMenuItem(
- HWND hWnd,
- HMENU hMenu,
- UINT uIDHiliteItem,
- UINT uHilite);
-
- WINUSERAPI
- int
- WINAPI
- GetMenuStringA(
- HMENU hMenu,
- UINT uIDItem,
- LPSTR lpString,
- int nMaxCount,
- UINT uFlag);
- WINUSERAPI
- int
- WINAPI
- GetMenuStringW(
- HMENU hMenu,
- UINT uIDItem,
- LPWSTR lpString,
- int nMaxCount,
- UINT uFlag);
- #ifdef UNICODE
- #define GetMenuString GetMenuStringW
- #else
- #define GetMenuString GetMenuStringA
- #endif // !UNICODE
-
- WINUSERAPI
- UINT
- WINAPI
- GetMenuState(
- HMENU hMenu,
- UINT uId,
- UINT uFlags);
-
- WINUSERAPI
- BOOL
- WINAPI
- DrawMenuBar(
- HWND hWnd);
-
- WINUSERAPI
- HMENU
- WINAPI
- GetSystemMenu(
- HWND hWnd,
- BOOL bRevert);
-
- WINUSERAPI
- HMENU
- WINAPI
- CreateMenu(
- VOID);
-
- WINUSERAPI
- HMENU
- WINAPI
- CreatePopupMenu(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyMenu(
- HMENU hMenu);
-
- WINUSERAPI
- DWORD
- WINAPI
- CheckMenuItem(
- HMENU hMenu,
- UINT uIDCheckItem,
- UINT uCheck);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnableMenuItem(
- HMENU hMenu,
- UINT uIDEnableItem,
- UINT uEnable);
-
- WINUSERAPI
- HMENU
- WINAPI
- GetSubMenu(
- HMENU hMenu,
- int nPos);
-
- WINUSERAPI
- UINT
- WINAPI
- GetMenuItemID(
- HMENU hMenu,
- int nPos);
-
- WINUSERAPI
- int
- WINAPI
- GetMenuItemCount(
- HMENU hMenu);
-
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuA(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags,
- UINT uIDNewItem,
- LPCSTR lpNewItem
- );
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuW(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags,
- UINT uIDNewItem,
- LPCWSTR lpNewItem
- );
- #ifdef UNICODE
- #define InsertMenu InsertMenuW
- #else
- #define InsertMenu InsertMenuA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- AppendMenuA(
- HMENU hMenu,
- UINT uFlags,
- UINT uIDNewItem,
- LPCSTR lpNewItem
- );
- WINUSERAPI
- BOOL
- WINAPI
- AppendMenuW(
- HMENU hMenu,
- UINT uFlags,
- UINT uIDNewItem,
- LPCWSTR lpNewItem
- );
- #ifdef UNICODE
- #define AppendMenu AppendMenuW
- #else
- #define AppendMenu AppendMenuA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- ModifyMenuA(
- HMENU hMnu,
- UINT uPosition,
- UINT uFlags,
- UINT uIDNewItem,
- LPCSTR lpNewItem
- );
- WINUSERAPI
- BOOL
- WINAPI
- ModifyMenuW(
- HMENU hMnu,
- UINT uPosition,
- UINT uFlags,
- UINT uIDNewItem,
- LPCWSTR lpNewItem
- );
- #ifdef UNICODE
- #define ModifyMenu ModifyMenuW
- #else
- #define ModifyMenu ModifyMenuA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI RemoveMenu(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags);
-
- WINUSERAPI
- BOOL
- WINAPI
- DeleteMenu(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetMenuItemBitmaps(
- HMENU hMenu,
- UINT uPosition,
- UINT uFlags,
- HBITMAP hBitmapUnchecked,
- HBITMAP hBitmapChecked);
-
- WINUSERAPI
- LONG
- WINAPI
- GetMenuCheckMarkDimensions(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- TrackPopupMenu(
- HMENU hMenu,
- UINT uFlags,
- int x,
- int y,
- int nReserved,
- HWND hWnd,
- CONST RECT *prcRect);
-
- #if(WINVER >= 0x0400)
- /* return codes for WM_MENUCHAR */
- #define MNC_IGNORE 0
- #define MNC_CLOSE 1
- #define MNC_EXECUTE 2
- #define MNC_SELECT 3
-
- typedef struct tagTPMPARAMS
- {
- UINT cbSize; /* Size of structure */
- RECT rcExclude; /* Screen coordinates of rectangle to exclude when positioning */
- } TPMPARAMS;
- typedef TPMPARAMS FAR *LPTPMPARAMS;
-
- WINUSERAPI BOOL WINAPI TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS);
-
- #define MIIM_STATE 0x00000001
- #define MIIM_ID 0x00000002
- #define MIIM_SUBMENU 0x00000004
- #define MIIM_CHECKMARKS 0x00000008
- #define MIIM_TYPE 0x00000010
- #define MIIM_DATA 0x00000020
-
- typedef struct tagMENUITEMINFOA
- {
- UINT cbSize;
- UINT fMask;
- UINT fType; // used if MIIM_TYPE
- UINT fState; // used if MIIM_STATE
- UINT wID; // used if MIIM_ID
- HMENU hSubMenu; // used if MIIM_SUBMENU
- HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
- HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
- DWORD dwItemData; // used if MIIM_DATA
- LPSTR dwTypeData; // used if MIIM_TYPE
- UINT cch; // used if MIIM_TYPE
- } MENUITEMINFOA, FAR *LPMENUITEMINFOA;
- typedef struct tagMENUITEMINFOW
- {
- UINT cbSize;
- UINT fMask;
- UINT fType; // used if MIIM_TYPE
- UINT fState; // used if MIIM_STATE
- UINT wID; // used if MIIM_ID
- HMENU hSubMenu; // used if MIIM_SUBMENU
- HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
- HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
- DWORD dwItemData; // used if MIIM_DATA
- LPWSTR dwTypeData; // used if MIIM_TYPE
- UINT cch; // used if MIIM_TYPE
- } MENUITEMINFOW, FAR *LPMENUITEMINFOW;
- #ifdef UNICODE
- typedef MENUITEMINFOW MENUITEMINFO;
- typedef LPMENUITEMINFOW LPMENUITEMINFO;
- #else
- typedef MENUITEMINFOA MENUITEMINFO;
- typedef LPMENUITEMINFOA LPMENUITEMINFO;
- #endif // UNICODE
- typedef MENUITEMINFOA CONST FAR *LPCMENUITEMINFOA;
- typedef MENUITEMINFOW CONST FAR *LPCMENUITEMINFOW;
- #ifdef UNICODE
- typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
- #else
- typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
- #endif // UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuItemA(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuItemW(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOW
- );
- #ifdef UNICODE
- #define InsertMenuItem InsertMenuItemW
- #else
- #define InsertMenuItem InsertMenuItemA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- GetMenuItemInfoA(
- HMENU,
- UINT,
- BOOL,
- LPMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- GetMenuItemInfoW(
- HMENU,
- UINT,
- BOOL,
- LPMENUITEMINFOW
- );
- #ifdef UNICODE
- #define GetMenuItemInfo GetMenuItemInfoW
- #else
- #define GetMenuItemInfo GetMenuItemInfoA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SetMenuItemInfoA(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- SetMenuItemInfoW(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOW
- );
- #ifdef UNICODE
- #define SetMenuItemInfo SetMenuItemInfoW
- #else
- #define SetMenuItemInfo SetMenuItemInfoA
- #endif // !UNICODE
-
- #define GMDI_USEDISABLED 0x0001L
- #define GMDI_GOINTOPOPUPS 0x0002L
-
- WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags);
- WINUSERAPI BOOL WINAPI SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos);
-
- WINUSERAPI BOOL WINAPI GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem);
- WINUSERAPI int WINAPI MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen);
-
- #endif /* WINVER >= 0x0400 */
- /*
- * Flags for TrackPopupMenu
- */
- #define TPM_LEFTBUTTON 0x0000L
- #define TPM_RIGHTBUTTON 0x0002L
- #define TPM_LEFTALIGN 0x0000L
- #define TPM_CENTERALIGN 0x0004L
- #define TPM_RIGHTALIGN 0x0008L
- #if(WINVER >= 0x0400)
- #define TPM_TOPALIGN 0x0000L
- #define TPM_VCENTERALIGN 0x0010L
- #define TPM_BOTTOMALIGN 0x0020L
-
- #define TPM_HORIZONTAL 0x0000L /* Horz alignment matters more */
- #define TPM_VERTICAL 0x0040L /* Vert alignment matters more */
- #define TPM_NONOTIFY 0x0080L /* Don't send any notification msgs */
- #define TPM_RETURNCMD 0x0100L
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NOMENUS */
-
- #if(WINVER >= 0x0400)
- //
- // Drag-and-drop support
- //
-
- typedef struct tagDROPSTRUCT
- {
- HWND hwndSource;
- HWND hwndSink;
- DWORD wFmt;
- DWORD dwData;
- POINT ptDrop;
- DWORD dwControlData;
- } DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
-
- #define DOF_EXECUTABLE 0x8001
- #define DOF_DOCUMENT 0x8002
- #define DOF_DIRECTORY 0x8003
- #define DOF_MULTIPLE 0x8004
- #define DOF_PROGMAN 0x0001
- #define DOF_SHELLDATA 0x0002
-
- #define DO_DROPFILE 0x454C4946L
- #define DO_PRINTFILE 0x544E5250L
-
- WINUSERAPI
- DWORD
- WINAPI
- DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
-
- WINUSERAPI
- BOOL
- WINAPI
- DragDetect(HWND, POINT);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- DrawIcon(
- HDC hDC,
- int X,
- int Y,
- HICON hIcon);
-
- #ifndef NODRAWTEXT
-
- /*
- * DrawText() Format Flags
- */
- #define DT_TOP 0x00000000
- #define DT_LEFT 0x00000000
- #define DT_CENTER 0x00000001
- #define DT_RIGHT 0x00000002
- #define DT_VCENTER 0x00000004
- #define DT_BOTTOM 0x00000008
- #define DT_WORDBREAK 0x00000010
- #define DT_SINGLELINE 0x00000020
- #define DT_EXPANDTABS 0x00000040
- #define DT_TABSTOP 0x00000080
- #define DT_NOCLIP 0x00000100
- #define DT_EXTERNALLEADING 0x00000200
- #define DT_CALCRECT 0x00000400
- #define DT_NOPREFIX 0x00000800
- #define DT_INTERNAL 0x00001000
-
- #if(WINVER >= 0x0400)
- #define DT_EDITCONTROL 0x00002000
- #define DT_PATH_ELLIPSIS 0x00004000
- #define DT_END_ELLIPSIS 0x00008000
- #define DT_MODIFYSTRING 0x00010000
- #define DT_RTLREADING 0x00020000
- #define DT_WORD_ELLIPSIS 0x00040000
-
- typedef struct tagDRAWTEXTPARAMS
- {
- UINT cbSize;
- int iTabLength;
- int iLeftMargin;
- int iRightMargin;
- UINT uiLengthDrawn;
- } DRAWTEXTPARAMS, FAR *LPDRAWTEXTPARAMS;
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- int
- WINAPI
- DrawTextA(
- HDC hDC,
- LPCSTR lpString,
- int nCount,
- LPRECT lpRect,
- UINT uFormat);
- WINUSERAPI
- int
- WINAPI
- DrawTextW(
- HDC hDC,
- LPCWSTR lpString,
- int nCount,
- LPRECT lpRect,
- UINT uFormat);
- #ifdef UNICODE
- #define DrawText DrawTextW
- #else
- #define DrawText DrawTextA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
- WINUSERAPI
- int
- WINAPI
- DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
- #ifdef UNICODE
- #define DrawTextEx DrawTextExW
- #else
- #define DrawTextEx DrawTextExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NODRAWTEXT */
-
- WINUSERAPI
- BOOL
- WINAPI
- GrayStringA(
- HDC hDC,
- HBRUSH hBrush,
- GRAYSTRINGPROC lpOutputFunc,
- LPARAM lpData,
- int nCount,
- int X,
- int Y,
- int nWidth,
- int nHeight);
- WINUSERAPI
- BOOL
- WINAPI
- GrayStringW(
- HDC hDC,
- HBRUSH hBrush,
- GRAYSTRINGPROC lpOutputFunc,
- LPARAM lpData,
- int nCount,
- int X,
- int Y,
- int nWidth,
- int nHeight);
- #ifdef UNICODE
- #define GrayString GrayStringW
- #else
- #define GrayString GrayStringA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- /* Monolithic state-drawing routine */
- /* Image type */
- #define DST_COMPLEX 0x0000
- #define DST_TEXT 0x0001
- #define DST_PREFIXTEXT 0x0002
- #define DST_ICON 0x0003
- #define DST_BITMAP 0x0004
-
- /* State type */
- #define DSS_NORMAL 0x0000
- #define DSS_UNION 0x0010 /* Gray string appearance */
- #define DSS_DISABLED 0x0020
- #define DSS_MONO 0x0080
- #define DSS_RIGHT 0x8000
-
- WINUSERAPI BOOL WINAPI DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
- WINUSERAPI BOOL WINAPI DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
- #ifdef UNICODE
- #define DrawState DrawStateW
- #else
- #define DrawState DrawStateA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- LONG
- WINAPI
- TabbedTextOutA(
- HDC hDC,
- int X,
- int Y,
- LPCSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions,
- int nTabOrigin);
- WINUSERAPI
- LONG
- WINAPI
- TabbedTextOutW(
- HDC hDC,
- int X,
- int Y,
- LPCWSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions,
- int nTabOrigin);
- #ifdef UNICODE
- #define TabbedTextOut TabbedTextOutW
- #else
- #define TabbedTextOut TabbedTextOutA
- #endif // !UNICODE
-
- WINUSERAPI
- DWORD
- WINAPI
- GetTabbedTextExtentA(
- HDC hDC,
- LPCSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions);
- WINUSERAPI
- DWORD
- WINAPI
- GetTabbedTextExtentW(
- HDC hDC,
- LPCWSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions);
- #ifdef UNICODE
- #define GetTabbedTextExtent GetTabbedTextExtentW
- #else
- #define GetTabbedTextExtent GetTabbedTextExtentA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- UpdateWindow(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- SetActiveWindow(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- GetForegroundWindow(
- VOID);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI BOOL WINAPI PaintDesktop(HDC hdc);
-
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- SetForegroundWindow(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- WindowFromDC(
- HDC hDC);
-
- WINUSERAPI
- HDC
- WINAPI
- GetDC(
- HWND hWnd);
-
- WINUSERAPI
- HDC
- WINAPI
- GetDCEx(
- HWND hWnd ,
- HRGN hrgnClip,
- DWORD flags);
-
- /*
- * GetDCEx() flags
- */
- #define DCX_WINDOW 0x00000001L
- #define DCX_CACHE 0x00000002L
- #define DCX_NORESETATTRS 0x00000004L
- #define DCX_CLIPCHILDREN 0x00000008L
- #define DCX_CLIPSIBLINGS 0x00000010L
- #define DCX_PARENTCLIP 0x00000020L
-
- #define DCX_EXCLUDERGN 0x00000040L
- #define DCX_INTERSECTRGN 0x00000080L
-
- #define DCX_EXCLUDEUPDATE 0x00000100L
- #define DCX_INTERSECTUPDATE 0x00000200L
-
- #define DCX_LOCKWINDOWUPDATE 0x00000400L
-
- #define DCX_VALIDATE 0x00200000L
-
- WINUSERAPI
- HDC
- WINAPI
- GetWindowDC(
- HWND hWnd);
-
- WINUSERAPI
- int
- WINAPI
- ReleaseDC(
- HWND hWnd,
- HDC hDC);
-
- WINUSERAPI
- HDC
- WINAPI
- BeginPaint(
- HWND hWnd,
- LPPAINTSTRUCT lpPaint);
-
- WINUSERAPI
- BOOL
- WINAPI
- EndPaint(
- HWND hWnd,
- CONST PAINTSTRUCT *lpPaint);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetUpdateRect(
- HWND hWnd,
- LPRECT lpRect,
- BOOL bErase);
-
- WINUSERAPI
- int
- WINAPI
- GetUpdateRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bErase);
-
- WINUSERAPI
- int
- WINAPI
- SetWindowRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bRedraw);
-
- WINUSERAPI
- int
- WINAPI
- GetWindowRgn(
- HWND hWnd,
- HRGN hRgn);
-
- WINUSERAPI
- int
- WINAPI
- ExcludeUpdateRgn(
- HDC hDC,
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- InvalidateRect(
- HWND hWnd ,
- CONST RECT *lpRect,
- BOOL bErase);
-
- WINUSERAPI
- BOOL
- WINAPI
- ValidateRect(
- HWND hWnd ,
- CONST RECT *lpRect);
-
- WINUSERAPI
- BOOL
- WINAPI
- InvalidateRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bErase);
-
- WINUSERAPI
- BOOL
- WINAPI
- ValidateRgn(
- HWND hWnd,
- HRGN hRgn);
-
- WINUSERAPI
- BOOL
- WINAPI
- RedrawWindow(
- HWND hWnd,
- CONST RECT *lprcUpdate,
- HRGN hrgnUpdate,
- UINT flags);
-
- /*
- * RedrawWindow() flags
- */
- #define RDW_INVALIDATE 0x0001
- #define RDW_INTERNALPAINT 0x0002
- #define RDW_ERASE 0x0004
-
- #define RDW_VALIDATE 0x0008
- #define RDW_NOINTERNALPAINT 0x0010
- #define RDW_NOERASE 0x0020
-
- #define RDW_NOCHILDREN 0x0040
- #define RDW_ALLCHILDREN 0x0080
-
- #define RDW_UPDATENOW 0x0100
- #define RDW_ERASENOW 0x0200
-
- #define RDW_FRAME 0x0400
- #define RDW_NOFRAME 0x0800
-
- /*
- * LockWindowUpdate API
- */
-
- WINUSERAPI
- BOOL
- WINAPI
- LockWindowUpdate(
- HWND hWndLock);
-
- WINUSERAPI
- BOOL
- WINAPI
- ScrollWindow(
- HWND hWnd,
- int XAmount,
- int YAmount,
- CONST RECT *lpRect,
- CONST RECT *lpClipRect);
-
- WINUSERAPI
- BOOL
- WINAPI
- ScrollDC(
- HDC hDC,
- int dx,
- int dy,
- CONST RECT *lprcScroll,
- CONST RECT *lprcClip ,
- HRGN hrgnUpdate,
- LPRECT lprcUpdate);
-
- WINUSERAPI
- int
- WINAPI
- ScrollWindowEx(
- HWND hWnd,
- int dx,
- int dy,
- CONST RECT *prcScroll,
- CONST RECT *prcClip ,
- HRGN hrgnUpdate,
- LPRECT prcUpdate,
- UINT flags);
-
- #define SW_SCROLLCHILDREN 0x0001 /* Scroll children within *lprcScroll. */
- #define SW_INVALIDATE 0x0002 /* Invalidate after scrolling */
- #define SW_ERASE 0x0004 /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */
-
- #ifndef NOSCROLL
-
- WINUSERAPI
- int
- WINAPI
- SetScrollPos(
- HWND hWnd,
- int nBar,
- int nPos,
- BOOL bRedraw);
-
- WINUSERAPI
- int
- WINAPI
- GetScrollPos(
- HWND hWnd,
- int nBar);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetScrollRange(
- HWND hWnd,
- int nBar,
- int nMinPos,
- int nMaxPos,
- BOOL bRedraw);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetScrollRange(
- HWND hWnd,
- int nBar,
- LPINT lpMinPos,
- LPINT lpMaxPos);
-
- WINUSERAPI
- BOOL
- WINAPI
- ShowScrollBar(
- HWND hWnd,
- int wBar,
- BOOL bShow);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnableScrollBar(
- HWND hWnd,
- UINT wSBflags,
- UINT wArrows);
-
- /*
- * EnableScrollBar() flags
- */
- #define ESB_ENABLE_BOTH 0x0000
- #define ESB_DISABLE_BOTH 0x0003
-
- #define ESB_DISABLE_LEFT 0x0001
- #define ESB_DISABLE_RIGHT 0x0002
-
- #define ESB_DISABLE_UP 0x0001
- #define ESB_DISABLE_DOWN 0x0002
-
- #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
- #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
-
- #endif /* !NOSCROLL */
-
- WINUSERAPI
- BOOL
- WINAPI
- SetPropA(
- HWND hWnd,
- LPCSTR lpString,
- HANDLE hData);
- WINUSERAPI
- BOOL
- WINAPI
- SetPropW(
- HWND hWnd,
- LPCWSTR lpString,
- HANDLE hData);
- #ifdef UNICODE
- #define SetProp SetPropW
- #else
- #define SetProp SetPropA
- #endif // !UNICODE
-
- WINUSERAPI
- HANDLE
- WINAPI
- GetPropA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- HANDLE
- WINAPI
- GetPropW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define GetProp GetPropW
- #else
- #define GetProp GetPropA
- #endif // !UNICODE
-
- WINUSERAPI
- HANDLE
- WINAPI
- RemovePropA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- HANDLE
- WINAPI
- RemovePropW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define RemoveProp RemovePropW
- #else
- #define RemoveProp RemovePropA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- EnumPropsExA(
- HWND hWnd,
- PROPENUMPROCEXA lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- int
- WINAPI
- EnumPropsExW(
- HWND hWnd,
- PROPENUMPROCEXW lpEnumFunc,
- LPARAM lParam);
- #ifdef UNICODE
- #define EnumPropsEx EnumPropsExW
- #else
- #define EnumPropsEx EnumPropsExA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- EnumPropsA(
- HWND hWnd,
- PROPENUMPROCA lpEnumFunc);
- WINUSERAPI
- int
- WINAPI
- EnumPropsW(
- HWND hWnd,
- PROPENUMPROCW lpEnumFunc);
- #ifdef UNICODE
- #define EnumProps EnumPropsW
- #else
- #define EnumProps EnumPropsA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowTextA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowTextW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define SetWindowText SetWindowTextW
- #else
- #define SetWindowText SetWindowTextA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- GetWindowTextA(
- HWND hWnd,
- LPSTR lpString,
- int nMaxCount);
- WINUSERAPI
- int
- WINAPI
- GetWindowTextW(
- HWND hWnd,
- LPWSTR lpString,
- int nMaxCount);
- #ifdef UNICODE
- #define GetWindowText GetWindowTextW
- #else
- #define GetWindowText GetWindowTextA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- GetWindowTextLengthA(
- HWND hWnd);
- WINUSERAPI
- int
- WINAPI
- GetWindowTextLengthW(
- HWND hWnd);
- #ifdef UNICODE
- #define GetWindowTextLength GetWindowTextLengthW
- #else
- #define GetWindowTextLength GetWindowTextLengthA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- GetClientRect(
- HWND hWnd,
- LPRECT lpRect);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetWindowRect(
- HWND hWnd,
- LPRECT lpRect);
-
- WINUSERAPI
- BOOL
- WINAPI
- AdjustWindowRect(
- LPRECT lpRect,
- DWORD dwStyle,
- BOOL bMenu);
-
- WINUSERAPI
- BOOL
- WINAPI
- AdjustWindowRectEx(
- LPRECT lpRect,
- DWORD dwStyle,
- BOOL bMenu,
- DWORD dwExStyle);
-
- #if(WINVER >= 0x0400)
- #define HELPINFO_WINDOW 0x0001
- #define HELPINFO_MENUITEM 0x0002
- typedef struct tagHELPINFO /* Structure pointed to by lParam of WM_HELP */
- {
- UINT cbSize; /* Size in bytes of this struct */
- int iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
- int iCtrlId; /* Control Id or a Menu item Id. */
- HANDLE hItemHandle; /* hWnd of control or hMenu. */
- DWORD dwContextId; /* Context Id associated with this item */
- POINT MousePos; /* Mouse Position in screen co-ordinates */
- } HELPINFO, FAR *LPHELPINFO;
-
- WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND, DWORD);
- WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
- WINUSERAPI BOOL WINAPI SetMenuContextHelpId(HMENU, DWORD);
- WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
-
- #endif /* WINVER >= 0x0400 */
-
- #ifndef NOMB
-
- /*
- * MessageBox() Flags
- */
- #define MB_OK 0x00000000L
- #define MB_OKCANCEL 0x00000001L
- #define MB_ABORTRETRYIGNORE 0x00000002L
- #define MB_YESNOCANCEL 0x00000003L
- #define MB_YESNO 0x00000004L
- #define MB_RETRYCANCEL 0x00000005L
-
- #define MB_ICONHAND 0x00000010L
- #define MB_ICONQUESTION 0x00000020L
- #define MB_ICONEXCLAMATION 0x00000030L
- #define MB_ICONASTERISK 0x00000040L
-
- #if(WINVER >= 0x0400)
- #define MB_ICONWARNING MB_ICONEXCLAMATION
- #define MB_ICONERROR MB_ICONHAND
- #endif /* WINVER >= 0x0400 */
-
- #define MB_ICONINFORMATION MB_ICONASTERISK
- #define MB_ICONSTOP MB_ICONHAND
-
- #define MB_DEFBUTTON1 0x00000000L
- #define MB_DEFBUTTON2 0x00000100L
- #define MB_DEFBUTTON3 0x00000200L
- #if(WINVER >= 0x0400)
- #define MB_DEFBUTTON4 0x00000300L
- #endif /* WINVER >= 0x0400 */
-
- #define MB_APPLMODAL 0x00000000L
- #define MB_SYSTEMMODAL 0x00001000L
- #define MB_TASKMODAL 0x00002000L
- #if(WINVER >= 0x0400)
- #define MB_HELP 0x00004000L // Help Button
- #define MB_RIGHT 0x00080000L
- #define MB_RTLREADING 0x00100000L
- #endif /* WINVER >= 0x0400 */
-
- #define MB_NOFOCUS 0x00008000L
- #define MB_SETFOREGROUND 0x00010000L
- #define MB_DEFAULT_DESKTOP_ONLY 0x00020000L
- #define MB_SERVICE_NOTIFICATION 0x00040000L
-
- #define MB_TYPEMASK 0x0000000FL
- #if(WINVER >= 0x0400)
- #define MB_USERICON 0x00000080L
- #endif /* WINVER >= 0x0400 */
- #define MB_ICONMASK 0x000000F0L
- #define MB_DEFMASK 0x00000F00L
- #define MB_MODEMASK 0x00003000L
- #define MB_MISCMASK 0x0000C000L
-
- WINUSERAPI
- int
- WINAPI
- MessageBoxA(
- HWND hWnd ,
- LPCSTR lpText,
- LPCSTR lpCaption,
- UINT uType);
- WINUSERAPI
- int
- WINAPI
- MessageBoxW(
- HWND hWnd ,
- LPCWSTR lpText,
- LPCWSTR lpCaption,
- UINT uType);
- #ifdef UNICODE
- #define MessageBox MessageBoxW
- #else
- #define MessageBox MessageBoxA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- MessageBoxExA(
- HWND hWnd ,
- LPCSTR lpText,
- LPCSTR lpCaption,
- UINT uType,
- WORD wLanguageId);
- WINUSERAPI
- int
- WINAPI
- MessageBoxExW(
- HWND hWnd ,
- LPCWSTR lpText,
- LPCWSTR lpCaption,
- UINT uType,
- WORD wLanguageId);
- #ifdef UNICODE
- #define MessageBoxEx MessageBoxExW
- #else
- #define MessageBoxEx MessageBoxExA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- #define MB_TOPMOST 0x00040000L
-
- typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
-
- typedef struct tagMSGBOXPARAMSA
- {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpszText;
- LPCSTR lpszCaption;
- DWORD dwStyle;
- LPCSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
- } MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
- typedef struct tagMSGBOXPARAMSW
- {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpszText;
- LPCWSTR lpszCaption;
- DWORD dwStyle;
- LPCWSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
- } MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
- #ifdef UNICODE
- typedef MSGBOXPARAMSW MSGBOXPARAMS;
- typedef PMSGBOXPARAMSW PMSGBOXPARAMS;
- typedef LPMSGBOXPARAMSW LPMSGBOXPARAMS;
- #else
- typedef MSGBOXPARAMSA MSGBOXPARAMS;
- typedef PMSGBOXPARAMSA PMSGBOXPARAMS;
- typedef LPMSGBOXPARAMSA LPMSGBOXPARAMS;
- #endif // UNICODE
-
- WINUSERAPI int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
- WINUSERAPI int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
- #ifdef UNICODE
- #define MessageBoxIndirect MessageBoxIndirectW
- #else
- #define MessageBoxIndirect MessageBoxIndirectA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- MessageBeep(
- UINT uType);
-
- #endif /* !NOMB */
-
- WINUSERAPI
- int
- WINAPI
- ShowCursor(
- BOOL bShow);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetCursorPos(
- int X,
- int Y);
-
- WINUSERAPI
- HCURSOR
- WINAPI
- SetCursor(
- HCURSOR hCursor);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetCursorPos(
- LPPOINT lpPoint);
-
- WINUSERAPI
- BOOL
- WINAPI
- ClipCursor(
- CONST RECT *lpRect);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetClipCursor(
- LPRECT lpRect);
-
- WINUSERAPI
- HCURSOR
- WINAPI
- GetCursor(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- CreateCaret(
- HWND hWnd,
- HBITMAP hBitmap ,
- int nWidth,
- int nHeight);
-
- WINUSERAPI
- UINT
- WINAPI
- GetCaretBlinkTime(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetCaretBlinkTime(
- UINT uMSeconds);
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyCaret(
- VOID);
-
- WINUSERAPI
- BOOL
- WINAPI
- HideCaret(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- ShowCaret(
- HWND hWnd);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetCaretPos(
- int X,
- int Y);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetCaretPos(
- LPPOINT lpPoint);
-
- WINUSERAPI
- BOOL
- WINAPI
- ClientToScreen(
- HWND hWnd,
- LPPOINT lpPoint);
-
- WINUSERAPI
- BOOL
- WINAPI
- ScreenToClient(
- HWND hWnd,
- LPPOINT lpPoint);
-
- WINUSERAPI
- int
- WINAPI
- MapWindowPoints(
- HWND hWndFrom,
- HWND hWndTo,
- LPPOINT lpPoints,
- UINT cPoints);
-
- WINUSERAPI
- HWND
- WINAPI
- WindowFromPoint(
- POINT Point);
-
- WINUSERAPI
- HWND
- WINAPI
- ChildWindowFromPoint(
- HWND hWndParent,
- POINT Point);
-
- #if(WINVER >= 0x0400)
- #define CWP_ALL 0x0000
- #define CWP_SKIPINVISIBLE 0x0001
- #define CWP_SKIPDISABLED 0x0002
- #define CWP_SKIPTRANSPARENT 0x0004
-
- WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND, POINT, UINT);
- #endif /* WINVER >= 0x0400 */
-
- #ifndef NOCOLOR
-
- /*
- * Color Types
- */
- #define CTLCOLOR_MSGBOX 0
- #define CTLCOLOR_EDIT 1
- #define CTLCOLOR_LISTBOX 2
- #define CTLCOLOR_BTN 3
- #define CTLCOLOR_DLG 4
- #define CTLCOLOR_SCROLLBAR 5
- #define CTLCOLOR_STATIC 6
- #define CTLCOLOR_MAX 7
-
- #define COLOR_SCROLLBAR 0
- #define COLOR_BACKGROUND 1
- #define COLOR_ACTIVECAPTION 2
- #define COLOR_INACTIVECAPTION 3
- #define COLOR_MENU 4
- #define COLOR_WINDOW 5
- #define COLOR_WINDOWFRAME 6
- #define COLOR_MENUTEXT 7
- #define COLOR_WINDOWTEXT 8
- #define COLOR_CAPTIONTEXT 9
- #define COLOR_ACTIVEBORDER 10
- #define COLOR_INACTIVEBORDER 11
- #define COLOR_APPWORKSPACE 12
- #define COLOR_HIGHLIGHT 13
- #define COLOR_HIGHLIGHTTEXT 14
- #define COLOR_BTNFACE 15
- #define COLOR_BTNSHADOW 16
- #define COLOR_GRAYTEXT 17
- #define COLOR_BTNTEXT 18
- #define COLOR_INACTIVECAPTIONTEXT 19
- #define COLOR_BTNHIGHLIGHT 20
-
- #if(WINVER >= 0x0400)
- #define COLOR_3DDKSHADOW 21
- #define COLOR_3DLIGHT 22
- #define COLOR_INFOTEXT 23
- #define COLOR_INFOBK 24
-
- #define COLOR_DESKTOP COLOR_BACKGROUND
- #define COLOR_3DFACE COLOR_BTNFACE
- #define COLOR_3DSHADOW COLOR_BTNSHADOW
- #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
- #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
- #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- DWORD
- WINAPI
- GetSysColor(
- int nIndex);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HBRUSH
- WINAPI
- GetSysColorBrush(
- int nIndex);
-
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- SetSysColors(
- int cElements,
- CONST INT * lpaElements,
- CONST COLORREF * lpaRgbValues);
-
- #endif /* !NOCOLOR */
-
- WINUSERAPI
- BOOL
- WINAPI
- DrawFocusRect(
- HDC hDC,
- CONST RECT * lprc);
-
- WINUSERAPI
- int
- WINAPI
- FillRect(
- HDC hDC,
- CONST RECT *lprc,
- HBRUSH hbr);
-
- WINUSERAPI
- int
- WINAPI
- FrameRect(
- HDC hDC,
- CONST RECT *lprc,
- HBRUSH hbr);
-
- WINUSERAPI
- BOOL
- WINAPI
- InvertRect(
- HDC hDC,
- CONST RECT *lprc);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetRect(
- LPRECT lprc,
- int xLeft,
- int yTop,
- int xRight,
- int yBottom);
-
- WINUSERAPI
- BOOL
- WINAPI
- SetRectEmpty(
- LPRECT lprc);
-
- WINUSERAPI
- BOOL
- WINAPI
- CopyRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc);
-
- WINUSERAPI
- BOOL
- WINAPI
- InflateRect(
- LPRECT lprc,
- int dx,
- int dy);
-
- WINUSERAPI
- BOOL
- WINAPI
- IntersectRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
-
- WINUSERAPI
- BOOL
- WINAPI
- UnionRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
-
- WINUSERAPI
- BOOL
- WINAPI
- SubtractRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
-
- WINUSERAPI
- BOOL
- WINAPI
- OffsetRect(
- LPRECT lprc,
- int dx,
- int dy);
-
- WINUSERAPI
- BOOL
- WINAPI
- IsRectEmpty(
- CONST RECT *lprc);
-
- WINUSERAPI
- BOOL
- WINAPI
- EqualRect(
- CONST RECT *lprc1,
- CONST RECT *lprc2);
-
- WINUSERAPI
- BOOL
- WINAPI
- PtInRect(
- CONST RECT *lprc,
- POINT pt);
-
- #ifndef NOWINOFFSETS
-
- WINUSERAPI
- WORD
- WINAPI
- GetWindowWord(
- HWND hWnd,
- int nIndex);
-
- WINUSERAPI
- WORD
- WINAPI
- SetWindowWord(
- HWND hWnd,
- int nIndex,
- WORD wNewWord);
-
- WINUSERAPI
- LONG
- WINAPI
- GetWindowLongA(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- LONG
- WINAPI
- GetWindowLongW(
- HWND hWnd,
- int nIndex);
- #ifdef UNICODE
- #define GetWindowLong GetWindowLongW
- #else
- #define GetWindowLong GetWindowLongA
- #endif // !UNICODE
-
- WINUSERAPI
- LONG
- WINAPI
- SetWindowLongA(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- WINUSERAPI
- LONG
- WINAPI
- SetWindowLongW(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- #ifdef UNICODE
- #define SetWindowLong SetWindowLongW
- #else
- #define SetWindowLong SetWindowLongA
- #endif // !UNICODE
-
- WINUSERAPI
- WORD
- WINAPI
- GetClassWord(
- HWND hWnd,
- int nIndex);
-
- WINUSERAPI
- WORD
- WINAPI
- SetClassWord(
- HWND hWnd,
- int nIndex,
- WORD wNewWord);
-
- WINUSERAPI
- DWORD
- WINAPI
- GetClassLongA(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- DWORD
- WINAPI
- GetClassLongW(
- HWND hWnd,
- int nIndex);
- #ifdef UNICODE
- #define GetClassLong GetClassLongW
- #else
- #define GetClassLong GetClassLongA
- #endif // !UNICODE
-
- WINUSERAPI
- DWORD
- WINAPI
- SetClassLongA(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- WINUSERAPI
- DWORD
- WINAPI
- SetClassLongW(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- #ifdef UNICODE
- #define SetClassLong SetClassLongW
- #else
- #define SetClassLong SetClassLongA
- #endif // !UNICODE
-
- #endif /* !NOWINOFFSETS */
-
- WINUSERAPI
- HWND
- WINAPI
- GetDesktopWindow(
- VOID);
-
- WINUSERAPI
- HWND
- WINAPI
- GetParent(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- SetParent(
- HWND hWndChild,
- HWND hWndNewParent);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumChildWindows(
- HWND hWndParent,
- WNDENUMPROC lpEnumFunc,
- LPARAM lParam);
-
- WINUSERAPI
- HWND
- WINAPI
- FindWindowA(
- LPCSTR lpClassName ,
- LPCSTR lpWindowName);
- WINUSERAPI
- HWND
- WINAPI
- FindWindowW(
- LPCWSTR lpClassName ,
- LPCWSTR lpWindowName);
- #ifdef UNICODE
- #define FindWindow FindWindowW
- #else
- #define FindWindow FindWindowA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI HWND WINAPI FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
- WINUSERAPI HWND WINAPI FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
- #ifdef UNICODE
- #define FindWindowEx FindWindowExW
- #else
- #define FindWindowEx FindWindowExA
- #endif // !UNICODE
-
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindows(
- WNDENUMPROC lpEnumFunc,
- LPARAM lParam);
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumThreadWindows(
- DWORD dwThreadId,
- WNDENUMPROC lpfn,
- LPARAM lParam);
-
- #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam)
-
- WINUSERAPI
- int
- WINAPI
- GetClassNameA(
- HWND hWnd,
- LPSTR lpClassName,
- int nMaxCount);
- WINUSERAPI
- int
- WINAPI
- GetClassNameW(
- HWND hWnd,
- LPWSTR lpClassName,
- int nMaxCount);
- #ifdef UNICODE
- #define GetClassName GetClassNameW
- #else
- #define GetClassName GetClassNameA
- #endif // !UNICODE
-
- WINUSERAPI
- HWND
- WINAPI
- GetTopWindow(
- HWND hWnd);
-
- #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)
- #define GetSysModalWindow() (NULL)
- #define SetSysModalWindow(hWnd) (NULL)
-
- WINUSERAPI
- DWORD
- WINAPI
- GetWindowThreadProcessId(
- HWND hWnd,
- LPDWORD lpdwProcessId);
-
- #define GetWindowTask(hWnd) \
- ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-
- WINUSERAPI
- HWND
- WINAPI
- GetLastActivePopup(
- HWND hWnd);
-
- /*
- * GetWindow() Constants
- */
- #define GW_HWNDFIRST 0
- #define GW_HWNDLAST 1
- #define GW_HWNDNEXT 2
- #define GW_HWNDPREV 3
- #define GW_OWNER 4
- #define GW_CHILD 5
- #define GW_MAX 5
-
- WINUSERAPI
- HWND
- WINAPI
- GetWindow(
- HWND hWnd,
- UINT uCmd);
-
- #ifndef NOWH
-
- #ifdef STRICT
-
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookA(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookW(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- #ifdef UNICODE
- #define SetWindowsHook SetWindowsHookW
- #else
- #define SetWindowsHook SetWindowsHookA
- #endif // !UNICODE
-
- #else /* !STRICT */
-
- WINUSERAPI
- HOOKPROC
- WINAPI
- SetWindowsHookA(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- WINUSERAPI
- HOOKPROC
- WINAPI
- SetWindowsHookW(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- #ifdef UNICODE
- #define SetWindowsHook SetWindowsHookW
- #else
- #define SetWindowsHook SetWindowsHookA
- #endif // !UNICODE
-
- #endif /* !STRICT */
-
- WINUSERAPI
- BOOL
- WINAPI
- UnhookWindowsHook(
- int nCode,
- HOOKPROC pfnFilterProc);
-
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookExA(
- int idHook,
- HOOKPROC lpfn,
- HINSTANCE hmod,
- DWORD dwThreadId);
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookExW(
- int idHook,
- HOOKPROC lpfn,
- HINSTANCE hmod,
- DWORD dwThreadId);
- #ifdef UNICODE
- #define SetWindowsHookEx SetWindowsHookExW
- #else
- #define SetWindowsHookEx SetWindowsHookExA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- UnhookWindowsHookEx(
- HHOOK hhk);
-
- WINUSERAPI
- LRESULT
- WINAPI
- CallNextHookEx(
- HHOOK hhk,
- int nCode,
- WPARAM wParam,
- LPARAM lParam);
-
- /*
- * Macros for source-level compatibility with old functions.
- */
- #ifdef STRICT
- #define DefHookProc(nCode, wParam, lParam, phhk)\
- CallNextHookEx(*phhk, nCode, wParam, lParam)
- #else
- #define DefHookProc(nCode, wParam, lParam, phhk)\
- CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam)
- #endif /* STRICT */
-
- #endif /* !NOWH */
-
- #ifndef NOMENUS
-
- /* ;win40 -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags */
- /*
- * Menu flags for Add/Check/EnableMenuItem()
- */
- #define MF_INSERT 0x00000000L
- #define MF_CHANGE 0x00000080L
- #define MF_APPEND 0x00000100L
- #define MF_DELETE 0x00000200L
- #define MF_REMOVE 0x00001000L
-
- #define MF_BYCOMMAND 0x00000000L
- #define MF_BYPOSITION 0x00000400L
-
- #define MF_SEPARATOR 0x00000800L
-
- #define MF_ENABLED 0x00000000L
- #define MF_GRAYED 0x00000001L
- #define MF_DISABLED 0x00000002L
-
- #define MF_UNCHECKED 0x00000000L
- #define MF_CHECKED 0x00000008L
- #define MF_USECHECKBITMAPS 0x00000200L
-
- #define MF_STRING 0x00000000L
- #define MF_BITMAP 0x00000004L
- #define MF_OWNERDRAW 0x00000100L
-
- #define MF_POPUP 0x00000010L
- #define MF_MENUBARBREAK 0x00000020L
- #define MF_MENUBREAK 0x00000040L
-
- #define MF_UNHILITE 0x00000000L
- #define MF_HILITE 0x00000080L
-
- #if(WINVER >= 0x0400)
- #define MF_DEFAULT 0x00001000L
- #endif /* WINVER >= 0x0400 */
- #define MF_SYSMENU 0x00002000L
- #define MF_HELP 0x00004000L
- #if(WINVER >= 0x0400)
- #define MF_RIGHTJUSTIFY 0x00004000L
- #endif /* WINVER >= 0x0400 */
-
- #define MF_MOUSESELECT 0x00008000L
- #if(WINVER >= 0x0400)
- #define MF_END 0x00000080L /* Obsolete -- only used by old RES files */
- #endif /* WINVER >= 0x0400 */
-
- #if(WINVER >= 0x0400)
- #define MFT_STRING MF_STRING
- #define MFT_BITMAP MF_BITMAP
- #define MFT_MENUBARBREAK MF_MENUBARBREAK
- #define MFT_MENUBREAK MF_MENUBREAK
- #define MFT_OWNERDRAW MF_OWNERDRAW
- #define MFT_RADIOCHECK 0x00000200L
- #define MFT_SEPARATOR MF_SEPARATOR
- #define MFT_RIGHTORDER 0x00002000L
- #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
-
- /* Menu flags for Add/Check/EnableMenuItem() */
- #define MFS_GRAYED 0x00000003L
- #define MFS_DISABLED MFS_GRAYED
- #define MFS_CHECKED MF_CHECKED
- #define MFS_HILITE MF_HILITE
- #define MFS_ENABLED MF_ENABLED
- #define MFS_UNCHECKED MF_UNCHECKED
- #define MFS_UNHILITE MF_UNHILITE
- #define MFS_DEFAULT MF_DEFAULT
-
- WINUSERAPI
- BOOL
- WINAPI
- CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
- #endif /* WINVER >= 0x0400 */
-
- /*
- * Menu item resource format
- */
- typedef struct {
- WORD versionNumber;
- WORD offset;
- } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
-
- typedef struct { // version 0
- WORD mtOption;
- WORD mtID;
- WCHAR mtString[1];
- } MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
- #define MF_END 0x00000080L
-
- #endif /* !NOMENUS */
-
- #ifndef NOSYSCOMMANDS
-
- /*
- * System Menu Command Values
- */
- #define SC_SIZE 0xF000
- #define SC_MOVE 0xF010
- #define SC_MINIMIZE 0xF020
- #define SC_MAXIMIZE 0xF030
- #define SC_NEXTWINDOW 0xF040
- #define SC_PREVWINDOW 0xF050
- #define SC_CLOSE 0xF060
- #define SC_VSCROLL 0xF070
- #define SC_HSCROLL 0xF080
- #define SC_MOUSEMENU 0xF090
- #define SC_KEYMENU 0xF100
- #define SC_ARRANGE 0xF110
- #define SC_RESTORE 0xF120
- #define SC_TASKLIST 0xF130
- #define SC_SCREENSAVE 0xF140
- #define SC_HOTKEY 0xF150
- #if(WINVER >= 0x0400)
- #define SC_DEFAULT 0xF160
- #define SC_MONITORPOWER 0xF170
- #define SC_CONTEXTHELP 0xF180
- #define SC_SEPARATOR 0xF00F
- #endif /* WINVER >= 0x0400 */
- /*
- * Obsolete names
- */
- #define SC_ICON SC_MINIMIZE
- #define SC_ZOOM SC_MAXIMIZE
-
- #endif /* !NOSYSCOMMANDS */
-
- /*
- * Resource Loading Routines
- */
-
- WINUSERAPI
- HBITMAP
- WINAPI
- LoadBitmapA(
- HINSTANCE hInstance,
- LPCSTR lpBitmapName);
- WINUSERAPI
- HBITMAP
- WINAPI
- LoadBitmapW(
- HINSTANCE hInstance,
- LPCWSTR lpBitmapName);
- #ifdef UNICODE
- #define LoadBitmap LoadBitmapW
- #else
- #define LoadBitmap LoadBitmapA
- #endif // !UNICODE
-
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorA(
- HINSTANCE hInstance,
- LPCSTR lpCursorName);
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorW(
- HINSTANCE hInstance,
- LPCWSTR lpCursorName);
- #ifdef UNICODE
- #define LoadCursor LoadCursorW
- #else
- #define LoadCursor LoadCursorA
- #endif // !UNICODE
-
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorFromFileA(
- LPCSTR lpFileName);
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorFromFileW(
- LPCWSTR lpFileName);
- #ifdef UNICODE
- #define LoadCursorFromFile LoadCursorFromFileW
- #else
- #define LoadCursorFromFile LoadCursorFromFileA
- #endif // !UNICODE
-
- WINUSERAPI
- HCURSOR
- WINAPI
- CreateCursor(
- HINSTANCE hInst,
- int xHotSpot,
- int yHotSpot,
- int nWidth,
- int nHeight,
- CONST VOID *pvANDPlane,
- CONST VOID *pvXORPlane);
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyCursor(
- HCURSOR hCursor);
-
- #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
-
- /*
- * Standard Cursor IDs
- */
- #define IDC_ARROW MAKEINTRESOURCE(32512)
- #define IDC_IBEAM MAKEINTRESOURCE(32513)
- #define IDC_WAIT MAKEINTRESOURCE(32514)
- #define IDC_CROSS MAKEINTRESOURCE(32515)
- #define IDC_UPARROW MAKEINTRESOURCE(32516)
- #define IDC_SIZE MAKEINTRESOURCE(32640) /* OBSOLETE: use IDC_SIZEALL */
- #define IDC_ICON MAKEINTRESOURCE(32641) /* OBSOLETE: use IDC_ARROW */
- #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
- #define IDC_SIZENESW MAKEINTRESOURCE(32643)
- #define IDC_SIZEWE MAKEINTRESOURCE(32644)
- #define IDC_SIZENS MAKEINTRESOURCE(32645)
- #define IDC_SIZEALL MAKEINTRESOURCE(32646)
- #define IDC_NO MAKEINTRESOURCE(32648) /*not in win3.1 */
- #define IDC_APPSTARTING MAKEINTRESOURCE(32650) /*not in win3.1 */
- #if(WINVER >= 0x0400)
- #define IDC_HELP MAKEINTRESOURCE(32651)
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- SetSystemCursor(
- HCURSOR hcur,
- DWORD id);
-
- typedef struct _ICONINFO {
- BOOL fIcon;
- DWORD xHotspot;
- DWORD yHotspot;
- HBITMAP hbmMask;
- HBITMAP hbmColor;
- } ICONINFO;
- typedef ICONINFO *PICONINFO;
-
- WINUSERAPI
- HICON
- WINAPI
- LoadIconA(
- HINSTANCE hInstance,
- LPCSTR lpIconName);
- WINUSERAPI
- HICON
- WINAPI
- LoadIconW(
- HINSTANCE hInstance,
- LPCWSTR lpIconName);
- #ifdef UNICODE
- #define LoadIcon LoadIconW
- #else
- #define LoadIcon LoadIconA
- #endif // !UNICODE
-
- WINUSERAPI
- HICON
- WINAPI
- CreateIcon(
- HINSTANCE hInstance,
- int nWidth,
- int nHeight,
- BYTE cPlanes,
- BYTE cBitsPixel,
- CONST BYTE *lpbANDbits,
- CONST BYTE *lpbXORbits);
-
- WINUSERAPI
- BOOL
- WINAPI
- DestroyIcon(
- HICON hIcon);
-
- WINUSERAPI
- int
- WINAPI
- LookupIconIdFromDirectory(
- PBYTE presbits,
- BOOL fIcon);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- LookupIconIdFromDirectoryEx(
- PBYTE presbits,
- BOOL fIcon,
- int cxDesired,
- int cyDesired,
- UINT Flags);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- HICON
- WINAPI
- CreateIconFromResource(
- PBYTE presbits,
- DWORD dwResSize,
- BOOL fIcon,
- DWORD dwVer);
-
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HICON
- WINAPI
- CreateIconFromResourceEx(
- PBYTE presbits,
- DWORD dwResSize,
- BOOL fIcon,
- DWORD dwVer,
- int cxDesired,
- int cyDesired,
- UINT Flags);
-
- /* Icon/Cursor header */
- typedef struct tagCURSORSHAPE
- {
- int xHotSpot;
- int yHotSpot;
- int cx;
- int cy;
- int cbWidth;
- BYTE Planes;
- BYTE BitsPixel;
- } CURSORSHAPE, FAR *LPCURSORSHAPE;
- #endif /* WINVER >= 0x0400 */
-
- #define IMAGE_BITMAP 0
- #define IMAGE_ICON 1
- #define IMAGE_CURSOR 2
- #if(WINVER >= 0x0400)
- #define IMAGE_ENHMETAFILE 3
-
- #define LR_DEFAULTCOLOR 0x0000
- #define LR_MONOCHROME 0x0001
- #define LR_COLOR 0x0002
- #define LR_COPYRETURNORG 0x0004
- #define LR_COPYDELETEORG 0x0008
- #define LR_LOADFROMFILE 0x0010
- #define LR_LOADTRANSPARENT 0x0020
- #define LR_DEFAULTSIZE 0x0040
- #define LR_LOADREALSIZE 0x0080
- #define LR_LOADMAP3DCOLORS 0x1000
- #define LR_CREATEDIBSECTION 0x2000
-
- WINUSERAPI
- HANDLE
- WINAPI
- LoadImageA(
- HINSTANCE,
- LPCSTR,
- UINT,
- int,
- int,
- UINT);
- WINUSERAPI
- HANDLE
- WINAPI
- LoadImageW(
- HINSTANCE,
- LPCWSTR,
- UINT,
- int,
- int,
- UINT);
- #ifdef UNICODE
- #define LoadImage LoadImageW
- #else
- #define LoadImage LoadImageA
- #endif // !UNICODE
-
- WINUSERAPI
- HICON
- WINAPI
- CopyImage(
- HANDLE,
- UINT,
- int,
- int,
- UINT);
-
- #define DI_MASK 0x0001
- #define DI_IMAGE 0x0002
- #define DI_NORMAL 0x0003
- #define DI_COMPAT 0x0004
- #define DI_DEFAULTSIZE 0x0008
-
- WINUSERAPI BOOL WINAPI DrawIconEx(HDC hdc, int xLeft, int yTop,
- HICON hIcon, int cxWidth, int cyWidth,
- UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- HICON
- WINAPI
- CreateIconIndirect(
- PICONINFO piconinfo);
-
- WINUSERAPI
- HICON
- WINAPI
- CopyIcon(
- HICON hIcon);
-
- WINUSERAPI
- BOOL
- WINAPI
- GetIconInfo(
- HICON hIcon,
- PICONINFO piconinfo);
-
- #if(WINVER >= 0x0400)
- #define RES_ICON 1
- #define RES_CURSOR 2
- #endif /* WINVER >= 0x0400 */
-
- #ifdef OEMRESOURCE
-
- /*
- * OEM Resource Ordinal Numbers
- */
- #define OBM_CLOSE 32754
- #define OBM_UPARROW 32753
- #define OBM_DNARROW 32752
- #define OBM_RGARROW 32751
- #define OBM_LFARROW 32750
- #define OBM_REDUCE 32749
- #define OBM_ZOOM 32748
- #define OBM_RESTORE 32747
- #define OBM_REDUCED 32746
- #define OBM_ZOOMD 32745
- #define OBM_RESTORED 32744
- #define OBM_UPARROWD 32743
- #define OBM_DNARROWD 32742
- #define OBM_RGARROWD 32741
- #define OBM_LFARROWD 32740
- #define OBM_MNARROW 32739
- #define OBM_COMBO 32738
- #define OBM_UPARROWI 32737
- #define OBM_DNARROWI 32736
- #define OBM_RGARROWI 32735
- #define OBM_LFARROWI 32734
-
- #define OBM_OLD_CLOSE 32767
- #define OBM_SIZE 32766
- #define OBM_OLD_UPARROW 32765
- #define OBM_OLD_DNARROW 32764
- #define OBM_OLD_RGARROW 32763
- #define OBM_OLD_LFARROW 32762
- #define OBM_BTSIZE 32761
- #define OBM_CHECK 32760
- #define OBM_CHECKBOXES 32759
- #define OBM_BTNCORNERS 32758
- #define OBM_OLD_REDUCE 32757
- #define OBM_OLD_ZOOM 32756
- #define OBM_OLD_RESTORE 32755
-
- #define OCR_NORMAL 32512
- #define OCR_IBEAM 32513
- #define OCR_WAIT 32514
- #define OCR_CROSS 32515
- #define OCR_UP 32516
- #define OCR_SIZE 32640 /* OBSOLETE: use OCR_SIZEALL */
- #define OCR_ICON 32641 /* OBSOLETE: use OCR_NORMAL */
- #define OCR_SIZENWSE 32642
- #define OCR_SIZENESW 32643
- #define OCR_SIZEWE 32644
- #define OCR_SIZENS 32645
- #define OCR_SIZEALL 32646
- #define OCR_ICOCUR 32647 /* OBSOLETE: use OIC_WINLOGO */
- #define OCR_NO 32648
- #if(WINVER >= 0x0400)
- #define OCR_APPSTARTING 32650
- #endif /* WINVER >= 0x0400 */
-
- #define OIC_SAMPLE 32512
- #define OIC_HAND 32513
- #define OIC_QUES 32514
- #define OIC_BANG 32515
- #define OIC_NOTE 32516
- #if(WINVER >= 0x0400)
- #define OIC_WINLOGO 32517
- #define OIC_WARNING OIC_BANG
- #define OIC_ERROR OIC_HAND
- #define OIC_INFORMATION OIC_NOTE
- #endif /* WINVER >= 0x0400 */
-
- #endif /* OEMRESOURCE */
-
- #define ORD_LANGDRIVER 1 /* The ordinal number for the entry point of
- ** language drivers.
- */
-
- #ifndef NOICONS
-
- /*
- * Standard Icon IDs
- */
- #ifdef RC_INVOKED
- #define IDI_APPLICATION 32512
- #define IDI_HAND 32513
- #define IDI_QUESTION 32514
- #define IDI_EXCLAMATION 32515
- #define IDI_ASTERISK 32516
- #if(WINVER >= 0x0400)
- #define IDI_WINLOGO 32517
- #endif /* WINVER >= 0x0400 */
- #else
- #define IDI_APPLICATION MAKEINTRESOURCE(32512)
- #define IDI_HAND MAKEINTRESOURCE(32513)
- #define IDI_QUESTION MAKEINTRESOURCE(32514)
- #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
- #define IDI_ASTERISK MAKEINTRESOURCE(32516)
- #if(WINVER >= 0x0400)
- #define IDI_WINLOGO MAKEINTRESOURCE(32517)
- #endif /* WINVER >= 0x0400 */
- #endif /* RC_INVOKED */
-
- #if(WINVER >= 0x0400)
- #define IDI_WARNING IDI_EXCLAMATION
- #define IDI_ERROR IDI_HAND
- #define IDI_INFORMATION IDI_ASTERISK
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NOICONS */
-
- WINUSERAPI
- int
- WINAPI
- LoadStringA(
- HINSTANCE hInstance,
- UINT uID,
- LPSTR lpBuffer,
- int nBufferMax);
- WINUSERAPI
- int
- WINAPI
- LoadStringW(
- HINSTANCE hInstance,
- UINT uID,
- LPWSTR lpBuffer,
- int nBufferMax);
- #ifdef UNICODE
- #define LoadString LoadStringW
- #else
- #define LoadString LoadStringA
- #endif // !UNICODE
-
- /*
- * Dialog Box Command IDs
- */
- #define IDOK 1
- #define IDCANCEL 2
- #define IDABORT 3
- #define IDRETRY 4
- #define IDIGNORE 5
- #define IDYES 6
- #define IDNO 7
- #if(WINVER >= 0x0400)
- #define IDCLOSE 8
- #define IDHELP 9
- #endif /* WINVER >= 0x0400 */
-
- #ifndef NOCTLMGR
-
- /*
- * Control Manager Structures and Definitions
- */
-
- #ifndef NOWINSTYLES
-
- /*
- * Edit Control Styles
- */
- #define ES_LEFT 0x0000L
- #define ES_CENTER 0x0001L
- #define ES_RIGHT 0x0002L
- #define ES_MULTILINE 0x0004L
- #define ES_UPPERCASE 0x0008L
- #define ES_LOWERCASE 0x0010L
- #define ES_PASSWORD 0x0020L
- #define ES_AUTOVSCROLL 0x0040L
- #define ES_AUTOHSCROLL 0x0080L
- #define ES_NOHIDESEL 0x0100L
- #define ES_OEMCONVERT 0x0400L
- #define ES_READONLY 0x0800L
- #define ES_WANTRETURN 0x1000L
- #if(WINVER >= 0x0400)
- #define ES_NUMBER 0x2000L
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NOWINSTYLES */
-
- /*
- * Edit Control Notification Codes
- */
- #define EN_SETFOCUS 0x0100
- #define EN_KILLFOCUS 0x0200
- #define EN_CHANGE 0x0300
- #define EN_UPDATE 0x0400
- #define EN_ERRSPACE 0x0500
- #define EN_MAXTEXT 0x0501
- #define EN_HSCROLL 0x0601
- #define EN_VSCROLL 0x0602
-
- #if(WINVER >= 0x0400)
- /* Edit control EM_SETMARGIN parameters */
- #define EC_LEFTMARGIN 0x0001
- #define EC_RIGHTMARGIN 0x0002
- #define EC_USEFONTINFO 0xffff
- #endif /* WINVER >= 0x0400 */
-
- #ifndef NOWINMESSAGES
-
- /*
- * Edit Control Messages
- */
- #define EM_GETSEL 0x00B0
- #define EM_SETSEL 0x00B1
- #define EM_GETRECT 0x00B2
- #define EM_SETRECT 0x00B3
- #define EM_SETRECTNP 0x00B4
- #define EM_SCROLL 0x00B5
- #define EM_LINESCROLL 0x00B6
- #define EM_SCROLLCARET 0x00B7
- #define EM_GETMODIFY 0x00B8
- #define EM_SETMODIFY 0x00B9
- #define EM_GETLINECOUNT 0x00BA
- #define EM_LINEINDEX 0x00BB
- #define EM_SETHANDLE 0x00BC
- #define EM_GETHANDLE 0x00BD
- #define EM_GETTHUMB 0x00BE
- #define EM_LINELENGTH 0x00C1
- #define EM_REPLACESEL 0x00C2
- #define EM_GETLINE 0x00C4
- #define EM_LIMITTEXT 0x00C5
- #define EM_CANUNDO 0x00C6
- #define EM_UNDO 0x00C7
- #define EM_FMTLINES 0x00C8
- #define EM_LINEFROMCHAR 0x00C9
- #define EM_SETTABSTOPS 0x00CB
- #define EM_SETPASSWORDCHAR 0x00CC
- #define EM_EMPTYUNDOBUFFER 0x00CD
- #define EM_GETFIRSTVISIBLELINE 0x00CE
- #define EM_SETREADONLY 0x00CF
- #define EM_SETWORDBREAKPROC 0x00D0
- #define EM_GETWORDBREAKPROC 0x00D1
- #define EM_GETPASSWORDCHAR 0x00D2
- #if(WINVER >= 0x0400)
- #define EM_SETMARGINS 0x00D3
- #define EM_GETMARGINS 0x00D4
- #define EM_SETLIMITTEXT EM_LIMITTEXT /* ;win40 Name change */
- #define EM_GETLIMITTEXT 0x00D5
- #define EM_POSFROMCHAR 0x00D6
- #define EM_CHARFROMPOS 0x00D7
- #endif /* WINVER >= 0x0400 */
-
- #endif /* !NOWINMESSAGES */
-
- /*
- * EDITWORDBREAKPROC code values
- */
- #define WB_LEFT 0
- #define WB_RIGHT 1
- #define WB_ISDELIMITER 2
-
- /*
- * Button Control Styles
- */
- #define BS_PUSHBUTTON 0x00000000L
- #define BS_DEFPUSHBUTTON 0x00000001L
- #define BS_CHECKBOX 0x00000002L
- #define BS_AUTOCHECKBOX 0x00000003L
- #define BS_RADIOBUTTON 0x00000004L
- #define BS_3STATE 0x00000005L
- #define BS_AUTO3STATE 0x00000006L
- #define BS_GROUPBOX 0x00000007L
- #define BS_USERBUTTON 0x00000008L
- #define BS_AUTORADIOBUTTON 0x00000009L
- #define BS_OWNERDRAW 0x0000000BL
- #define BS_LEFTTEXT 0x00000020L
- #if(WINVER >= 0x0400)
- #define BS_TEXT 0x00000000L
- #define BS_ICON 0x00000040L
- #define BS_BITMAP 0x00000080L
- #define BS_LEFT 0x00000100L
- #define BS_RIGHT 0x00000200L
- #define BS_CENTER 0x00000300L
- #define BS_TOP 0x00000400L
- #define BS_BOTTOM 0x00000800L
- #define BS_VCENTER 0x00000C00L
- #define BS_PUSHLIKE 0x00001000L
- #define BS_MULTILINE 0x00002000L
- #define BS_NOTIFY 0x00004000L
- #define BS_FLAT 0x00008000L
- #define BS_RIGHTBUTTON BS_LEFTTEXT
- #endif /* WINVER >= 0x0400 */
-
- /*
- * User Button Notification Codes
- */
- #define BN_CLICKED 0
- #define BN_PAINT 1
- #define BN_HILITE 2
- #define BN_UNHILITE 3
- #define BN_DISABLE 4
- #define BN_DOUBLECLICKED 5
- #if(WINVER >= 0x0400)
- #define BN_PUSHED BN_HILITE
- #define BN_UNPUSHED BN_UNHILITE
- #define BN_DBLCLK BN_DOUBLECLICKED
- #define BN_SETFOCUS 6
- #define BN_KILLFOCUS 7
- #endif /* WINVER >= 0x0400 */
-
- /*
- * Button Control Messages
- */
- #define BM_GETCHECK 0x00F0
- #define BM_SETCHECK 0x00F1
- #define BM_GETSTATE 0x00F2
- #define BM_SETSTATE 0x00F3
- #define BM_SETSTYLE 0x00F4
- #if(WINVER >= 0x0400)
- #define BM_CLICK 0x00F5
- #define BM_GETIMAGE 0x00F6
- #define BM_SETIMAGE 0x00F7
-
- #define BST_UNCHECKED 0x0000
- #define BST_CHECKED 0x0001
- #define BST_INDETERMINATE 0x0002
- #define BST_PUSHED 0x0004
- #define BST_FOCUS 0x0008
- #endif /* WINVER >= 0x0400 */
-
- /*
- * Static Control Constants
- */
- #define SS_LEFT 0x00000000L
- #define SS_CENTER 0x00000001L
- #define SS_RIGHT 0x00000002L
- #define SS_ICON 0x00000003L
- #define SS_BLACKRECT 0x00000004L
- #define SS_GRAYRECT 0x00000005L
- #define SS_WHITERECT 0x00000006L
- #define SS_BLACKFRAME 0x00000007L
- #define SS_GRAYFRAME 0x00000008L
- #define SS_WHITEFRAME 0x00000009L
- #define SS_USERITEM 0x0000000AL
- #define SS_SIMPLE 0x0000000BL
- #define SS_LEFTNOWORDWRAP 0x0000000CL
- #define SS_BITMAP 0x0000000EL
- #if(WINVER >= 0x0400)
- #define SS_OWNERDRAW 0x0000000DL
- #define SS_ENHMETAFILE 0x0000000FL
- #define SS_ETCHEDHORZ 0x00000010L
- #define SS_ETCHEDVERT 0x00000011L
- #define SS_ETCHEDFRAME 0x00000012L
- #define SS_TYPEMASK 0x0000001FL
- #endif /* WINVER >= 0x0400 */
- #define SS_NOPREFIX 0x00000080L /* Don't do "&" character translation */
- #if(WINVER >= 0x0400)
- #define SS_NOTIFY 0x00000100L
- #endif /* WINVER >= 0x0400 */
- #define SS_CENTERIMAGE 0x00000200L
- #if(WINVER >= 0x0400)
- #define SS_RIGHTJUST 0x00000400L
- #define SS_REALSIZEIMAGE 0x00000800L
- #define SS_SUNKEN 0x00001000L
- #endif /* WINVER >= 0x0400 */
-
- #ifndef NOWINMESSAGES
- /*
- * Static Control Mesages
- */
- #define STM_SETICON 0x0170
- #define STM_GETICON 0x0171
- #define STM_SETIMAGE 0x0172
- #define STM_GETIMAGE 0x0173
- #if(WINVER >= 0x0400)
- #define STN_CLICKED 0
- #define STN_DBLCLK 1
- #define STN_ENABLE 2
- #define STN_DISABLE 3
- #endif /* WINVER >= 0x0400 */
- #define STM_MSGMAX 0x0174
- #endif /* !NOWINMESSAGES */
-
- /*
- * Dialog window class
- */
- #define WC_DIALOG (MAKEINTATOM(0x8002))
-
- /*
- * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
- */
- #define DWL_MSGRESULT 0
- #define DWL_DLGPROC 4
- #define DWL_USER 8
-
- /*
- * Dialog Manager Routines
- */
-
- #ifndef NOMSG
-
- WINUSERAPI
- BOOL
- WINAPI
- IsDialogMessageA(
- HWND hDlg,
- LPMSG lpMsg);
- WINUSERAPI
- BOOL
- WINAPI
- IsDialogMessageW(
- HWND hDlg,
- LPMSG lpMsg);
- #ifdef UNICODE
- #define IsDialogMessage IsDialogMessageW
- #else
- #define IsDialogMessage IsDialogMessageA
- #endif // !UNICODE
-
- #endif /* !NOMSG */
-
- WINUSERAPI
- BOOL
- WINAPI
- MapDialogRect(
- HWND hDlg,
- LPRECT lpRect);
-
- WINUSERAPI
- int
- WINAPI
- DlgDirListA(
- HWND hDlg,
- LPSTR lpPathSpec,
- int nIDListBox,
- int nIDStaticPath,
- UINT uFileType);
- WINUSERAPI
- int
- WINAPI
- DlgDirListW(
- HWND hDlg,
- LPWSTR lpPathSpec,
- int nIDListBox,
- int nIDStaticPath,
- UINT uFileType);
- #ifdef UNICODE
- #define DlgDirList DlgDirListW
- #else
- #define DlgDirList DlgDirListA
- #endif // !UNICODE
-
- /*
- * DlgDirList, DlgDirListComboBox flags values
- */
- #define DDL_READWRITE 0x0000
- #define DDL_READONLY 0x0001
- #define DDL_HIDDEN 0x0002
- #define DDL_SYSTEM 0x0004
- #define DDL_DIRECTORY 0x0010
- #define DDL_ARCHIVE 0x0020
-
- #define DDL_POSTMSGS 0x2000
- #define DDL_DRIVES 0x4000
- #define DDL_EXCLUSIVE 0x8000
-
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectExA(
- HWND hDlg,
- LPSTR lpString,
- int nCount,
- int nIDListBox);
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectExW(
- HWND hDlg,
- LPWSTR lpString,
- int nCount,
- int nIDListBox);
- #ifdef UNICODE
- #define DlgDirSelectEx DlgDirSelectExW
- #else
- #define DlgDirSelectEx DlgDirSelectExA
- #endif // !UNICODE
-
- WINUSERAPI
- int
- WINAPI
- DlgDirListComboBoxA(
- HWND hDlg,
- LPSTR lpPathSpec,
- int nIDComboBox,
- int nIDStaticPath,
- UINT uFiletype);
- WINUSERAPI
- int
- WINAPI
- DlgDirListComboBoxW(
- HWND hDlg,
- LPWSTR lpPathSpec,
- int nIDComboBox,
- int nIDStaticPath,
- UINT uFiletype);
- #ifdef UNICODE
- #define DlgDirListComboBox DlgDirListComboBoxW
- #else
- #define DlgDirListComboBox DlgDirListComboBoxA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectComboBoxExA(
- HWND hDlg,
- LPSTR lpString,
- int nCount,
- int nIDComboBox);
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectComboBoxExW(
- HWND hDlg,
- LPWSTR lpString,
- int nCount,
- int nIDComboBox);
- #ifdef UNICODE
- #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
- #else
- #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
- #endif // !UNICODE
-
- /*
- * Dialog Styles
- */
- #define DS_ABSALIGN 0x01L
- #define DS_SYSMODAL 0x02L
- #define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */
- #define DS_SETFONT 0x40L /* User specified font for Dlg controls */
- #define DS_MODALFRAME 0x80L /* Can be combined with WS_CAPTION */
- #define DS_NOIDLEMSG 0x100L /* WM_ENTERIDLE message will not be sent */
- #define DS_SETFOREGROUND 0x200L /* not in win3.1 */
-
- #if(WINVER >= 0x0400)
- #define DS_3DLOOK 0x0004L
- #define DS_FIXEDSYS 0x0008L
- #define DS_NOFAILCREATE 0x0010L
- #define DS_CONTROL 0x0400L
- #define DS_CENTER 0x0800L
- #define DS_CENTERMOUSE 0x1000L
- #define DS_CONTEXTHELP 0x2000L
-
- #endif /* WINVER >= 0x0400 */
-
- #define DM_GETDEFID (WM_USER+0)
- #define DM_SETDEFID (WM_USER+1)
-
- #if(WINVER >= 0x0400)
- #define DM_REPOSITION (WM_USER+2)
-
- #define PSM_PAGEINFO (WM_USER+100)
- #define PSM_SHEETINFO (WM_USER+101)
-
- #define PSI_SETACTIVE 0x0001L
- #define PSI_KILLACTIVE 0x0002L
- #define PSI_APPLY 0x0003L
- #define PSI_RESET 0x0004L
- #define PSI_HASHELP 0x0005L
- #define PSI_HELP 0x0006L
-
- #define PSI_CHANGED 0x0001L
- #define PSI_GUISTART 0x0002L
- #define PSI_REBOOT 0x0003L
- #define PSI_GETSIBLINGS 0x0004L
- #endif /* WINVER >= 0x0400 */
- /*
- * Returned in HIWORD() of DM_GETDEFID result if msg is supported
- */
- #define DC_HASDEFID 0x534B
-
- /*
- * Dialog Codes
- */
- #define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
- #define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
- #define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
- #define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
- #define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
- #define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
- #define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
- #define DLGC_RADIOBUTTON 0x0040 /* Radio button */
- #define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
- #define DLGC_STATIC 0x0100 /* Static item: don't include */
- #define DLGC_BUTTON 0x2000 /* Button item: can be checked */
-
- #define LB_CTLCODE 0L
-
- /*
- * Listbox Return Values
- */
- #define LB_OKAY 0
- #define LB_ERR (-1)
- #define LB_ERRSPACE (-2)
-
- /*
- ** The idStaticPath parameter to DlgDirList can have the following values
- ** ORed if the list box should show other details of the files along with
- ** the name of the files;
- */
- /* all other details also will be returned */
-
- /*
- * Listbox Notification Codes
- */
- #define LBN_ERRSPACE (-2)
- #define LBN_SELCHANGE 1
- #define LBN_DBLCLK 2
- #define LBN_SELCANCEL 3
- #define LBN_SETFOCUS 4
- #define LBN_KILLFOCUS 5
-
- #ifndef NOWINMESSAGES
-
- /*
- * Listbox messages
- */
- #define LB_ADDSTRING 0x0180
- #define LB_INSERTSTRING 0x0181
- #define LB_DELETESTRING 0x0182
- #define LB_SELITEMRANGEEX 0x0183
- #define LB_RESETCONTENT 0x0184
- #define LB_SETSEL 0x0185
- #define LB_SETCURSEL 0x0186
- #define LB_GETSEL 0x0187
- #define LB_GETCURSEL 0x0188
- #define LB_GETTEXT 0x0189
- #define LB_GETTEXTLEN 0x018A
- #define LB_GETCOUNT 0x018B
- #define LB_SELECTSTRING 0x018C
- #define LB_DIR 0x018D
- #define LB_GETTOPINDEX 0x018E
- #define LB_FINDSTRING 0x018F
- #define LB_GETSELCOUNT 0x0190
- #define LB_GETSELITEMS 0x0191
- #define LB_SETTABSTOPS 0x0192
- #define LB_GETHORIZONTALEXTENT 0x0193
- #define LB_SETHORIZONTALEXTENT 0x0194
- #define LB_SETCOLUMNWIDTH 0x0195
- #define LB_ADDFILE 0x0196
- #define LB_SETTOPINDEX 0x0197
- #define LB_GETITEMRECT 0x0198
- #define LB_GETITEMDATA 0x0199
- #define LB_SETITEMDATA 0x019A
- #define LB_SELITEMRANGE 0x019B
- #define LB_SETANCHORINDEX 0x019C
- #define LB_GETANCHORINDEX 0x019D
- #define LB_SETCARETINDEX 0x019E
- #define LB_GETCARETINDEX 0x019F
- #define LB_SETITEMHEIGHT 0x01A0
- #define LB_GETITEMHEIGHT 0x01A1
- #define LB_FINDSTRINGEXACT 0x01A2
- #define LB_SETLOCALE 0x01A5
- #define LB_GETLOCALE 0x01A6
- #define LB_SETCOUNT 0x01A7
- #if(WINVER >= 0x0400)
- #define LB_INITSTORAGE 0x01A8
- #define LB_ITEMFROMPOINT 0x01A9
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define LB_MSGMAX 0x01B0
- #else
- #define LB_MSGMAX 0x01A8
- #endif
-
- #endif /* !NOWINMESSAGES */
-
- #ifndef NOWINSTYLES
-
- /*
- * Listbox Styles
- */
- #define LBS_NOTIFY 0x0001L
- #define LBS_SORT 0x0002L
- #define LBS_NOREDRAW 0x0004L
- #define LBS_MULTIPLESEL 0x0008L
- #define LBS_OWNERDRAWFIXED 0x0010L
- #define LBS_OWNERDRAWVARIABLE 0x0020L
- #define LBS_HASSTRINGS 0x0040L
- #define LBS_USETABSTOPS 0x0080L
- #define LBS_NOINTEGRALHEIGHT 0x0100L
- #define LBS_MULTICOLUMN 0x0200L
- #define LBS_WANTKEYBOARDINPUT 0x0400L
- #define LBS_EXTENDEDSEL 0x0800L
- #define LBS_DISABLENOSCROLL 0x1000L
- #define LBS_NODATA 0x2000L
- #if(WINVER >= 0x0400)
- #define LBS_NOSEL 0x4000L
- #endif /* WINVER >= 0x0400 */
- #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
-
- #endif /* !NOWINSTYLES */
-
- /*
- * Combo Box return Values
- */
- #define CB_OKAY 0
- #define CB_ERR (-1)
- #define CB_ERRSPACE (-2)
-
- /*
- * Combo Box Notification Codes
- */
- #define CBN_ERRSPACE (-1)
- #define CBN_SELCHANGE 1
- #define CBN_DBLCLK 2
- #define CBN_SETFOCUS 3
- #define CBN_KILLFOCUS 4
- #define CBN_EDITCHANGE 5
- #define CBN_EDITUPDATE 6
- #define CBN_DROPDOWN 7
- #define CBN_CLOSEUP 8
- #define CBN_SELENDOK 9
- #define CBN_SELENDCANCEL 10
-
- /*
- * Combo Box styles
- */
- #ifndef NOWINSTYLES
- #define CBS_SIMPLE 0x0001L
- #define CBS_DROPDOWN 0x0002L
- #define CBS_DROPDOWNLIST 0x0003L
- #define CBS_OWNERDRAWFIXED 0x0010L
- #define CBS_OWNERDRAWVARIABLE 0x0020L
- #define CBS_AUTOHSCROLL 0x0040L
- #define CBS_OEMCONVERT 0x0080L
- #define CBS_SORT 0x0100L
- #define CBS_HASSTRINGS 0x0200L
- #define CBS_NOINTEGRALHEIGHT 0x0400L
- #define CBS_DISABLENOSCROLL 0x0800L
- #if(WINVER >= 0x0400)
- #define CBS_UPPERCASE 0x2000L
- #define CBS_LOWERCASE 0x4000L
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOWINSTYLES */
-
- /*
- * Combo Box messages
- */
- #ifndef NOWINMESSAGES
- #define CB_GETEDITSEL 0x0140
- #define CB_LIMITTEXT 0x0141
- #define CB_SETEDITSEL 0x0142
- #define CB_ADDSTRING 0x0143
- #define CB_DELETESTRING 0x0144
- #define CB_DIR 0x0145
- #define CB_GETCOUNT 0x0146
- #define CB_GETCURSEL 0x0147
- #define CB_GETLBTEXT 0x0148
- #define CB_GETLBTEXTLEN 0x0149
- #define CB_INSERTSTRING 0x014A
- #define CB_RESETCONTENT 0x014B
- #define CB_FINDSTRING 0x014C
- #define CB_SELECTSTRING 0x014D
- #define CB_SETCURSEL 0x014E
- #define CB_SHOWDROPDOWN 0x014F
- #define CB_GETITEMDATA 0x0150
- #define CB_SETITEMDATA 0x0151
- #define CB_GETDROPPEDCONTROLRECT 0x0152
- #define CB_SETITEMHEIGHT 0x0153
- #define CB_GETITEMHEIGHT 0x0154
- #define CB_SETEXTENDEDUI 0x0155
- #define CB_GETEXTENDEDUI 0x0156
- #define CB_GETDROPPEDSTATE 0x0157
- #define CB_FINDSTRINGEXACT 0x0158
- #define CB_SETLOCALE 0x0159
- #define CB_GETLOCALE 0x015A
- #if(WINVER >= 0x0400)
- #define CB_GETTOPINDEX 0x015b
- #define CB_SETTOPINDEX 0x015c
- #define CB_GETHORIZONTALEXTENT 0x015d
- #define CB_SETHORIZONTALEXTENT 0x015e
- #define CB_GETDROPPEDWIDTH 0x015f
- #define CB_SETDROPPEDWIDTH 0x0160
- #define CB_INITSTORAGE 0x0161
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define CB_MSGMAX 0x0162
- #else
- #define CB_MSGMAX 0x015B
- #endif
- #endif /* !NOWINMESSAGES */
-
- #ifndef NOWINSTYLES
-
- /*
- * Scroll Bar Styles
- */
- #define SBS_HORZ 0x0000L
- #define SBS_VERT 0x0001L
- #define SBS_TOPALIGN 0x0002L
- #define SBS_LEFTALIGN 0x0002L
- #define SBS_BOTTOMALIGN 0x0004L
- #define SBS_RIGHTALIGN 0x0004L
- #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
- #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
- #define SBS_SIZEBOX 0x0008L
- #if(WINVER >= 0x0400)
- #define SBS_SIZEGRIP 0x0010L
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOWINSTYLES */
-
- /*
- * Scroll bar messages
- */
- #ifndef NOWINMESSAGES
- #define SBM_SETPOS 0x00E0 /*not in win3.1 */
- #define SBM_GETPOS 0x00E1 /*not in win3.1 */
- #define SBM_SETRANGE 0x00E2 /*not in win3.1 */
- #define SBM_SETRANGEREDRAW 0x00E6 /*not in win3.1 */
- #define SBM_GETRANGE 0x00E3 /*not in win3.1 */
- #define SBM_ENABLE_ARROWS 0x00E4 /*not in win3.1 */
- #if(WINVER >= 0x0400)
- #define SBM_SETSCROLLINFO 0x00E9
- #define SBM_GETSCROLLINFO 0x00EA
-
- #define SIF_RANGE 0x0001
- #define SIF_PAGE 0x0002
- #define SIF_POS 0x0004
- #define SIF_DISABLENOSCROLL 0x0008
- #define SIF_TRACKPOS 0x0010
- #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
-
- typedef struct tagSCROLLINFO
- {
- UINT cbSize;
- UINT fMask;
- int nMin;
- int nMax;
- UINT nPage;
- int nPos;
- int nTrackPos;
- } SCROLLINFO, FAR *LPSCROLLINFO;
- typedef SCROLLINFO CONST FAR *LPCSCROLLINFO;
-
- WINUSERAPI int WINAPI SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL);
- WINUSERAPI BOOL WINAPI GetScrollInfo(HWND, int, LPSCROLLINFO);
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOWINMESSAGES */
- #endif /* !NOCTLMGR */
-
- #ifndef NOMDI
-
- /*
- * MDI client style bits
- */
- #define MDIS_ALLCHILDSTYLES 0x0001
-
- /*
- * wParam Flags for WM_MDITILE and WM_MDICASCADE messages.
- */
- #define MDITILE_VERTICAL 0x0000 /*not in win3.1 */
- #define MDITILE_HORIZONTAL 0x0001 /*not in win3.1 */
- #define MDITILE_SKIPDISABLED 0x0002 /*not in win3.1 */
-
- typedef struct tagMDICREATESTRUCTA {
- LPCSTR szClass;
- LPCSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam; /* app-defined stuff */
- } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
- typedef struct tagMDICREATESTRUCTW {
- LPCWSTR szClass;
- LPCWSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam; /* app-defined stuff */
- } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
- #ifdef UNICODE
- typedef MDICREATESTRUCTW MDICREATESTRUCT;
- typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT;
- #else
- typedef MDICREATESTRUCTA MDICREATESTRUCT;
- typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;
- #endif // UNICODE
-
- typedef struct tagCLIENTCREATESTRUCT {
- HANDLE hWindowMenu;
- UINT idFirstChild;
- } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
-
- WINUSERAPI
- LRESULT
- WINAPI
- DefFrameProcA(
- HWND hWnd,
- HWND hWndMDIClient ,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefFrameProcW(
- HWND hWnd,
- HWND hWndMDIClient ,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefFrameProc DefFrameProcW
- #else
- #define DefFrameProc DefFrameProcA
- #endif // !UNICODE
-
- WINUSERAPI
- LRESULT
- WINAPI
- DefMDIChildProcA(
- HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefMDIChildProcW(
- HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefMDIChildProc DefMDIChildProcW
- #else
- #define DefMDIChildProc DefMDIChildProcA
- #endif // !UNICODE
-
- #ifndef NOMSG
-
- WINUSERAPI
- BOOL
- WINAPI
- TranslateMDISysAccel(
- HWND hWndClient,
- LPMSG lpMsg);
-
- #endif /* !NOMSG */
-
- WINUSERAPI
- UINT
- WINAPI
- ArrangeIconicWindows(
- HWND hWnd);
-
- WINUSERAPI
- HWND
- WINAPI
- CreateMDIWindowA(
- LPSTR lpClassName,
- LPSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent,
- HINSTANCE hInstance,
- LPARAM lParam
- );
- WINUSERAPI
- HWND
- WINAPI
- CreateMDIWindowW(
- LPWSTR lpClassName,
- LPWSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent,
- HINSTANCE hInstance,
- LPARAM lParam
- );
- #ifdef UNICODE
- #define CreateMDIWindow CreateMDIWindowW
- #else
- #define CreateMDIWindow CreateMDIWindowA
- #endif // !UNICODE
-
- #if(WINVER >= 0x0400)
- WINUSERAPI WORD WINAPI TileWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids, const HWND FAR * lpKids);
- WINUSERAPI WORD WINAPI CascadeWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids, const HWND FAR * lpKids);
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOMDI */
-
- #if(WINVER >= 0x0400)
- #ifndef NOIME
-
- /*
- * IME class support
- */
-
- // wParam for WM_IME_CONTROL
- #define IMC_GETCANDIDATEPOS 0x0007
- #define IMC_SETCANDIDATEPOS 0x0008
- #define IMC_GETCOMPOSITIONFONT 0x0009
- #define IMC_SETCOMPOSITIONFONT 0x000A
- #define IMC_GETCOMPOSITIONWINDOW 0x000B
- #define IMC_SETCOMPOSITIONWINDOW 0x000C
- #define IMC_GETSTATUSWINDOWPOS 0x000F
- #define IMC_SETSTATUSWINDOWPOS 0x0010
- #define IMC_CLOSESTATUSWINDOW 0x0021
- #define IMC_OPENSTATUSWINDOW 0x0022
-
- // wParam of report message WM_IME_NOTIFY
- #define IMN_CLOSESTATUSWINDOW 0x0001
- #define IMN_OPENSTATUSWINDOW 0x0002
- #define IMN_CHANGECANDIDATE 0x0003
- #define IMN_CLOSECANDIDATE 0x0004
- #define IMN_OPENCANDIDATE 0x0005
- #define IMN_SETCONVERSIONMODE 0x0006
- #define IMN_SETSENTENCEMODE 0x0007
- #define IMN_SETOPENSTATUS 0x0008
- #define IMN_SETCANDIDATEPOS 0x0009
- #define IMN_SETCOMPOSITIONFONT 0x000A
- #define IMN_SETCOMPOSITIONWINDOW 0x000B
- #define IMN_SETSTATUSWINDOWPOS 0x000C
- #define IMN_GUIDELINE 0x000D
- #define IMN_PRIVATE 0x000E
-
- #endif /* !NOIME */
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOUSER */
-
- /****** Help support ********************************************************/
-
- #ifndef NOHELP
-
- typedef DWORD HELPPOLY;
- typedef struct tagMULTIKEYHELPA {
- DWORD mkSize;
- CHAR mkKeylist;
- CHAR szKeyphrase[1];
- } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
- typedef struct tagMULTIKEYHELPW {
- DWORD mkSize;
- WCHAR mkKeylist;
- WCHAR szKeyphrase[1];
- } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
- #ifdef UNICODE
- typedef MULTIKEYHELPW MULTIKEYHELP;
- typedef PMULTIKEYHELPW PMULTIKEYHELP;
- typedef LPMULTIKEYHELPW LPMULTIKEYHELP;
- #else
- typedef MULTIKEYHELPA MULTIKEYHELP;
- typedef PMULTIKEYHELPA PMULTIKEYHELP;
- typedef LPMULTIKEYHELPA LPMULTIKEYHELP;
- #endif // UNICODE
-
- typedef struct tagHELPWININFOA {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- CHAR rgchMember[2];
- } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
- typedef struct tagHELPWININFOW {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- WCHAR rgchMember[2];
- } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
- #ifdef UNICODE
- typedef HELPWININFOW HELPWININFO;
- typedef PHELPWININFOW PHELPWININFO;
- typedef LPHELPWININFOW LPHELPWININFO;
- #else
- typedef HELPWININFOA HELPWININFO;
- typedef PHELPWININFOA PHELPWININFO;
- typedef LPHELPWININFOA LPHELPWININFO;
- #endif // UNICODE
-
- /*
- * Commands to pass to WinHelp()
- */
- #define HELP_CONTEXT 0x0001L /* Display topic in ulTopic */
- #define HELP_QUIT 0x0002L /* Terminate help */
- #define HELP_INDEX 0x0003L /* Display index */
- #define HELP_CONTENTS 0x0003L
- #define HELP_HELPONHELP 0x0004L /* Display help on using help */
- #define HELP_SETINDEX 0x0005L /* Set current Index for multi index help */
- #define HELP_SETCONTENTS 0x0005L
- #define HELP_CONTEXTPOPUP 0x0008L
- #define HELP_FORCEFILE 0x0009L
- #define HELP_KEY 0x0101L /* Display topic for keyword in offabData */
- #define HELP_COMMAND 0x0102L
- #define HELP_PARTIALKEY 0x0105L
- #define HELP_MULTIKEY 0x0201L
- #define HELP_SETWINPOS 0x0203L
- #if(WINVER >= 0x0400)
- #define HELP_CONTEXTMENU 0x000a
- #define HELP_FINDER 0x000b
- #define HELP_WM_HELP 0x000c
- #define HELP_SETPOPUP_POS 0x000d
-
- #define HELP_TCARD 0x8000
- #define HELP_TCARD_DATA 0x0010
- #define HELP_TCARD_OTHER_CALLER 0x0011
-
- // These are in winhelp.h in Win95.
- #define IDH_NO_HELP 28440
- #define IDH_MISSING_CONTEXT 28441 // Control doesn't have matching help context
- #define IDH_GENERIC_HELP_BUTTON 28442 // Property sheet help button
- #define IDH_OK 28443
- #define IDH_CANCEL 28444
- #define IDH_HELP 28445
-
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- WinHelpA(
- HWND hWndMain,
- LPCSTR lpszHelp,
- UINT uCommand,
- DWORD dwData
- );
- WINUSERAPI
- BOOL
- WINAPI
- WinHelpW(
- HWND hWndMain,
- LPCWSTR lpszHelp,
- UINT uCommand,
- DWORD dwData
- );
- #ifdef UNICODE
- #define WinHelp WinHelpW
- #else
- #define WinHelp WinHelpA
- #endif // !UNICODE
-
- #endif /* !NOHELP */
-
- #ifndef NOSYSPARAMSINFO
-
- /*
- * Parameter for SystemParametersInfo()
- */
-
- #define SPI_GETBEEP 1
- #define SPI_SETBEEP 2
- #define SPI_GETMOUSE 3
- #define SPI_SETMOUSE 4
- #define SPI_GETBORDER 5
- #define SPI_SETBORDER 6
- #define SPI_GETKEYBOARDSPEED 10
- #define SPI_SETKEYBOARDSPEED 11
- #define SPI_LANGDRIVER 12
- #define SPI_ICONHORIZONTALSPACING 13
- #define SPI_GETSCREENSAVETIMEOUT 14
- #define SPI_SETSCREENSAVETIMEOUT 15
- #define SPI_GETSCREENSAVEACTIVE 16
- #define SPI_SETSCREENSAVEACTIVE 17
- #define SPI_GETGRIDGRANULARITY 18
- #define SPI_SETGRIDGRANULARITY 19
- #define SPI_SETDESKWALLPAPER 20
- #define SPI_SETDESKPATTERN 21
- #define SPI_GETKEYBOARDDELAY 22
- #define SPI_SETKEYBOARDDELAY 23
- #define SPI_ICONVERTICALSPACING 24
- #define SPI_GETICONTITLEWRAP 25
- #define SPI_SETICONTITLEWRAP 26
- #define SPI_GETMENUDROPALIGNMENT 27
- #define SPI_SETMENUDROPALIGNMENT 28
- #define SPI_SETDOUBLECLKWIDTH 29
- #define SPI_SETDOUBLECLKHEIGHT 30
- #define SPI_GETICONTITLELOGFONT 31
- #define SPI_SETDOUBLECLICKTIME 32
- #define SPI_SETMOUSEBUTTONSWAP 33
- #define SPI_SETICONTITLELOGFONT 34
- #define SPI_GETFASTTASKSWITCH 35
- #define SPI_SETFASTTASKSWITCH 36
- #if(WINVER >= 0x0400)
- #define SPI_SETDRAGFULLWINDOWS 37
- #define SPI_GETDRAGFULLWINDOWS 38
- #define SPI_GETNONCLIENTMETRICS 41
- #define SPI_SETNONCLIENTMETRICS 42
- #define SPI_GETMINIMIZEDMETRICS 43
- #define SPI_SETMINIMIZEDMETRICS 44
- #define SPI_GETICONMETRICS 45
- #define SPI_SETICONMETRICS 46
- #define SPI_SETWORKAREA 47
- #define SPI_GETWORKAREA 48
- #define SPI_SETPENWINDOWS 49
-
- #define SPI_GETHIGHCONTRAST 66
- #define SPI_SETHIGHCONTRAST 67
- #define SPI_GETKEYBOARDPREF 68
- #define SPI_SETKEYBOARDPREF 69
- #define SPI_GETSCREENREADER 70
- #define SPI_SETSCREENREADER 71
- #define SPI_GETANIMATION 72
- #define SPI_SETANIMATION 73
- #define SPI_GETFONTSMOOTHING 74
- #define SPI_SETFONTSMOOTHING 75
- #define SPI_SETDRAGWIDTH 76
- #define SPI_SETDRAGHEIGHT 77
- #define SPI_SETHANDHELD 78
- #define SPI_GETLOWPOWERTIMEOUT 79
- #define SPI_GETPOWEROFFTIMEOUT 80
- #define SPI_SETLOWPOWERTIMEOUT 81
- #define SPI_SETPOWEROFFTIMEOUT 82
- #define SPI_GETLOWPOWERACTIVE 83
- #define SPI_GETPOWEROFFACTIVE 84
- #define SPI_SETLOWPOWERACTIVE 85
- #define SPI_SETPOWEROFFACTIVE 86
- #define SPI_SETCURSORS 87
- #define SPI_SETICONS 88
- #define SPI_GETDEFAULTINPUTLANG 89
- #define SPI_SETDEFAULTINPUTLANG 90
- #define SPI_SETLANGTOGGLE 91
- #define SPI_GETWINDOWSEXTENSION 92
- #define SPI_SETMOUSETRAILS 93
- #define SPI_GETMOUSETRAILS 94
- #define SPI_SCREENSAVERRUNNING 97
- #endif /* WINVER >= 0x0400 */
- #define SPI_GETFILTERKEYS 50
- #define SPI_SETFILTERKEYS 51
- #define SPI_GETTOGGLEKEYS 52
- #define SPI_SETTOGGLEKEYS 53
- #define SPI_GETMOUSEKEYS 54
- #define SPI_SETMOUSEKEYS 55
- #define SPI_GETSHOWSOUNDS 56
- #define SPI_SETSHOWSOUNDS 57
- #define SPI_GETSTICKYKEYS 58
- #define SPI_SETSTICKYKEYS 59
- #define SPI_GETACCESSTIMEOUT 60
- #define SPI_SETACCESSTIMEOUT 61
- #if(WINVER >= 0x0400)
- #define SPI_GETSERIALKEYS 62
- #define SPI_SETSERIALKEYS 63
- #endif /* WINVER >= 0x0400 */
- #define SPI_GETSOUNDSENTRY 64
- #define SPI_SETSOUNDSENTRY 65
-
- /*
- * Flags
- */
- #define SPIF_UPDATEINIFILE 0x0001
- #define SPIF_SENDWININICHANGE 0x0002
- #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
-
- #if(WINVER >= 0x0400)
- #define METRICS_USEDEFAULT -1
- #ifdef _WINGDI_
- #ifndef NOGDI
- typedef struct tagNONCLIENTMETRICSA
- {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTA lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTA lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTA lfMenuFont;
- LOGFONTA lfStatusFont;
- LOGFONTA lfMessageFont;
- } NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, FAR* LPNONCLIENTMETRICSA;
- typedef struct tagNONCLIENTMETRICSW
- {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTW lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTW lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTW lfMenuFont;
- LOGFONTW lfStatusFont;
- LOGFONTW lfMessageFont;
- } NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, FAR* LPNONCLIENTMETRICSW;
- #ifdef UNICODE
- typedef NONCLIENTMETRICSW NONCLIENTMETRICS;
- typedef PNONCLIENTMETRICSW PNONCLIENTMETRICS;
- typedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS;
- #else
- typedef NONCLIENTMETRICSA NONCLIENTMETRICS;
- typedef PNONCLIENTMETRICSA PNONCLIENTMETRICS;
- typedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;
- #endif // UNICODE
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
-
- #define ARW_BOTTOMLEFT 0x0000L
- #define ARW_BOTTOMRIGHT 0x0001L
- #define ARW_TOPLEFT 0x0002L
- #define ARW_TOPRIGHT 0x0003L
- #define ARW_STARTMASK 0x0003L
- #define ARW_STARTRIGHT 0x0001L
- #define ARW_STARTTOP 0x0002L
-
- #define ARW_LEFT 0x0000L
- #define ARW_RIGHT 0x0000L
- #define ARW_UP 0x0004L
- #define ARW_DOWN 0x0004L
- #define ARW_HIDE 0x0008L
- #define ARW_VALID 0x000FL
-
- typedef struct tagMINIMIZEDMETRICS
- {
- UINT cbSize;
- int iWidth;
- int iHorzGap;
- int iVertGap;
- int iArrange;
- } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
-
- typedef struct tagICONMETRICSA
- {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTA lfFont;
- } ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
- typedef struct tagICONMETRICSW
- {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTW lfFont;
- } ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
- #ifdef UNICODE
- typedef ICONMETRICSW ICONMETRICS;
- typedef PICONMETRICSW PICONMETRICS;
- typedef LPICONMETRICSW LPICONMETRICS;
- #else
- typedef ICONMETRICSA ICONMETRICS;
- typedef PICONMETRICSA PICONMETRICS;
- typedef LPICONMETRICSA LPICONMETRICS;
- #endif // UNICODE
-
- typedef struct tagANIMATIONINFO
- {
- UINT cbSize;
- int iMinAnimate;
- } ANIMATIONINFO, *LPANIMATIONINFO;
-
- typedef struct tagSERIALKEYSA
- {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszActivePort;
- LPSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
- } SERIALKEYSA, *LPSERIALKEYSA;
- typedef struct tagSERIALKEYSW
- {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszActivePort;
- LPWSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
- } SERIALKEYSW, *LPSERIALKEYSW;
- #ifdef UNICODE
- typedef SERIALKEYSW SERIALKEYS;
- typedef LPSERIALKEYSW LPSERIALKEYS;
- #else
- typedef SERIALKEYSA SERIALKEYS;
- typedef LPSERIALKEYSA LPSERIALKEYS;
- #endif // UNICODE
-
- /* flags for SERIALKEYS dwFlags field */
- #define SERKF_SERIALKEYSON 0x00000001
- #define SERKF_AVAILABLE 0x00000002
- #define SERKF_INDICATOR 0x00000004
-
- typedef struct tagHIGHCONTRASTA
- {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszDefaultScheme;
- } HIGHCONTRASTA, *LPHIGHCONTRASTA;
- typedef struct tagHIGHCONTRASTW
- {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszDefaultScheme;
- } HIGHCONTRASTW, *LPHIGHCONTRASTW;
- #ifdef UNICODE
- typedef HIGHCONTRASTW HIGHCONTRAST;
- typedef LPHIGHCONTRASTW LPHIGHCONTRAST;
- #else
- typedef HIGHCONTRASTA HIGHCONTRAST;
- typedef LPHIGHCONTRASTA LPHIGHCONTRAST;
- #endif // UNICODE
-
- /* flags for HIGHCONTRAST dwFlags field */
- #define HCF_HIGHCONTRASTON 0x00000001
- #define HCF_AVAILABLE 0x00000002
- #define HCF_HOTKEYACTIVE 0x00000004
- #define HCF_CONFIRMHOTKEY 0x00000008
- #define HCF_HOTKEYSOUND 0x00000010
- #define HCF_INDICATOR 0x00000020
- #define HCF_HOTKEYAVAILABLE 0x00000040
-
- /* Flags for ChangeDisplaySettings */
- #define CDS_UPDATEREGISTRY 0x00000001
- #define CDS_TEST 0x00000002
- #define CDS_FULLSCREEN 0x00000004
-
- /* Return values */
- #define DISP_CHANGE_SUCCESSFUL 0
- #define DISP_CHANGE_RESTART 1
- #define DISP_CHANGE_FAILED -1
- #define DISP_CHANGE_BADMODE -2
- #define DISP_CHANGE_NOTUPDATED -3
- #define DISP_CHANGE_BADFLAGS -4
-
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsA(
- LPDEVMODEA lpDevMode,
- DWORD dwFlags);
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsW(
- LPDEVMODEW lpDevMode,
- DWORD dwFlags);
- #ifdef UNICODE
- #define ChangeDisplaySettings ChangeDisplaySettingsW
- #else
- #define ChangeDisplaySettings ChangeDisplaySettingsA
- #endif // !UNICODE
-
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsA(
- LPCSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEA lpDevMode);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsW(
- LPCWSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEW lpDevMode);
- #ifdef UNICODE
- #define EnumDisplaySettings EnumDisplaySettingsW
- #else
- #define EnumDisplaySettings EnumDisplaySettingsA
- #endif // !UNICODE
-
- #endif /* WINVER >= 0x0400 */
-
- WINUSERAPI
- BOOL
- WINAPI
- SystemParametersInfoA(
- UINT uiAction,
- UINT uiParam,
- PVOID pvParam,
- UINT fWinIni);
- WINUSERAPI
- BOOL
- WINAPI
- SystemParametersInfoW(
- UINT uiAction,
- UINT uiParam,
- PVOID pvParam,
- UINT fWinIni);
- #ifdef UNICODE
- #define SystemParametersInfo SystemParametersInfoW
- #else
- #define SystemParametersInfo SystemParametersInfoA
- #endif // !UNICODE
-
- #endif /* !NOSYSPARAMSINFO */
-
- /*
- * Accessibility support
- */
- typedef struct tagFILTERKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iWaitMSec; // Acceptance Delay
- DWORD iDelayMSec; // Delay Until Repeat
- DWORD iRepeatMSec; // Repeat Rate
- DWORD iBounceMSec; // Debounce Time
- } FILTERKEYS, *LPFILTERKEYS;
-
- /*
- * FILTERKEYS dwFlags field
- */
- #define FKF_FILTERKEYSON 0x00000001
- #define FKF_AVAILABLE 0x00000002
- #define FKF_HOTKEYACTIVE 0x00000004
- #define FKF_CONFIRMHOTKEY 0x00000008
- #define FKF_HOTKEYSOUND 0x00000010
- #define FKF_INDICATOR 0x00000020
- #define FKF_CLICKON 0x00000040
-
- typedef struct tagSTICKYKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- } STICKYKEYS, *LPSTICKYKEYS;
-
- /*
- * STICKYKEYS dwFlags field
- */
- #define SKF_STICKYKEYSON 0x00000001
- #define SKF_AVAILABLE 0x00000002
- #define SKF_HOTKEYACTIVE 0x00000004
- #define SKF_CONFIRMHOTKEY 0x00000008
- #define SKF_HOTKEYSOUND 0x00000010
- #define SKF_INDICATOR 0x00000020
- #define SKF_AUDIBLEFEEDBACK 0x00000040
- #define SKF_TRISTATE 0x00000080
- #define SKF_TWOKEYSOFF 0x00000100
-
- typedef struct tagMOUSEKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iMaxSpeed;
- DWORD iTimeToMaxSpeed;
- DWORD iCtrlSpeed;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } MOUSEKEYS, *LPMOUSEKEYS;
-
- /*
- * MOUSEKEYS dwFlags field
- */
- #define MKF_MOUSEKEYSON 0x00000001
- #define MKF_AVAILABLE 0x00000002
- #define MKF_HOTKEYACTIVE 0x00000004
- #define MKF_CONFIRMHOTKEY 0x00000008
- #define MKF_HOTKEYSOUND 0x00000010
- #define MKF_INDICATOR 0x00000020
- #define MKF_MODIFIERS 0x00000040
- #define MKF_REPLACENUMBERS 0x00000080
-
- typedef struct tagACCESSTIMEOUT
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iTimeOutMSec;
- } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-
- /*
- * ACCESSTIMEOUT dwFlags field
- */
- #define ATF_TIMEOUTON 0x00000001
- #define ATF_ONOFFFEEDBACK 0x00000002
-
- /* values for SOUNDSENTRY iFSGrafEffect field */
- #define SSGF_NONE 0
- #define SSGF_DISPLAY 3
-
- /* values for SOUNDSENTRY iFSTextEffect field */
- #define SSTF_NONE 0
- #define SSTF_CHARS 1
- #define SSTF_BORDER 2
- #define SSTF_DISPLAY 3
-
- /* values for SOUNDSENTRY iWindowsEffect field */
- #define SSWF_NONE 0
- #define SSWF_TITLE 1
- #define SSWF_WINDOW 2
- #define SSWF_DISPLAY 3
- #define SSWF_CUSTOM 4
-
- typedef struct tagSOUNDSENTRYA
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
- } SOUNDSENTRYA, *LPSOUNDSENTRYA;
- typedef struct tagSOUNDSENTRYW
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPWSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
- } SOUNDSENTRYW, *LPSOUNDSENTRYW;
- #ifdef UNICODE
- typedef SOUNDSENTRYW SOUNDSENTRY;
- typedef LPSOUNDSENTRYW LPSOUNDSENTRY;
- #else
- typedef SOUNDSENTRYA SOUNDSENTRY;
- typedef LPSOUNDSENTRYA LPSOUNDSENTRY;
- #endif // UNICODE
-
- /*
- * SOUNDSENTRY dwFlags field
- */
- #define SSF_SOUNDSENTRYON 0x00000001
- #define SSF_AVAILABLE 0x00000002
- #define SSF_INDICATOR 0x00000004
-
- typedef struct tagTOGGLEKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- } TOGGLEKEYS, *LPTOGGLEKEYS;
-
- /*
- * TOGGLEKEYS dwFlags field
- */
- #define TKF_TOGGLEKEYSON 0x00000001
- #define TKF_AVAILABLE 0x00000002
- #define TKF_HOTKEYACTIVE 0x00000004
- #define TKF_CONFIRMHOTKEY 0x00000008
- #define TKF_HOTKEYSOUND 0x00000010
- #define TKF_INDICATOR 0x00000020
-
- /*
- * Set debug level
- */
-
- WINUSERAPI
- VOID
- WINAPI
- SetDebugErrorLevel(
- DWORD dwLevel
- );
-
- /*
- * SetLastErrorEx() types.
- */
-
- #define SLE_ERROR 0x00000001
- #define SLE_MINORERROR 0x00000002
- #define SLE_WARNING 0x00000003
-
- WINUSERAPI
- VOID
- WINAPI
- SetLastErrorEx(
- DWORD dwErrCode,
- DWORD dwType
- );
-
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-
- #endif /* !_WINUSER_ */
-