--- mstools/h/winuser.h 2018/08/09 18:20:32 1.1.1.2 +++ mstools/h/winuser.h 2018/08/09 18:21:11 1.1.1.3 @@ -16,9 +16,26 @@ Abstract: #ifndef _WINUSER_ #define _WINUSER_ +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0314 // version 3.2 +#endif + +#include "stdarg.h" + #ifndef NOUSER typedef HANDLE HDWP; +typedef VOID MENUTEMPLATEA; +typedef VOID MENUTEMPLATEW; +#ifdef UNICODE +#define MENUTEMPLATE MENUTEMPLATEW +#else +#define MENUTEMPLATE MENUTEMPLATEA +#endif // UNICODE typedef PVOID LPMENUTEMPLATEA; typedef PVOID LPMENUTEMPLATEW; #ifdef UNICODE @@ -37,14 +54,17 @@ typedef BOOL (CALLBACK* PROPENUMPROCEX)( typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM); typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); typedef int (CALLBACK* EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch, int code); +typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT); #else typedef FARPROC DLGPROC; typedef FARPROC TIMERPROC; typedef FARPROC GRAYSTRINGPROC; typedef FARPROC PROPENUMPROC; +typedef FARPROC PROPENUMPROCEX; typedef FARPROC WNDENUMPROC; typedef FARPROC HOOKPROC; typedef FARPROC EDITWORDBREAKPROC; +typedef FARPROC SENDASYNCPROC; #endif #define MAKEINTRESOURCE(i) (LPTSTR)((DWORD)((WORD)(i))) @@ -80,8 +100,8 @@ typedef FARPROC EDITWORDBREAKPROC; #endif /* NORESOURCE */ -int WINAPI wvsprintfA(LPSTR, LPCSTR, CONST VOID *); -int WINAPI wvsprintfW(LPWSTR, LPCSTR, CONST VOID *); +int WINAPI wvsprintfA(LPSTR, LPCSTR, const void FAR* arglist); +int WINAPI wvsprintfW(LPWSTR, LPCWSTR, const void FAR* arglist); #ifdef UNICODE #define wvsprintf wvsprintfW #else @@ -89,7 +109,7 @@ int WINAPI wvsprintfW(LPWSTR, LPCSTR, CO #endif // !UNICODE int WINAPI wsprintfA(LPSTR, LPCSTR, ...); -int WINAPI wsprintfW(LPWSTR, LPCSTR, ...); +int WINAPI wsprintfW(LPWSTR, LPCWSTR, ...); #ifdef UNICODE #define wsprintf wsprintfW #else @@ -106,15 +126,21 @@ int WINAPI wsprintfW(LPWSTR, LPCSTR, ... #define SB_MAX 3 /* Scroll Bar Commands */ -#define SB_LINEUP 0 -#define SB_LINEDOWN 1 -#define SB_PAGEUP 2 -#define SB_PAGEDOWN 3 +#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_BOTTOM 7 -#define SB_ENDSCROLL 8 +#define SB_THUMBTRACK 5 +#define SB_TOP 6 +#define SB_LEFT 6 +#define SB_BOTTOM 7 +#define SB_RIGHT 7 +#define SB_ENDSCROLL 8 #define SB_CMD_MAX 8 #endif /* NOSCROLL */ @@ -152,6 +178,14 @@ int WINAPI wsprintfW(LPWSTR, LPCSTR, ... #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 */ @@ -420,17 +454,17 @@ typedef struct tagMOUSEHOOKSTRUCT { */ #define KL_NAMELENGTH 9 -HKL LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags); -HKL LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags); +HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags); +HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags); #ifdef UNICODE #define LoadKeyboardLayout LoadKeyboardLayoutW #else #define LoadKeyboardLayout LoadKeyboardLayoutA #endif // !UNICODE -BOOL ActivateKeyboardLayout(HKL hkl, UINT Flags); -BOOL UnloadKeyboardLayout(HKL hkl); -BOOL GetKeyboardLayoutNameA(LPSTR pwszKLID); -BOOL GetKeyboardLayoutNameW(LPWSTR pwszKLID); +BOOL WINAPI ActivateKeyboardLayout(HKL hkl, UINT Flags); +BOOL WINAPI UnloadKeyboardLayout(HKL hkl); +BOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID); +BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID); #ifdef UNICODE #define GetKeyboardLayoutName GetKeyboardLayoutNameW #else @@ -481,7 +515,6 @@ GetProcessWindowStation( * window-specific access flags */ #define WIN_ACCESSWINDOW 0x0001L -#define WIN_ENUMERATE 0x0002L /* * menu-specific access flags @@ -504,6 +537,12 @@ GetUserObjectSecurity( DWORD, LPDWORD); +BOOL +WINAPI +ImpersonateDDEClientWindow( + HWND hwndClient, + HWND hwndServer); + #endif /* NOSECURITY */ typedef struct tagWNDCLASSA { @@ -511,7 +550,7 @@ typedef struct tagWNDCLASSA { WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; - HANDLE hInstance; + HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; @@ -523,7 +562,7 @@ typedef struct tagWNDCLASSW { WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; - HANDLE hInstance; + HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; @@ -542,6 +581,7 @@ typedef struct tagWNDCLASSW { #define LPWNDCLASS LPWNDCLASSA #endif // UNICODE + #ifndef NOMSG /* Message structure */ @@ -557,6 +597,9 @@ typedef struct tagMSG { #define POINTSTOPOINT(pt,pts) {(pt).x = (SHORT)LOWORD(pts); \ (pt).y = (SHORT)HIWORD(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 */ @@ -582,6 +625,7 @@ typedef struct tagMSG { #define GCL_CBCLSEXTRA (-20) #define GCL_WNDPROC (-24) #define GCL_STYLE (-26) + //!!!define GCW_ATOM (-32) #endif /* NOWINOFFSETS */ @@ -595,6 +639,13 @@ typedef struct tagMSG { #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 @@ -631,7 +682,7 @@ typedef struct tagMINMAXINFO { POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize; -} MINMAXINFO, *PMINMAXINFO; +} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; #define WM_GETMINMAXINFO 0x0024 @@ -660,6 +711,13 @@ typedef struct tagMINMAXINFO { #define WM_WINDOWPOSCHANGING 0x0046 #define WM_WINDOWPOSCHANGED 0x0047 #define WM_POWER 0x0048 +#define WM_COPYDATA 0x004A +typedef struct tagCOPYDATASTRUCT { + DWORD dwData; + DWORD cbData; + PVOID lpData; +} COPYDATASTRUCT, *PCOPYDATASTRUCT; + #define WM_NCCREATE 0x0081 #define WM_NCDESTROY 0x0082 @@ -804,6 +862,11 @@ typedef struct tagMINMAXINFO { #define HTSIZEFIRST HTLEFT #define HTSIZELAST HTBOTTOMRIGHT +/* SendMessageTimeout values */ +#define SMTO_NORMAL 0x0000 +#define SMTO_BLOCK 0x0001 +#define SMTO_ABORTIFHUNG 0x0002 + #endif /* NONCMESSAGES */ /* WM_MOUSEACTIVATE Return Codes */ @@ -1001,7 +1064,7 @@ typedef struct tagPAINTSTRUCT { typedef struct tagCREATESTRUCTA { LPVOID lpCreateParams; - HANDLE hInstance; + HINSTANCE hInstance; HMENU hMenu; HWND hwndParent; int cy; @@ -1015,7 +1078,7 @@ typedef struct tagCREATESTRUCTA { } CREATESTRUCTA, *LPCREATESTRUCTA; typedef struct tagCREATESTRUCTW { LPVOID lpCreateParams; - HANDLE hInstance; + HINSTANCE hInstance; HMENU hMenu; HWND hwndParent; int cy; @@ -1043,7 +1106,7 @@ typedef struct tagWINDOWPLACEMENT { POINT ptMaxPosition; RECT rcNormalPosition; } WINDOWPLACEMENT; -typedef WINDOWPLACEMENT *PWINDOWPLACEMENT; +typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT; #define WPF_SETMINPOSITION 0x0001 #define WPF_RESTORETOMAXIMIZED 0x0002 @@ -1220,7 +1283,7 @@ UnregisterHotKey( #define EWX_FORCE 4 -#define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, (-1)) +#define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF) BOOL WINAPI @@ -1268,6 +1331,32 @@ SendMessageW( #define SendMessage SendMessageA #endif // !UNICODE +LRESULT +WINAPI +SendMessageTimeoutA( + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + UINT fuFlags, + UINT uTimeout, + LPDWORD lpdwResult); +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 + BOOL WINAPI SendNotifyMessageA( @@ -1290,6 +1379,30 @@ SendNotifyMessageW( BOOL WINAPI +SendMessageCallbackA( + HWND hwnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam, + SENDASYNCPROC lpResultCallBack, + DWORD dwData); +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 + +BOOL +WINAPI PostMessageA( HWND hWnd, UINT Msg, @@ -1390,6 +1503,7 @@ WINAPI PostQuitMessage( int nExitCode); +#ifdef STRICT LRESULT WINAPI CallWindowProcA( @@ -1405,7 +1519,25 @@ CallWindowProcW( HWND hWnd, UINT Msg, WPARAM wParam, + LPARAM lParam); +#else +LRESULT +WINAPI +CallWindowProcA( + FARPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, LPARAM lParam); +LRESULT +WINAPI +CallWindowProcW( + FARPROC lpPrevWndFunc, + HWND hWnd, + UINT Msg, + WPARAM wParam, + LPARAM lParam); +#endif #ifdef UNICODE #define CallWindowProc CallWindowProcW #else @@ -1430,11 +1562,11 @@ SetDoubleClickTime( ATOM WINAPI RegisterClassA( - LPWNDCLASSA lpWndClass); + CONST WNDCLASSA *lpWndClass); ATOM WINAPI RegisterClassW( - LPWNDCLASSW lpWndClass); + CONST WNDCLASSW *lpWndClass); #ifdef UNICODE #define RegisterClass RegisterClassW #else @@ -1445,12 +1577,12 @@ BOOL WINAPI UnregisterClassA( LPCSTR lpClassName, - HANDLE hInstance); + HINSTANCE hInstance); BOOL WINAPI UnregisterClassW( LPCWSTR lpClassName, - HANDLE hInstance); + HINSTANCE hInstance); #ifdef UNICODE #define UnregisterClass UnregisterClassW #else @@ -1460,13 +1592,13 @@ UnregisterClassW( BOOL WINAPI GetClassInfoA( - HANDLE hInstance , + HINSTANCE hInstance , LPCSTR lpClassName, LPWNDCLASSA lpWndClass); BOOL WINAPI GetClassInfoW( - HANDLE hInstance , + HINSTANCE hInstance , LPCWSTR lpClassName, LPWNDCLASSW lpWndClass); #ifdef UNICODE @@ -1493,7 +1625,7 @@ CreateWindowExA( int nHeight, HWND hWndParent , HMENU hMenu, - HANDLE hInstance, + HINSTANCE hInstance, LPVOID lpParam); HWND WINAPI @@ -1508,7 +1640,7 @@ CreateWindowExW( int nHeight, HWND hWndParent , HMENU hMenu, - HANDLE hInstance, + HINSTANCE hInstance, LPVOID lpParam); #ifdef UNICODE #define CreateWindowEx CreateWindowExW @@ -1537,6 +1669,11 @@ IsWindow( BOOL WINAPI +IsMenu( + HMENU hMenu); + +BOOL +WINAPI IsChild( HWND hWndParent, HWND hWnd); @@ -1605,7 +1742,7 @@ BOOL WINAPI SetWindowPlacement( HWND hwnd, - WINDOWPLACEMENT *lpwndpl); + CONST WINDOWPLACEMENT *lpwndpl); #ifndef NODEFERWINDOWPOS @@ -1748,7 +1885,7 @@ typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLA HWND WINAPI CreateDialogParamA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent , DLGPROC lpDialogFunc, @@ -1756,7 +1893,7 @@ CreateDialogParamA( HWND WINAPI CreateDialogParamW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent , DLGPROC lpDialogFunc, @@ -1770,7 +1907,7 @@ CreateDialogParamW( HWND WINAPI CreateDialogIndirectParamA( - HANDLE hInstance, + HINSTANCE hInstance, LPCDLGTEMPLATEA lpTemplate, HWND hwndParent, DLGPROC lpDialogFunc, @@ -1778,7 +1915,7 @@ CreateDialogIndirectParamA( HWND WINAPI CreateDialogIndirectParamW( - HANDLE hInstance, + HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hwndParent, DLGPROC lpDialogFunc, @@ -1812,7 +1949,7 @@ CreateDialogIndirectParamW(hInstance, lp int WINAPI DialogBoxParamA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent , DLGPROC lpDialogFunc, @@ -1820,7 +1957,7 @@ DialogBoxParamA( int WINAPI DialogBoxParamW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent , DLGPROC lpDialogFunc, @@ -1834,7 +1971,7 @@ DialogBoxParamW( int WINAPI DialogBoxIndirectParamA( - HANDLE hInstance, + HINSTANCE hInstance, LPDLGTEMPLATEA hDialogTemplate, HWND hWndParent , DLGPROC lpDialogFunc, @@ -1842,7 +1979,7 @@ DialogBoxIndirectParamA( int WINAPI DialogBoxIndirectParamW( - HANDLE hInstance, + HINSTANCE hInstance, LPDLGTEMPLATEW hDialogTemplate, HWND hWndParent , DLGPROC lpDialogFunc, @@ -2581,15 +2718,15 @@ WINAPI IsWindowEnabled( HWND hWnd); -HANDLE +HACCEL WINAPI LoadAcceleratorsA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpTableName); -HANDLE +HACCEL WINAPI LoadAcceleratorsW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpTableName); #ifdef UNICODE #define LoadAccelerators LoadAcceleratorsW @@ -2685,12 +2822,12 @@ GetSystemMetrics( HMENU WINAPI LoadMenuA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpMenuName); HMENU WINAPI LoadMenuW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpMenuName); #ifdef UNICODE #define LoadMenu LoadMenuW @@ -2701,11 +2838,11 @@ LoadMenuW( HMENU WINAPI LoadMenuIndirectA( - LPMENUTEMPLATEA lpMenuTemplate); + CONST MENUTEMPLATEA *lpMenuTemplate); HMENU WINAPI LoadMenuIndirectW( - LPMENUTEMPLATEW lpMenuTemplate); + CONST MENUTEMPLATEW *lpMenuTemplate); #ifdef UNICODE #define LoadMenuIndirect LoadMenuIndirectW #else @@ -2808,7 +2945,7 @@ WINAPI DestroyMenu( HMENU hMenu); -DWORD +BOOL WINAPI CheckMenuItem( HMENU hMenu, @@ -3041,7 +3178,7 @@ TabbedTextOutA( HDC hDC, int X, int Y, - LPSTR lpString, + LPCSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, @@ -3052,7 +3189,7 @@ TabbedTextOutW( HDC hDC, int X, int Y, - LPWSTR lpString, + LPCWSTR lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, @@ -3166,7 +3303,7 @@ BOOL WINAPI EndPaint( HWND hWnd, - LPPAINTSTRUCT lpPaint); + CONST PAINTSTRUCT *lpPaint); BOOL WINAPI @@ -3325,7 +3462,23 @@ EnableScrollBar( HWND hwnd, UINT wSBflags, UINT wArrows); -#endif + + +/* 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 */ BOOL WINAPI @@ -3489,37 +3642,38 @@ AdjustWindowRectEx( #ifndef NOMB /* MessageBox() Flags */ -#define MB_OK 0x0000L -#define MB_OKCANCEL 0x0001L -#define MB_ABORTRETRYIGNORE 0x0002L -#define MB_YESNOCANCEL 0x0003L -#define MB_YESNO 0x0004L -#define MB_RETRYCANCEL 0x0005L - -#define MB_ICONHAND 0x0010L -#define MB_ICONQUESTION 0x0020L -#define MB_ICONEXCLAMATION 0x0030L -#define MB_ICONASTERISK 0x0040L - -#define MB_ICONINFORMATION MB_ICONASTERISK -#define MB_ICONSTOP MB_ICONHAND - -#define MB_DEFBUTTON1 0x0000L -#define MB_DEFBUTTON2 0x0100L -#define MB_DEFBUTTON3 0x0200L - -#define MB_APPLMODAL 0x0000L -#define MB_SYSTEMMODAL 0x1000L -#define MB_TASKMODAL 0x2000L - -#define MB_NOFOCUS 0x8000L -#define MB_SETFOREGROUND 0x10000L - -#define MB_TYPEMASK 0x000FL -#define MB_ICONMASK 0x00F0L -#define MB_DEFMASK 0x0F00L -#define MB_MODEMASK 0x3000L -#define MB_MISCMASK 0xC000L +#define MB_OK 0x0000L +#define MB_OKCANCEL 0x0001L +#define MB_ABORTRETRYIGNORE 0x0002L +#define MB_YESNOCANCEL 0x0003L +#define MB_YESNO 0x0004L +#define MB_RETRYCANCEL 0x0005L + +#define MB_ICONHAND 0x0010L +#define MB_ICONQUESTION 0x0020L +#define MB_ICONEXCLAMATION 0x0030L +#define MB_ICONASTERISK 0x0040L + +#define MB_ICONINFORMATION MB_ICONASTERISK +#define MB_ICONSTOP MB_ICONHAND + +#define MB_DEFBUTTON1 0x0000L +#define MB_DEFBUTTON2 0x0100L +#define MB_DEFBUTTON3 0x0200L + +#define MB_APPLMODAL 0x0000L +#define MB_SYSTEMMODAL 0x1000L +#define MB_TASKMODAL 0x2000L + +#define MB_NOFOCUS 0x8000L +#define MB_SETFOREGROUND 0x10000L +#define MB_DEFAULT_DESKTOP_ONLY 0x20000L + +#define MB_TYPEMASK 0x000FL +#define MB_ICONMASK 0x00F0L +#define MB_DEFMASK 0x0F00L +#define MB_MODEMASK 0x3000L +#define MB_MISCMASK 0xC000L int WINAPI @@ -3790,6 +3944,13 @@ UnionRect( BOOL WINAPI +SubtractRect( + LPRECT, + CONST RECT *, + CONST RECT *); + +BOOL +WINAPI OffsetRect( LPRECT, int, @@ -3916,7 +4077,7 @@ GetDesktopWindow( BOOL WINAPI SetDeskWallpaper( - LPSTR lpString ); + LPCSTR lpString ); #endif /* NOWINOFFSETS */ @@ -4027,6 +4188,7 @@ GetWindow( #ifndef NOWH +#ifdef STRICT HHOOK WINAPI SetWindowsHookA( @@ -4036,7 +4198,19 @@ HHOOK WINAPI SetWindowsHookW( int nFilterType, + HOOKPROC fnFilterProc); +#else +HOOKPROC +WINAPI +SetWindowsHookA( + int nFilterType, HOOKPROC pfnFilterProc); +HOOKPROC +WINAPI +SetWindowsHookW( + int nFilterType, + HOOKPROC fnFilterProc); +#endif #ifdef UNICODE #define SetWindowsHook SetWindowsHookW #else @@ -4054,14 +4228,14 @@ WINAPI SetWindowsHookExA( int idHook, HOOKPROC lpfn, - HANDLE hmod, + HINSTANCE hmod, DWORD dwThreadId); HHOOK WINAPI SetWindowsHookExW( int idHook, HOOKPROC lpfn, - HANDLE hmod, + HINSTANCE hmod, DWORD dwThreadId); #ifdef UNICODE #define SetWindowsHookEx SetWindowsHookExW @@ -4173,12 +4347,12 @@ typedef struct { HBITMAP WINAPI LoadBitmapA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpBitmapName); HBITMAP WINAPI LoadBitmapW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpBitmapName); #ifdef UNICODE #define LoadBitmap LoadBitmapW @@ -4189,12 +4363,12 @@ LoadBitmapW( HCURSOR WINAPI LoadCursorA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpCursorName); HCURSOR WINAPI LoadCursorW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpCursorName); #ifdef UNICODE #define LoadCursor LoadCursorW @@ -4205,7 +4379,7 @@ LoadCursorW( HCURSOR WINAPI CreateCursor( - HANDLE, + HINSTANCE, int, int, int, @@ -4234,6 +4408,7 @@ DestroyCursor( #define IDC_SIZENS MAKEINTRESOURCE(32645) #define IDC_SIZEALL MAKEINTRESOURCE(32646) //not in win3.1 #define IDC_NO MAKEINTRESOURCE(32648) //not in win3.1 +#define IDC_APPSTARTING MAKEINTRESOURCE(32650) //not in win3.1 typedef struct _ICONINFO { BOOL fIcon; @@ -4247,12 +4422,12 @@ typedef ICONINFO *PICONINFO; HICON WINAPI LoadIconA( - HANDLE hInstance, + HINSTANCE hInstance, LPCSTR lpIconName); HICON WINAPI LoadIconW( - HANDLE hInstance, + HINSTANCE hInstance, LPCWSTR lpIconName); #ifdef UNICODE #define LoadIcon LoadIconW @@ -4263,7 +4438,7 @@ LoadIconW( HICON WINAPI CreateIcon( - HANDLE, + HINSTANCE, int, int, BYTE, @@ -4386,14 +4561,14 @@ GetIconInfo( int WINAPI LoadStringA( - HANDLE hInstance, + HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int nBufferMax); int WINAPI LoadStringW( - HANDLE hInstance, + HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int nBufferMax); @@ -4544,6 +4719,19 @@ LoadStringW( #define STM_GETICON 0x171 #define STM_MSGMAX 0x172 #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 @@ -4582,6 +4770,20 @@ DlgDirListW( #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 + BOOL WINAPI DlgDirSelectExA( @@ -4702,6 +4904,7 @@ DlgDirSelectComboBoxExW( #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 @@ -4852,6 +5055,7 @@ DlgDirSelectComboBoxExW( #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 #endif @@ -4968,7 +5172,7 @@ CreateMDIWindowA( int nWidth, int nHeight, HWND hWndParent, - HANDLE hInstance, + HINSTANCE hInstance, LONG lParam ); HWND @@ -4982,7 +5186,7 @@ CreateMDIWindowW( int nWidth, int nHeight, HWND hWndParent, - HANDLE hInstance, + HINSTANCE hInstance, LONG lParam ); #ifdef UNICODE @@ -5203,5 +5407,9 @@ SystemParametersInfoW( #define SPIF_SENDWININICHANGE 0x0002 #endif /* NOSYSPARAMSINFO */ -#endif // _WINUSER_ +#ifdef __cplusplus +} +#endif + +#endif // _WINUSER_