updated listbox control from wine 0.9.2
[reactos.git] / reactos / w32api / include / winuser.h
index 2c094c5..ea3b251 100644 (file)
@@ -153,6 +153,7 @@ extern "C" {
 #define CDS_FULLSCREEN 4
 #define CDS_GLOBAL     8
 #define CDS_SET_PRIMARY        16
+#define CDS_VIDEOPARAMETERS 20
 #define CDS_RESET      0x40000000
 #define CDS_SETRECT    0x20000000
 #define CDS_NORESET    0x10000000
@@ -289,6 +290,7 @@ extern "C" {
 #define LBS_STANDARD 0xa00003
 #define LBS_USETABSTOPS 128
 #define LBS_WANTKEYBOARDINPUT 0x400
+#define LBS_COMBOBOX 0x8000
 #define SBS_BOTTOMALIGN 4
 #define SBS_HORZ 0
 #define SBS_LEFTALIGN 2
@@ -379,6 +381,7 @@ extern "C" {
 #define WINSTA_READATTRIBUTES  2
 #define WINSTA_READSCREEN      512
 #define WINSTA_WRITEATTRIBUTES 16
+#define WINSTA_ALL_ACCESS       895
 #define DDL_READWRITE  0
 #define DDL_READONLY   1
 #define DDL_HIDDEN     2
@@ -534,6 +537,7 @@ extern "C" {
 #define SB_RIGHT       7
 #define SB_BOTTOM      7
 #define SB_TOP 6
+#define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
 #define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
 #define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
 #ifndef XFree86Server
@@ -592,6 +596,7 @@ extern "C" {
 #define CS_SAVEBITS 2048
 #define CS_VREDRAW 1
 #define CS_IME 0x10000
+#define CS_DROPSHADOW 0x20000
 #define GCW_ATOM (-32)
 #define GCL_CBCLSEXTRA (-20)
 #define GCL_CBWNDEXTRA (-18)
@@ -603,6 +608,13 @@ extern "C" {
 #define GCL_MENUNAME (-8)
 #define GCL_STYLE (-26)
 #define GCL_WNDPROC (-24)
+#define GCLP_HBRBACKGROUND (-10)
+#define GCLP_HCURSOR (-12)
+#define GCLP_HICON (-14)
+#define GCLP_HICONSM (-34)
+#define GCLP_HMODULE (-16)
+#define GCLP_MENUNAME (-8)
+#define GCLP_WNDPROC (-24)
 #if 0
     /* This is supposed to be defined by the program using it not defined
        in the w32api headers.  I've left it here for documentation purposes.
@@ -679,6 +691,12 @@ extern "C" {
 #define MFS_HILITE 128
 #define MFS_UNCHECKED 0
 #define MFS_UNHILITE 0
+#define MNS_NOCHECK 0x80000000
+#define MNS_MODELESS 0x40000000
+#define MNS_DRAGDROP 0x20000000
+#define MNS_AUTODISMISS 0x10000000
+#define MNS_NOTIFYBYPOS 0x08000000
+#define MNS_CHECKORBMP 0x04000000
 #define GW_HWNDNEXT 2
 #define GW_HWNDPREV 3
 #define GW_CHILD 5
@@ -743,6 +761,9 @@ extern "C" {
 #define MB_NOFOCUS 0x00008000
 #define MB_TYPEMASK 15
 #define MB_TOPMOST 0x40000
+#if (WINVER >= 0x0500)
+#define MB_CANCELTRYCONTINUE 6
+#endif
 
 #define IDOK 1
 #define IDCANCEL 2
@@ -837,6 +858,13 @@ extern "C" {
 #define COLOR_WINDOW 5
 #define COLOR_WINDOWFRAME 6
 #define COLOR_WINDOWTEXT 8
+#define COLOR_HOTLIGHT 26
+#define COLOR_GRADIENTACTIVECAPTION 27
+#define COLOR_GRADIENTINACTIVECAPTION 28
+#if WINVER >= 0x0501
+#define COLOR_MENUHILIGHT 29
+#define COLOR_MENUBAR 30
+#endif
 #define CTLCOLOR_MSGBOX 0
 #define CTLCOLOR_EDIT 1
 #define CTLCOLOR_LISTBOX 2
@@ -1104,9 +1132,7 @@ extern "C" {
 #define HSHELL_WINDOWCREATED 1
 #define HSHELL_WINDOWDESTROYED 2
 #define SPI_GETACCESSTIMEOUT 60
-#define SPI_GETACTIVEWINDOWTRACKING 4096
 #define SPI_GETACTIVEWNDTRKTIMEOUT 8194
-#define SPI_GETACTIVEWNDTRKZORDER 4108
 #define SPI_GETANIMATION 72
 #define SPI_GETBEEP 1
 #define SPI_GETBORDER 5
@@ -1126,9 +1152,13 @@ extern "C" {
 #define SPI_GETLOWPOWERACTIVE 83
 #define SPI_GETLOWPOWERTIMEOUT 79
 #define SPI_GETMENUDROPALIGNMENT 27
+#define SPI_GETMENUSHOWDELAY 106
 #define SPI_GETMINIMIZEDMETRICS 43
 #define SPI_GETMOUSE 3
 #define SPI_GETMOUSEKEYS 54
+#define SPI_GETMOUSEHOVERHEIGHT 100
+#define SPI_GETMOUSEHOVERTIME 102
+#define SPI_GETMOUSEHOVERWIDTH 98
 #define SPI_GETMOUSETRAILS 94
 #define SPI_GETNONCLIENTMETRICS 41
 #define SPI_GETPOWEROFFACTIVE 84
@@ -1137,11 +1167,13 @@ extern "C" {
 #define SPI_GETSCREENSAVEACTIVE 16
 #define SPI_GETSCREENSAVETIMEOUT 14
 #define SPI_GETSERIALKEYS 62
+#define SPI_GETSHOWIMEUI 110
 #define SPI_GETSHOWSOUNDS 56
+#define SPI_GETSNAPTODEFBUTTON 95
 #define SPI_GETSOUNDSENTRY 64
 #define SPI_GETSTICKYKEYS 58
 #define SPI_GETTOGGLEKEYS 52
-#define SPI_GETWHEELSCROLLLINES 104 
+#define SPI_GETWHEELSCROLLLINES 104
 #define SPI_GETWINDOWSEXTENSION 92
 #define SPI_GETWORKAREA 48
 #define SPI_ICONHORIZONTALSPACING 13
@@ -1150,8 +1182,8 @@ extern "C" {
 #define SPI_SCREENSAVERRUNNING 97
 #define SPI_SETACCESSTIMEOUT 61
 #define SPI_SETACTIVEWINDOWTRACKING 4097
-#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
 #define SPI_SETACTIVEWNDTRKZORDER 4109
+#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
 #define SPI_SETANIMATION 73
 #define SPI_SETBEEP 2
 #define SPI_SETBORDER 6
@@ -1180,9 +1212,13 @@ extern "C" {
 #define SPI_SETLOWPOWERACTIVE 85
 #define SPI_SETLOWPOWERTIMEOUT 81
 #define SPI_SETMENUDROPALIGNMENT 28
+#define SPI_SETMENUSHOWDELAY 107
 #define SPI_SETMINIMIZEDMETRICS 44
 #define SPI_SETMOUSE 4
 #define SPI_SETMOUSEBUTTONSWAP 33
+#define SPI_SETMOUSEHOVERHEIGHT 101
+#define SPI_SETMOUSEHOVERTIME 103
+#define SPI_SETMOUSEHOVERWIDTH 99
 #define SPI_SETMOUSEKEYS 55
 #define SPI_SETMOUSETRAILS 93
 #define SPI_SETNONCLIENTMETRICS 42
@@ -1194,12 +1230,84 @@ extern "C" {
 #define SPI_SETSCREENSAVERRUNNING 97
 #define SPI_SETSCREENSAVETIMEOUT 15
 #define SPI_SETSERIALKEYS 63
+#define SPI_SETSHOWIMEUI 111
 #define SPI_SETSHOWSOUNDS 57
+#define SPI_SETSNAPTODEFBUTTON 96
 #define SPI_SETSOUNDSENTRY 65
 #define SPI_SETSTICKYKEYS 59
 #define SPI_SETTOGGLEKEYS 53
 #define SPI_SETWHEELSCROLLLINES 105
 #define SPI_SETWORKAREA 47
+#if (WINVER >= 0x0500)
+#define SPI_GETDESKWALLPAPER 115
+#define SPI_GETMOUSESPEED 112
+#define SPI_GETSCREENSAVERRUNNING 114
+#define SPI_GETACTIVEWINDOWTRACKING 0x1000
+#define SPI_GETACTIVEWNDTRKZORDER 0x100C
+#define SPI_GETCARETWIDTH 0x2006
+#define SPI_GETCOMBOBOXANIMATION 0x1004
+#define SPI_GETCURSORSHADOW 0x101A
+#define SPI_GETDROPSHADOW 0x1024
+#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
+#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
+#define SPI_GETGRADIENTCAPTIONS 0x1008
+#define SPI_GETHOTTRACKING 0x100E
+#define SPI_GETKEYBOARDCUES 0x100A
+#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
+#define SPI_GETMENUANIMATION 0x1002
+#define SPI_GETMENUFADE 0x1012
+#define SPI_GETMENUUNDERLINES 0x100A
+#define SPI_GETSELECTIONFADE 0x1014
+#define SPI_GETTOOLTIPANIMATION 0x1016
+#define SPI_GETTOOLTIPFADE 0x1018
+#define SPI_SETCARETWIDTH 0x2007
+#define SPI_SETCOMBOBOXANIMATION 0x1005
+#define SPI_SETCURSORSHADOW 0x101B
+#define SPI_SETDROPSHADOW 0x1025
+#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
+#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
+#define SPI_SETGRADIENTCAPTIONS 0x1009
+#define SPI_SETHOTTRACKING 0x100F
+#define SPI_SETKEYBOARDCUES 0x100B
+#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
+#define SPI_SETMENUANIMATION 0x1003
+#define SPI_SETMENUFADE 0x1013
+#define SPI_SETMENUUNDERLINES 0x100B
+#define SPI_SETMOUSESPEED 113
+#define SPI_SETSELECTIONFADE 0x1015
+#define SPI_SETTOOLTIPANIMATION 0x1017
+#define SPI_SETTOOLTIPFADE 0x1019
+#if (WINVER >= 0x0501)
+#define FE_FONTSMOOTHINGORIENTATIONBGR 0
+#define FE_FONTSMOOTHINGORIENTATIONRGB 1
+#define FE_FONTSMOOTHINGSTANDARD 1
+#define FE_FONTSMOOTHINGCLEARTYPE 2
+#define FE_FONTSMOOTHINGDOCKING 32768
+#define SPI_GETBLOCKSENDINPUTRESETS 0x1026
+#define SPI_SETBLOCKSENDINPUTRESETS 0x1027
+#define SPI_GETUIEFFECTS 0x103E
+#define SPI_SETUIEFFECTS 0x103F
+#define SPI_GETMOUSECLICKLOCKTIME 8200
+#define SPI_SETMOUSECLICKLOCKTIME 8201
+#define SPI_GETMOUSESONAR 0x101C
+#define SPI_SETMOUSESONAR 0x101D
+#define SPI_GETMOUSEVANISH 0x1020
+#define SPI_SETMOUSEVANISH 0x1021
+#define SPI_GETFLATMENU 0x1022
+#define SPI_SETFLATMENU 0x1023
+#define SPI_GETFONTSMOOTHINGTYPE 8202
+#define SPI_SETFONTSMOOTHINGTYPE 8203
+#define SPI_GETFONTSMOOTHINGCONTRAST 8204
+#define SPI_SETFONTSMOOTHINGCONTRAST 8205
+#define SPI_GETFOCUSBORDERWIDTH 8206
+#define SPI_SETFOCUSBORDERWIDTH 8207
+#define SPI_GETFOCUSBORDERHEIGHT 8208
+#define SPI_SETFOCUSBORDERHEIGHT 8209
+#define SPI_GETFONTSMOOTHINGORIENTATION 8210
+#define SPI_SETFONTSMOOTHINGORIENTATION 8211
+#endif
+#endif
+
 #define SPIF_UPDATEINIFILE 1
 #define SPIF_SENDWININICHANGE 2
 #define SPIF_SENDCHANGE 2
@@ -1216,6 +1324,24 @@ extern "C" {
 #define WM_CANCELMODE 31
 #define WM_CAPTURECHANGED 533
 #define WM_CHANGECBCHAIN 781
+
+#if (WINVER >= 0x0500)
+#define WM_CHANGEUISTATE 295
+#define WM_UPDATEUISTATE 296
+#define WM_QUERYUISTATE 297
+
+#define UIS_SET 1
+#define UIS_CLEAR 2
+#define UIS_INITIALIZE 3
+
+#define UISF_HIDEFOCUS 0x1
+#define UISF_HIDEACCEL 0x2
+#if (WINVER >= 0x0501)
+#define UISF_ACTIVE 0x4
+#endif
+
+#endif
+
 #define WM_CHAR 258
 #define WM_CHARTOITEM 47
 #define WM_CHILDACTIVATE 34
@@ -1311,7 +1437,14 @@ extern "C" {
 #define WM_NCMBUTTONDBLCLK 169
 #define WM_NCMBUTTONDOWN 167
 #define WM_NCMBUTTONUP 168
+#if (_WIN32_WINNT >= 0x0500)
+#define WM_NCXBUTTONDOWN 171
+#define WM_NCXBUTTONUP 172
+#define WM_NCXBUTTONDBLCLK 173
+#endif
 #define WM_NCMOUSEMOVE 160
+#define WM_NCMOUSEHOVER     0x02A0
+#define WM_NCMOUSELEAVE     0x02A2
 #define WM_NCPAINT 133
 #define WM_NCRBUTTONDBLCLK 166
 #define WM_NCRBUTTONDOWN 164
@@ -1366,6 +1499,7 @@ extern "C" {
 #define WM_TCARD 82
 #define WM_TIMECHANGE 30
 #define WM_TIMER 275
+#define WM_SYSTIMER 280
 #define WM_UNDO 772
 #define WM_USER 1024
 #define WM_USERCHANGED 84
@@ -1391,14 +1525,23 @@ extern "C" {
 #define WM_MBUTTONDBLCLK 521
 #define WM_MOUSEWHEEL 522
 #define WM_MOUSEFIRST 512
-#define WM_MOUSELAST 522
-#define WM_MOUSEHOVER  0x2A1
-#define WM_MOUSELEAVE  0x2A3
+#if (_WIN32_WINNT >= 0x0500)
+#define WM_XBUTTONDOWN 523
+#define WM_XBUTTONUP 524
+#define WM_XBUTTONDBLCLK 525
+#define WM_MOUSELAST 525
+#endif
+#define WM_MOUSEHOVER 0x2A1
+#define WM_MOUSELEAVE 0x2A3
 #if (_WIN32_WINNT >= 0x0400)
 #define WHEEL_DELTA 120
 #define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
 #define WHEEL_PAGESCROLL UINT_MAX
 #endif
+#if (_WIN32_WINNT >= 0x0501)
+#define WM_THEMECHANGED 794
+#endif
+
 #define BM_CLICK 245
 #define BM_GETCHECK 240
 #define BM_GETIMAGE 246
@@ -1423,6 +1566,7 @@ extern "C" {
 #define CB_DIR 325
 #define CB_FINDSTRING 332
 #define CB_FINDSTRINGEXACT 344
+#define CB_GETCOMBOBOXINFO 356
 #define CB_GETCOUNT 326
 #define CB_GETCURSEL 327
 #define CB_GETDROPPEDCONTROLRECT 338
@@ -1591,6 +1735,7 @@ extern "C" {
 #define DCX_CLIPSIBLINGS 16
 #define DCX_CLIPCHILDREN 8
 #define DCX_NORESETATTRS 4
+#define DCX_INTERSECTUPDATE 0x200
 #define DCX_LOCKWINDOWUPDATE 0x400
 #define DCX_EXCLUDERGN 64
 #define DCX_INTERSECTRGN 128
@@ -1791,6 +1936,19 @@ extern "C" {
 #if (_WIN32_WINNT >= 0x0500)
 #define VK_PACKET      0xE7
 #endif
+#define VK_OEM_RESET   0xE9
+#define VK_OEM_JUMP    0xEA
+#define VK_OEM_PA1     0xEB
+#define VK_OEM_PA2     0xEC
+#define VK_OEM_PA3     0xED
+#define VK_OEM_WSCTRL  0xEE
+#define VK_OEM_CUSEL   0xEF
+#define VK_OEM_ATTN    0xF0
+#define VK_OEM_FINISH  0xF1
+#define VK_OEM_COPY    0xF2
+#define VK_OEM_AUTO    0xF3
+#define VK_OEM_ENLW    0xF4
+#define VK_OEM_BACKTAB 0xF5
 #define VK_ATTN        0xF6
 #define VK_CRSEL       0xF7
 #define VK_EXSEL       0xF8
@@ -1802,6 +1960,7 @@ extern "C" {
 #define VK_OEM_CLEAR   0xFE
 #define TME_HOVER      1
 #define TME_LEAVE      2
+#define TME_NONCLIENT   0x00000010
 #define TME_QUERY      0x40000000
 #define TME_CANCEL     0x80000000
 #define HOVER_DEFAULT  0xFFFFFFFF
@@ -1810,6 +1969,10 @@ extern "C" {
 #define MK_SHIFT       4
 #define MK_CONTROL     8
 #define MK_MBUTTON     16
+#if(_WIN32_WINNT >= 0x0500)
+#define MK_XBUTTON1    0x0020
+#define MK_XBUTTON2    0x0040
+#endif
 #define TPM_CENTERALIGN 4
 #define TPM_LEFTALIGN 0
 #define TPM_RIGHTALIGN 8
@@ -1838,6 +2001,7 @@ extern "C" {
 #define HELP_QUIT 2
 #define HELP_SETCONTENTS 5
 #define HELP_SETINDEX 5
+#define HELP_SETWINPOS 0x203
 #define HELP_CONTEXTMENU 0xa
 #define HELP_FINDER 0xb
 #define HELP_WM_HELP 0xc
@@ -2053,7 +2217,11 @@ extern "C" {
 #define MOD_ON_KEYUP  2048
 #define MOD_RIGHT 16384
 #define MOD_LEFT 32768
+#define LLKHF_EXTENDED 0x00000001
+#define LLKHF_INJECTED 0x00000010
 #define LLKHF_ALTDOWN  0x00000020
+#define LLKHF_UP  0x00000080
+#define LLMHF_INJECTED  0x00000001
 #if (WINVER >= 0x0500)
 #define FLASHW_STOP 0
 #define FLASHW_CAPTION 1
@@ -2182,10 +2350,10 @@ extern "C" {
 #define GA_ROOT 2
 #define GA_ROOTOWNER 3
 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define MONITOR_DEFAULTTONULL 0 
-#define MONITOR_DEFAULTTOPRIMARY 1 
-#define MONITOR_DEFAULTTONEAREST 2 
-#define MONITORINFOF_PRIMARY 1 
+#define MONITOR_DEFAULTTONULL 0
+#define MONITOR_DEFAULTTOPRIMARY 1
+#define MONITOR_DEFAULTTONEAREST 2
+#define MONITORINFOF_PRIMARY 1
 #define EDS_RAWMODE 0x00000002
 #define ISMEX_NOSEND 0x00000000
 #define ISMEX_CALLBACK 0x00000004
@@ -2250,6 +2418,36 @@ extern "C" {
 #define RIDEV_NOHOTKEYS    0x00000200
 #define RIDEV_APPKEYS      0x00000400
 #endif
+#define STATE_SYSTEM_UNAVAILABLE 0x00000001
+#define STATE_SYSTEM_SELECTED 0x00000002
+#define STATE_SYSTEM_FOCUSED 0x00000004
+#define STATE_SYSTEM_PRESSED 0x00000008
+#define STATE_SYSTEM_CHECKED 0x00000010
+#define STATE_SYSTEM_MIXED 0x00000020
+#define STATE_SYSTEM_READONLY 0x00000040
+#define STATE_SYSTEM_HOTTRACKED 0x00000080
+#define STATE_SYSTEM_DEFAULT 0x00000100
+#define STATE_SYSTEM_EXPANDED 0x00000200
+#define STATE_SYSTEM_COLLAPSED 0x00000400
+#define STATE_SYSTEM_BUSY 0x00000800
+#define STATE_SYSTEM_FLOATING 0x00001000
+#define STATE_SYSTEM_MARQUEED 0x00002000
+#define STATE_SYSTEM_ANIMATED 0x00004000
+#define STATE_SYSTEM_INVISIBLE 0x00008000
+#define STATE_SYSTEM_OFFSCREEN 0x00010000
+#define STATE_SYSTEM_SIZEABLE 0x00020000
+#define STATE_SYSTEM_MOVEABLE 0x00040000
+#define STATE_SYSTEM_SELFVOICING 0x00080000
+#define STATE_SYSTEM_FOCUSABLE 0x00100000
+#define STATE_SYSTEM_SELECTABLE 0x00200000
+#define STATE_SYSTEM_LINKED 0x00400000
+#define STATE_SYSTEM_TRAVERSED 0x00800000
+#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
+#define STATE_SYSTEM_EXTSELECTABLE 0x02000000
+#define STATE_SYSTEM_ALERT_LOW 0x04000000
+#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
+#define STATE_SYSTEM_ALERT_HIGH 0x10000000
+#define STATE_SYSTEM_VALID 0x1fffffff
 
 #ifndef RC_INVOKED
 typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
@@ -2265,7 +2463,6 @@ typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
 typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
 typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
 typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
 typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
 typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
 typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
@@ -2860,7 +3057,7 @@ typedef struct tagHELPWININFOW {
        int wMax;
        WCHAR rgchMember[2];
 } HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
-typedef struct tagSTYLESTRUCT { 
+typedef struct tagSTYLESTRUCT {
        DWORD styleOld;
        DWORD styleNew;
 } STYLESTRUCT,*LPSTYLESTRUCT;
@@ -2968,6 +3165,14 @@ typedef struct tagKBDLLHOOKSTRUCT {
        DWORD time;
        DWORD dwExtraInfo;
 } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
+typedef struct tagMSLLHOOKSTRUCT
+{
+       POINT pt;
+       DWORD mouseData;
+       DWORD flags;
+       DWORD time;
+       ULONG_PTR dwExtraInfo;
+} MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
 typedef struct {
   UINT  cbSize;
@@ -3133,7 +3338,8 @@ long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
 long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
 long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
 #endif /* (_WIN32_WINNT >= 0x0501) */
-BOOL WINAPI CallMsgFilter(PMSG,int);
+BOOL WINAPI CallMsgFilterA(LPMSG,INT);
+BOOL WINAPI CallMsgFilterW(LPMSG,INT);
 LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
 LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
 LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
@@ -3282,11 +3488,11 @@ BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
 #if (_WIN32_WINNT >= 0x0500)
 BOOL WINAPI EndTask(HWND,BOOL,BOOL);
 #endif
-BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
+BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
 UINT WINAPI EnumClipboardFormats(UINT);
 BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
 BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
+BOOL WINAPI EnumDesktopWindows(HDESK,WNDENUMPROC,LPARAM);
 BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
 #ifndef NOGDI
 BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
@@ -3332,6 +3538,13 @@ BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
 BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
 DWORD WINAPI GetClassLongA(HWND,int);
 DWORD WINAPI GetClassLongW(HWND,int);
+#ifdef _WIN64
+LONG_PTR WINAPI GetClassLongPtrA(HWND,int);
+LONG_PTR WINAPI GetClassLongPtrW(HWND,int);
+#else
+#define GetClassLongPtrA GetClassLongA
+#define GetClassLongPtrW GetClassLongW
+#endif
 int WINAPI GetClassNameA(HWND,LPSTR,int);
 int WINAPI GetClassNameW(HWND,LPWSTR,int);
 WORD WINAPI GetClassWord(HWND,int);
@@ -3374,7 +3587,6 @@ int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
 int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
 SHORT WINAPI GetKeyState(int);
 HWND WINAPI GetLastActivePopup(HWND);
-DWORD WINAPI GetLastError(void);
 HMENU WINAPI GetMenu(HWND);
 LONG WINAPI GetMenuCheckMarkDimensions(void);
 DWORD WINAPI GetMenuContextHelpId(HMENU);
@@ -3489,6 +3701,7 @@ BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
 BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
 BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
 BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
+INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
 BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
 BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
 BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
@@ -3616,9 +3829,11 @@ HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
 HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
 #endif
 BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
+BOOL WINAPI RegisterLogonProcess(DWORD,BOOL);
 #if (_WIN32_WINNT >= 0x0501)
 BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
 #endif
+BOOL WINAPI RegisterShellHookWindow(HWND);
 UINT WINAPI RegisterWindowMessageA(LPCSTR);
 UINT WINAPI RegisterWindowMessageW(LPCWSTR);
 BOOL WINAPI ReleaseCapture(void);
@@ -3650,6 +3865,13 @@ BOOL WINAPI SetCaretBlinkTime(UINT);
 BOOL WINAPI SetCaretPos(int,int);
 DWORD WINAPI SetClassLongA(HWND,int,LONG);
 DWORD WINAPI SetClassLongW(HWND,int,LONG);
+#ifdef _WIN64
+ULONG_PTR WINAPI SetClassLongPtrA(HWND,INT,LONG_PTR);
+ULONG_PTR WINAPI SetClassLongPtrW(HWND,INT,LONG_PTR);
+#else
+#define SetClassLongPtrA SetClassLongA
+#define SetClassLongPtrW SetClassLongW
+#endif
 WORD WINAPI SetClassWord(HWND,int,WORD);
 HANDLE WINAPI SetClipboardData(UINT,HANDLE);
 HWND WINAPI SetClipboardViewer(HWND);
@@ -3708,7 +3930,7 @@ LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
 BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
 BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
 int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC);
+HHOOK WINAPI SetWindowsHookA(int,HOOKPROC);
 HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
 HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
 BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
@@ -3811,6 +4033,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
 #define AppendMenu AppendMenuW
 #define BroadcastSystemMessage BroadcastSystemMessageW
 #define BroadcastSystemMessageEx BroadcastSystemMessageExW
+#define CallMsgFilter CallMsgFilterW
 #define CallWindowProc CallWindowProcW
 #define ChangeMenu ChangeMenuW
 #define CharLower CharLowerW
@@ -3922,6 +4145,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
 #define SendMessageTimeout SendMessageTimeoutW
 #define SendNotifyMessage SendNotifyMessageW
 #define SetClassLong SetClassLongW
+#define SetClassLongPtr SetClassLongPtrW
 #define SetDlgItemText SetDlgItemTextW
 #define SetMenuItemInfo SetMenuItemInfoW
 #define SetProp SetPropW
@@ -3975,6 +4199,7 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
 #define AppendMenu AppendMenuA
 #define BroadcastSystemMessage BroadcastSystemMessageA
 #define BroadcastSystemMessageEx BroadcastSystemMessageExA
+#define CallMsgFilter CallMsgFilterA
 #define CallWindowProc CallWindowProcA
 #define ChangeMenu ChangeMenuA
 #define CharLower CharLowerA
@@ -4086,6 +4311,7 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
 #define SendMessageTimeout SendMessageTimeoutA
 #define SendNotifyMessage SendNotifyMessageA
 #define SetClassLong SetClassLongA
+#define SetClassLongPtr SetClassLongPtrA
 #define SetDlgItemText SetDlgItemTextA
 #define SetMenuItemInfo SetMenuItemInfoA
 #define SetProp SetPropA