OSDN Git Service

Update <winuser.h> and <dbt.h>; fix issue [#2317].
authorKeith Marshall <keithmarshall@users.sourceforge.net>
Fri, 25 Nov 2016 21:29:02 +0000 (21:29 +0000)
committerKeith Marshall <keithmarshall@users.sourceforge.net>
Fri, 25 Nov 2016 21:29:02 +0000 (21:29 +0000)
w32api/ChangeLog
w32api/include/dbt.h
w32api/include/sdkddkver.h
w32api/include/w32api.h.in
w32api/include/winuser.h

index e599aa4..bae99c6 100644 (file)
@@ -1,3 +1,41 @@
+2016-11-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Update <winuser.h> and <dbt.h>; fix issue [#2317].
+
+       * include/winuser.h: Tidy layout; add copyright notice.
+       [WINVER, _WIN32_WINDOWS, _WIN32_WINNT]: Compare them symbolically.
+       (__WINUSER_H_SOURCED__): New internal macro; define it, to facilitate
+       selective inclusion of content from other headers; delete when done.
+       (BSM_ALLCOMPONENTS, BSF_ALLOWSFW, BSM_APPLICATIONS, BSM_ALLDESKTOPS)
+       (BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK)
+       (BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_LUID, BSF_NOHANG)
+       (BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY, BSF_RETURNHDESK)
+       (BSF_SENDNOTIFYMESSAGE): Delete; do not define them locally; retrieve
+       them selectively from <dbt.h>, where they are properly defined.
+       [WINVER >= WIN2K/WIN98] (BlockInput): Add missing declaration.
+       (KillTimer, TIMERPROC): Declare timer event parameters as UINT_PTR;
+       formerly UINT, which doesn't match 64-bit size required for Win64.
+       (SetTimer): Likewise; also declare similar return type.
+       (WINEVENTPROC): Add missing CALLBACK attribute.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+       * include/w32api.h (__AW_ALIAS__): New macro; define it.
+       * include/sdkddkver.h (_WIN32_WINNT_NT4SP3): New macro; define it.
+
+       * include/dbt.h: Tidy layout; add copyright notice.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Also prefer them here.
+       [__WINUSER_H_SOURCED__] (_DBT_H): Do not define; expose only...
+       (BSM_ALLCOMPONENTS, BSF_ALLOWSFW, BSM_APPLICATIONS, BSM_ALLDESKTOPS)
+       (BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK)
+       (BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_LUID, BSF_NOHANG)
+       (BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY, BSF_RETURNHDESK)
+       (BSF_SENDNOTIFYMESSAGE): ...these, to be duplicated in <winuser.h>
+       (__AW_ALIAS__): Use it to define ANSI/UNICODE specific aliases for...
+       (DEV_BROADCAST_PORT, DEV_BROADCAST_DEVICEINTERFACE): ...these generic
+       structure typedef names, and their respectively corresponding...
+       (PDEV_BROADCAST_PORT, PDEV_BROADCAST_DEVICEINTERFACE): ...pointer
+       type names.
+
 2016-09-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Fix a minor ISO-C++11 conformity issue.
index 69c15af..0e6e3d6 100644 (file)
+/*
+ * dbt.h
+ *
+ * Device management API manifest constants and type definitions.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <anorland@hem2.passagen.se>
+ * Copyright (C) 1998, 1999, 2002-2004, 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
 #ifndef _DBT_H
-#define _DBT_H
-#if __GNUC__ >=3
 #pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DBT_NO_DISK_SPACE      0x47
-#define DBT_CONFIGMGPRIVATE    0x7FFF
-#define DBT_DEVICEARRIVAL      0x8000
-#define DBT_DEVICEQUERYREMOVE  0x8001
-#define DBT_DEVICEQUERYREMOVEFAILED    0x8002
-#define DBT_DEVICEREMOVEPENDING        0x8003
-#define DBT_DEVICEREMOVECOMPLETE       0x8004
-#define DBT_DEVICETYPESPECIFIC 0x8005
-#define DBT_DEVTYP_OEM 0
-#define DBT_DEVTYP_DEVNODE     1
-#define DBT_DEVTYP_VOLUME      2
-#define DBT_DEVTYP_PORT        3
-#define DBT_DEVTYP_NET 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DBT_DEVTYP_DEVICEINTERFACE 5
-#define DBT_DEVTYP_HANDLE 6
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define DBT_APPYBEGIN 0
-#define DBT_APPYEND 1
-#define DBT_DEVNODES_CHANGED 7
-#define DBT_QUERYCHANGECONFIG 0x17
-#define DBT_CONFIGCHANGED 0x18
-#define DBT_CONFIGCHANGECANCELED 0x19
-#define DBT_MONITORCHANGE 0x1B
-#define DBT_SHELLLOGGEDON 32
-#define DBT_CONFIGMGAPI32 34
-#define DBT_VXDINITCOMPLETE 35
-#define DBT_VOLLOCKQUERYLOCK 0x8041
-#define DBT_VOLLOCKLOCKTAKEN 0x8042
-#define DBT_VOLLOCKLOCKFAILED 0x8043
-#define DBT_VOLLOCKQUERYUNLOCK 0x8044
-#define DBT_VOLLOCKLOCKRELEASED 0x8045
-#define DBT_VOLLOCKUNLOCKFAILED 0x8046
-#define DBT_USERDEFINED 0xFFFF
-#define DBTF_MEDIA     1
-#define DBTF_NET       2
-
-/* Also defined in winuser.h */
-#define BSM_ALLCOMPONENTS      0
-#define BSM_APPLICATIONS       8
-#define BSM_ALLDESKTOPS                16
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_NETDRIVER  2
-#define BSM_VXDS       1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BSF_MSGSRV32ISOK_BIT 31
-#define BSF_MSGSRV32ISOK 0x80000000
-
-typedef struct _DEV_BROADCAST_HDR {
-       DWORD dbch_size;
-       DWORD dbch_devicetype;
-       DWORD dbch_reserved;
-} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
-typedef struct _DEV_BROADCAST_OEM {
-       DWORD dbco_size;
-       DWORD dbco_devicetype;
-       DWORD dbco_reserved;
-       DWORD dbco_identifier;
-       DWORD dbco_suppfunc;
-} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM;
-typedef struct _DEV_BROADCAST_PORT_A {
-       DWORD dbcp_size;
-       DWORD dbcp_devicetype;
-       DWORD dbcp_reserved;
-       char dbcp_name[1];
+
+#ifndef __WINUSER_H_SOURCED__
+/* Part of <dbt.h> is made available for selective inclusion by <winuser.h>;
+ * define the <dbt.h> multiple inclusion guard only when NOT included as an
+ * adjunct to <winuser.h>
+ */
+#define _DBT_H
+
+/* When including <dbt.h> in its own right, ensure that the standard set of
+ * W32API utility macros and data types is defined.
+ */
+#include <windef.h>
+
+_BEGIN_C_DECLS
+
+#define DBT_NO_DISK_SPACE                               0x47
+#define DBT_CONFIGMGPRIVATE                           0x7FFF
+#define DBT_DEVICEARRIVAL                             0x8000
+#define DBT_DEVICEQUERYREMOVE                         0x8001
+#define DBT_DEVICEQUERYREMOVEFAILED                   0x8002
+#define DBT_DEVICEREMOVEPENDING                       0x8003
+#define DBT_DEVICEREMOVECOMPLETE                      0x8004
+#define DBT_DEVICETYPESPECIFIC                        0x8005
+#define DBT_DEVTYP_OEM                                     0
+#define DBT_DEVTYP_DEVNODE                                 1
+#define DBT_DEVTYP_VOLUME                                  2
+#define DBT_DEVTYP_PORT                                    3
+#define DBT_DEVTYP_NET                                     4
+
+#if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define DBT_DEVTYP_DEVICEINTERFACE                         5
+#define DBT_DEVTYP_HANDLE                                  6
+#endif /* >= _WIN32_WINDOWS_98 || >= _WIN32_WINNT_WIN2K */
+
+#define DBT_APPYBEGIN                                      0
+#define DBT_APPYEND                                        1
+#define DBT_DEVNODES_CHANGED                               7
+#define DBT_QUERYCHANGECONFIG                           0x17
+#define DBT_CONFIGCHANGED                               0x18
+#define DBT_CONFIGCHANGECANCELED                        0x19
+#define DBT_MONITORCHANGE                               0x1B
+#define DBT_SHELLLOGGEDON                                 32
+#define DBT_CONFIGMGAPI32                                 34
+#define DBT_VXDINITCOMPLETE                               35
+#define DBT_VOLLOCKQUERYLOCK                          0x8041
+#define DBT_VOLLOCKLOCKTAKEN                          0x8042
+#define DBT_VOLLOCKLOCKFAILED                         0x8043
+#define DBT_VOLLOCKQUERYUNLOCK                        0x8044
+#define DBT_VOLLOCKLOCKRELEASED                       0x8045
+#define DBT_VOLLOCKUNLOCKFAILED                       0x8046
+#define DBT_USERDEFINED                               0xFFFF
+#define DBTF_MEDIA                                         1
+#define DBTF_NET                                           2
+
+#endif /* !__WINUSER_H_SOURCED__ */
+/* The following definitions are shared with <winuser.h>; thus, we
+ * ALWAYS define them, whether within the __WINUSER_H_SOURCED__ scope,
+ * or regular inclusion of <dbt.h>
+ */
+#define BSM_ALLCOMPONENTS                                  0
+#define BSM_APPLICATIONS                                   8
+#define BSM_ALLDESKTOPS                                   16
+#define BSM_INSTALLABLEDRIVERS                             4
+#define BSM_NETDRIVER                                      2
+#define BSM_VXDS                                           1
+#define BSF_FLUSHDISK                             0x00000004
+#define BSF_FORCEIFHUNG                           0x00000020
+#define BSF_IGNORECURRENTTASK                     0x00000002
+#define BSF_NOHANG                                0x00000008
+#define BSF_NOTIMEOUTIFNOTHUNG                    0x00000040
+#define BSF_POSTMESSAGE                           0x00000010
+#define BSF_QUERY                                 0x00000001
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define BSF_ALLOWSFW                              0x00000080
+#define BSF_SENDNOTIFYMESSAGE                     0x00000100
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define BSF_LUID                                  0x00000400
+#define BSF_RETURNHDESK                           0x00000200
+
+#endif /* >= _WIN32_WINNT_WINXP */
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+#ifndef __WINUSER_H_SOURCED__
+/* The remaining definitions are NOT shared with <winuser.h>, so are
+ * NOT defined within the __WINUSER_H_SOURCED__ scope.
+ */
+#define BSF_MSGSRV32ISOK_BIT                              31
+#define BSF_MSGSRV32ISOK                          0x80000000
+
+typedef struct _DEV_BROADCAST_HDR
+{ DWORD                        dbch_size;
+  DWORD                        dbch_devicetype;
+  DWORD                        dbch_reserved;
+} DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;
+
+typedef struct _DEV_BROADCAST_OEM
+{ DWORD                        dbco_size;
+  DWORD                        dbco_devicetype;
+  DWORD                        dbco_reserved;
+  DWORD                        dbco_identifier;
+  DWORD                        dbco_suppfunc;
+} DEV_BROADCAST_OEM, *PDEV_BROADCAST_OEM;
+
+typedef struct _DEV_BROADCAST_PORT_A
+{ DWORD                        dbcp_size;
+  DWORD                        dbcp_devicetype;
+  DWORD                        dbcp_reserved;
+  char                         dbcp_name[1];
 } DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
-typedef struct _DEV_BROADCAST_PORT_W {
-       DWORD dbcp_size;
-       DWORD dbcp_devicetype;
-       DWORD dbcp_reserved;
-       wchar_t dbcp_name[1];
+
+typedef struct _DEV_BROADCAST_PORT_W
+{ DWORD                        dbcp_size;
+  DWORD                        dbcp_devicetype;
+  DWORD                        dbcp_reserved;
+  wchar_t                      dbcp_name[1];
 } DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
-typedef struct _DEV_BROADCAST_USERDEFINED {
-       struct _DEV_BROADCAST_HDR dbud_dbh;
-       char dbud_szName[1];
+
+/* Map generic type name references for UNICODE/non-UNICODE usage
+ * of the preceding pair of structured data types.
+ */
+typedef __AW_ALIAS__(DEV_BROADCAST_PORT);
+typedef __AW_ALIAS__(PDEV_BROADCAST_PORT);
+
+typedef struct _DEV_BROADCAST_USERDEFINED
+{ struct _DEV_BROADCAST_HDR    dbud_dbh;
+  char                         dbud_szName[1];
 } DEV_BROADCAST_USERDEFINED;
-typedef struct _DEV_BROADCAST_VOLUME {
-       DWORD dbcv_size;
-       DWORD dbcv_devicetype;
-       DWORD dbcv_reserved;
-       DWORD dbcv_unitmask;
-       WORD dbcv_flags;
-} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
-
-#ifdef UNICODE
-typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#else
-typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#endif
-
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- char dbcc_name[1];
+
+typedef struct _DEV_BROADCAST_VOLUME
+{ DWORD                        dbcv_size;
+  DWORD                        dbcv_devicetype;
+  DWORD                        dbcv_reserved;
+  DWORD                        dbcv_unitmask;
+  WORD                         dbcv_flags;
+} DEV_BROADCAST_VOLUME, *PDEV_BROADCAST_VOLUME;
+
+#if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+
+typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A
+{ DWORD                        dbcc_size;
+  DWORD                        dbcc_devicetype;
+  DWORD                        dbcc_reserved;
+  GUID                         dbcc_classguid;
+  char                         dbcc_name[1];
 } DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- wchar_t dbcc_name[1];
+
+typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W
+{ DWORD                        dbcc_size;
+  DWORD                        dbcc_devicetype;
+  DWORD                        dbcc_reserved;
+  GUID                         dbcc_classguid;
+  wchar_t                      dbcc_name[1];
 } DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
 
-#ifdef UNICODE
-typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
-#else
-typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
-#endif
-
-typedef struct _DEV_BROADCAST_HANDLE {
- DWORD dbch_size;
- DWORD dbch_devicetype;
- DWORD dbch_reserved;
- HANDLE dbch_handle;
- DWORD dbch_hdevnotify;
- GUID dbch_eventguid;
- LONG dbch_nameoffset;
- BYTE dbch_data[1];
+/* Map generic type name references for UNICODE/non-UNICODE usage
+ * of the preceding pair of structured data types.
+ */
+typedef __AW_ALIAS__(DEV_BROADCAST_DEVICEINTERFACE);
+typedef __AW_ALIAS__(PDEV_BROADCAST_DEVICEINTERFACE);
+
+typedef struct _DEV_BROADCAST_HANDLE
+{ DWORD                        dbch_size;
+  DWORD                        dbch_devicetype;
+  DWORD                        dbch_reserved;
+  HANDLE                       dbch_handle;
+  DWORD                        dbch_hdevnotify;
+  GUID                         dbch_eventguid;
+  LONG                         dbch_nameoffset;
+  BYTE                         dbch_data[1];
 } DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
+#endif /* >= _WIN32_WINDOWS_98 || >= _WIN32_WINNT_WIN2K */
+
+_END_C_DECLS
 
-#ifdef __cplusplus
-}
-#endif
-#endif
+#endif /* !__WINUSER_H_SOURCED__ */
+#endif /* !_DBT_H: $RCSfile$: end of file */
index 2e448a3..d82e417 100644 (file)
@@ -61,6 +61,7 @@
  */
 #define _WIN32_WINNT_NT4       0x0400          /* Windows NT4 */
 #define _WIN32_WINNT_NT4E      0x0401          /* Windows NT4E */
+#define _WIN32_WINNT_NT4SP3    0x0403          /* Windows NT4 + ServicePack 3 */
 #define _WIN32_WINDOWS_95      0x0400          /* Windows 95 */
 #define _WIN32_WINDOWS_98      0x0410          /* Windows 98 */
 #define _WIN32_WINDOWS_ME      0x0490          /* Windows Millenium Edition */
index e7ebf5b..2e07447 100644 (file)
 #define __AW__WCHAR_T__(__TEXT__)  __AW_STRING_A__(L##__TEXT__)
 #define __AW_STRING_W__(__TEXT__)  __AW__WCHAR_T__(__TEXT__)
 
+/* A further use of __AW_EXTENDED__, encapsulated in __AW_ALIAS__,
+ * provides a convenient generic mapping for type names which have
+ * alternative representations for UNICODE and non-UNICODE usage.
+ */
+#define __AW_ALIAS__(__NAME__)     __AW_EXTENDED__(__NAME__) __NAME__
+
 #ifdef __cplusplus
 /* When compiling C++ code, these macros provide a convenient notation
  * for designating those sections of system header files which declare
index 2938dce..024438a 100644 (file)
+/*
+ * winuser.h
+ *
+ * General user interface manifest constants, type definitions, and
+ * function declarations.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <anorland@hem2.passagen.se>
+ * Copyright (C) 1998-2012, 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
 #ifndef _WINUSER_H
-#define _WINUSER_H
-#if __GNUC__ >= 3
 #pragma GCC system_header
-#endif
+#define _WINUSER_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+/* Define a temporary inclusion guard macro, to permit selective inclusion
+ * of formerly duplicated content from its primary source headers.
+ */
+#define __WINUSER_H_SOURCED__
+
+_BEGIN_C_DECLS
 
 #ifndef WINUSERAPI
 #ifdef __W32API_USE_DLLIMPORT__
-#define WINUSERAPI DECLSPEC_IMPORT
+#define WINUSERAPI  DECLSPEC_IMPORT
 #else
 #define WINUSERAPI
 #endif
 #endif
 
-#define MNGO_NOINTERFACE  0x00
-#define MNGO_NOERROR      0x01
-#define MNGOF_TOPGAP      0x01
-#define MNGOF_BOTTOMGAP   0x02
-
-#define WC_DIALOG MAKEINTATOM(0x8002)
-#define FALT   16
-#define FCONTROL       8
-#define FNOINVERT      2
-#define FSHIFT 4
-#define FVIRTKEY       1
-#define ATF_TIMEOUTON  1
-#define ATF_ONOFFFEEDBACK      2
-#define ATF_AVAILABLE  4 /* May be obsolete. Not in recent MS docs. */
-#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
-#define WH_CALLWNDPROCRET      12
-#define WH_KEYBOARD_LL 13
-#define WH_MOUSE_LL    14
-#define WH_MAX         14
-#define WH_MINHOOK     WH_MIN
-#define WH_MAXHOOK     WH_MAX
-#define HC_ACTION      0
-#define HC_GETNEXT     1
-#define HC_SKIP        2
-#define HC_NOREMOVE    3
-#define HC_NOREM       3
-#define HC_SYSMODALON  4
-#define HC_SYSMODALOFF 5
-#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
-#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
-#define CF_HDROP       15
-#define CF_LOCALE      16
-#if (_WIN32_WINNT >= 0x0500)
-#define CF_DIBV5 17
-#define CF_MAX 18
+#define MNGO_NOINTERFACE                                0x00
+#define MNGO_NOERROR                                    0x01
+#define MNGOF_TOPGAP                                    0x01
+#define MNGOF_BOTTOMGAP                                 0x02
+
+#define WC_DIALOG                                MAKEINTATOM(0x8002)
+#define FALT                                              16
+#define FCONTROL                                           8
+#define FNOINVERT                                          2
+#define FSHIFT                                             4
+#define FVIRTKEY                                           1
+#define ATF_TIMEOUTON                                      1
+#define ATF_ONOFFFEEDBACK                                  2
+#define ATF_AVAILABLE                                      4   /* may be obsolete */
+#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
+#define WH_CALLWNDPROCRET                                 12
+#define WH_KEYBOARD_LL                                    13
+#define WH_MOUSE_LL                                       14
+#define WH_MAX                                            14
+#define WH_MINHOOK                                      WH_MIN
+#define WH_MAXHOOK                                      WH_MAX
+#define HC_ACTION                                          0
+#define HC_GETNEXT                                         1
+#define HC_SKIP                                            2
+#define HC_NOREMOVE                                        3
+#define HC_NOREM                                           3
+#define HC_SYSMODALON                                      4
+#define HC_SYSMODALOFF                                     5
+#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
+#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
+#define CF_HDROP                                          15
+#define CF_LOCALE                                         16
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define CF_DIBV5                                          17
+#define CF_MAX                                            18
 #else
-#define CF_MAX 17
+#define CF_MAX                                            17
 #endif
-#define CF_OWNERDISPLAY        128
-#define CF_DSPTEXT     129
-#define CF_DSPBITMAP   130
-#define CF_DSPMETAFILEPICT     131
-#define CF_DSPENHMETAFILE      142
-#define CF_PRIVATEFIRST        512
-#define CF_PRIVATELAST 767
-#define CF_GDIOBJFIRST 768
-#define CF_GDIOBJLAST  1023
-#define HKL_NEXT       1
-#define HKL_PREV       0
-#define KLF_ACTIVATE   1
-#define KLF_SUBSTITUTE_OK      2
-#define KLF_UNLOADPREVIOUS     4
-#define KLF_REORDER    8
-#define KLF_REPLACELANG        16
-#define KLF_NOTELLSHELL        128
-#define KLF_SETFORPROCESS      256
-#define KL_NAMELENGTH 9
-#define MF_ENABLED     0
-#define MF_GRAYED      1
-#define MF_DISABLED    2
-#define MF_BITMAP      4
-#define MF_CHECKED     8
-#define MF_MENUBARBREAK 32
-#define MF_MENUBREAK   64
-#define MF_OWNERDRAW   256
-#define MF_POPUP       16
-#define MF_SEPARATOR   0x800
-#define MF_STRING      0
-#define MF_UNCHECKED   0
-#define MF_DEFAULT     4096
-#define MF_SYSMENU     0x2000
-#define MF_HELP        0x4000
-#define MF_END 128
-#define MF_RIGHTJUSTIFY        0x4000
-#define MF_MOUSESELECT 0x8000
-#define MF_INSERT 0
-#define MF_CHANGE 128
-#define MF_APPEND 256
-#define MF_DELETE 512
-#define MF_REMOVE 4096
-#define MF_USECHECKBITMAPS 512
-#define MF_UNHILITE 0
-#define MF_HILITE 128
-
-/* Also defined in dbt.h */
-#define BSM_ALLCOMPONENTS      0
-#define BSM_APPLICATIONS       8
-#define BSM_ALLDESKTOPS                16
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_NETDRIVER  2
-#define BSM_VXDS       1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BROADCAST_QUERY_DENY   1112363332
-#define ENUM_CURRENT_SETTINGS  ((DWORD)-1)
-#define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
-#define CDS_UPDATEREGISTRY     1
-#define CDS_TEST       2
-#define CDS_FULLSCREEN 4
-#define CDS_GLOBAL     8
-#define CDS_SET_PRIMARY        16
-#define CDS_RESET      0x40000000
-#define CDS_SETRECT    0x20000000
-#define CDS_NORESET    0x10000000
-#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)
-#define DISP_CHANGE_BADPARAM   (-5)
-#define DISP_CHANGE_BADDUALVIEW        (-6)
-#define BST_CHECKED    1
-#define BST_INDETERMINATE      2
-#define BST_UNCHECKED  0
-#define BST_FOCUS      8
-#define BST_PUSHED     4
-#define MF_BYCOMMAND   0
-#define MF_BYPOSITION  1024
-#define MF_UNCHECKED   0
-#define MF_HILITE      128
-#define MF_UNHILITE    0
-#define CWP_ALL 0
-#define CWP_SKIPINVISIBLE      1
-#define CWP_SKIPDISABLED       2
-#define CWP_SKIPTRANSPARENT    4
-#define IMAGE_BITMAP   0
-#define IMAGE_ICON     1
-#define IMAGE_CURSOR   2
-#define IMAGE_ENHMETAFILE      3
-#define DF_ALLOWOTHERACCOUNTHOOK       1
-#define DESKTOP_CREATEMENU     4
-#define DESKTOP_CREATEWINDOW   2
-#define DESKTOP_ENUMERATE      64
-#define DESKTOP_HOOKCONTROL    8
-#define DESKTOP_JOURNALPLAYBACK        32
-#define DESKTOP_JOURNALRECORD  16
-#define DESKTOP_READOBJECTS    1
-#define DESKTOP_SWITCHDESKTOP  256
-#define DESKTOP_WRITEOBJECTS   128
-#define CW_USEDEFAULT  0x80000000
-#define WS_BORDER      0x800000
-#define WS_CAPTION     0xc00000
-#define WS_CHILD       0x40000000
-#define WS_CHILDWINDOW 0x40000000
-#define WS_CLIPCHILDREN 0x2000000
-#define WS_CLIPSIBLINGS 0x4000000
-#define WS_DISABLED    0x8000000
-#define WS_DLGFRAME    0x400000
-#define WS_GROUP       0x20000
-#define WS_HSCROLL     0x100000
-#define WS_ICONIC      0x20000000
-#define WS_MAXIMIZE    0x1000000
-#define WS_MAXIMIZEBOX 0x10000
-#define WS_MINIMIZE    0x20000000
-#define WS_MINIMIZEBOX 0x20000
-#define WS_OVERLAPPED  0
-#define WS_OVERLAPPEDWINDOW    0xcf0000
-#define WS_POPUP       0x80000000
-#define WS_POPUPWINDOW 0x80880000
-#define WS_SIZEBOX     0x40000
-#define WS_SYSMENU     0x80000
-#define WS_TABSTOP     0x10000
-#define WS_THICKFRAME  0x40000
-#define WS_TILED       0
-#define WS_TILEDWINDOW 0xcf0000
-#define WS_VISIBLE     0x10000000
-#define WS_VSCROLL     0x200000
-#define MDIS_ALLCHILDSTYLES    1
-#define BS_3STATE      5
-#define BS_AUTO3STATE  6
-#define BS_AUTOCHECKBOX        3
-#define BS_AUTORADIOBUTTON     9
-#define BS_BITMAP      128
-#define BS_BOTTOM      0x800
-#define BS_CENTER      0x300
-#define BS_CHECKBOX    2
-#define BS_DEFPUSHBUTTON       1
-#define BS_GROUPBOX    7
-#define BS_ICON        64
-#define BS_LEFT        256
-#define BS_LEFTTEXT    32
-#define BS_MULTILINE   0x2000
-#define BS_NOTIFY      0x4000
-#define BS_OWNERDRAW   0xb
-#define BS_PUSHBUTTON  0
-#define BS_PUSHLIKE    4096
-#define BS_RADIOBUTTON 4
-#define BS_RIGHT       512
-#define BS_RIGHTBUTTON 32
-#define BS_TEXT        0
-#define BS_TOP 0x400
-#define BS_USERBUTTON  8
-#define BS_VCENTER     0xc00
-#define BS_FLAT        0x8000
-#define CBS_AUTOHSCROLL        64
-#define CBS_DISABLENOSCROLL    0x800
-#define CBS_DROPDOWN   2
-#define CBS_DROPDOWNLIST       3
-#define CBS_HASSTRINGS 512
-#define CBS_LOWERCASE  0x4000
-#define CBS_NOINTEGRALHEIGHT   0x400
-#define CBS_OEMCONVERT 128
-#define CBS_OWNERDRAWFIXED     16
-#define CBS_OWNERDRAWVARIABLE  32
-#define CBS_SIMPLE     1
-#define CBS_SORT       256
-#define CBS_UPPERCASE  0x2000
-#define ES_AUTOHSCROLL 128
-#define ES_AUTOVSCROLL 64
-#define ES_CENTER      1
-#define ES_LEFT        0
-#define ES_LOWERCASE 16
-#define ES_MULTILINE 4
-#define ES_NOHIDESEL 256
-#define ES_NUMBER 0x2000
-#define ES_OEMCONVERT 0x400
-#define ES_PASSWORD 32
-#define ES_READONLY 0x800
-#define ES_RIGHT 2
-#define ES_UPPERCASE 8
-#define ES_WANTRETURN 4096
-#define LBS_DISABLENOSCROLL 4096
-#define LBS_EXTENDEDSEL 0x800
-#define LBS_HASSTRINGS 64
-#define LBS_MULTICOLUMN 512
-#define LBS_MULTIPLESEL 8
-#define LBS_NODATA     0x2000
-#define LBS_NOINTEGRALHEIGHT 256
-#define LBS_NOREDRAW 4
-#define LBS_NOSEL 0x4000
-#define LBS_NOTIFY 1
-#define LBS_OWNERDRAWFIXED 16
-#define LBS_OWNERDRAWVARIABLE 32
-#define LBS_SORT 2
-#define LBS_STANDARD 0xa00003
-#define LBS_USETABSTOPS 128
-#define LBS_WANTKEYBOARDINPUT 0x400
-#define SBS_BOTTOMALIGN 4
-#define SBS_HORZ 0
-#define SBS_LEFTALIGN 2
-#define SBS_RIGHTALIGN 4
-#define SBS_SIZEBOX 8
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
-#define SBS_SIZEBOXTOPLEFTALIGN 2
-#define SBS_SIZEGRIP 16
-#define SBS_TOPALIGN 2
-#define SBS_VERT 1
-#define SS_BITMAP 14
-#define SS_BLACKFRAME 7
-#define SS_BLACKRECT 4
-#define SS_CENTER 1
-#define SS_CENTERIMAGE 512
-#define SS_ENHMETAFILE 15
-#define SS_ETCHEDFRAME 18
-#define SS_ETCHEDHORZ 16
-#define SS_ETCHEDVERT 17
-#define SS_GRAYFRAME 8
-#define SS_GRAYRECT 5
-#define SS_ICON 3
-#define SS_LEFT 0
-#define SS_LEFTNOWORDWRAP 0xc
-#define SS_NOPREFIX 128
-#define SS_NOTIFY 256
-#define SS_OWNERDRAW 0xd
-#define SS_REALSIZEIMAGE 0x800
-#define SS_RIGHT 2
-#define SS_RIGHTJUST 0x400
-#define SS_SIMPLE 11
-#define SS_SUNKEN 4096
-#define SS_WHITEFRAME 9
-#define SS_WHITERECT   6
-#define SS_USERITEM    10
-#define SS_TYPEMASK    0x0000001FL
-#define SS_ENDELLIPSIS 0x00004000L
-#define SS_PATHELLIPSIS        0x00008000L
-#define SS_WORDELLIPSIS        0x0000C000L
-#define SS_ELLIPSISMASK 0x0000C000L
-#define DS_3DLOOK 4
-#define DS_ABSALIGN 1
-#define DS_CENTER 0x800
-#define DS_CENTERMOUSE 4096
-#define DS_CONTEXTHELP 0x2000
-#define DS_CONTROL 0x400
-#define DS_FIXEDSYS 8
-#define DS_LOCALEDIT 32
-#define DS_MODALFRAME 128
-#define DS_NOFAILCREATE 16
-#define DS_NOIDLEMSG   256
-#define DS_SETFONT 64
-#define DS_SETFOREGROUND 512
-#define DS_SYSMODAL 2
-#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
-#define WS_EX_ACCEPTFILES 16
-#define WS_EX_APPWINDOW        0x40000
-#define WS_EX_CLIENTEDGE 512
-#define WS_EX_COMPOSITED 0x2000000 /* XP */
-#define WS_EX_CONTEXTHELP 0x400
-#define WS_EX_CONTROLPARENT 0x10000
-#define WS_EX_DLGMODALFRAME 1
-#define WS_EX_LAYERED 0x80000   /* w2k */
-#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */
-#define WS_EX_LEFT     0
-#define WS_EX_LEFTSCROLLBAR    0x4000
-#define WS_EX_LTRREADING       0
-#define WS_EX_MDICHILD 64
-#define WS_EX_NOACTIVATE 0x8000000 /* w2k */
-#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */
-#define WS_EX_NOPARENTNOTIFY   4
-#define WS_EX_OVERLAPPEDWINDOW 0x300
-#define WS_EX_PALETTEWINDOW    0x188
-#define WS_EX_RIGHT    0x1000
-#define WS_EX_RIGHTSCROLLBAR   0
-#define WS_EX_RTLREADING       0x2000
-#define WS_EX_STATICEDGE       0x20000
-#define WS_EX_TOOLWINDOW       128
-#define WS_EX_TOPMOST  8
-#define WS_EX_TRANSPARENT      32
-#define WS_EX_WINDOWEDGE       256
-#define WINSTA_ALL_ACCESS      895
-#define WINSTA_ACCESSCLIPBOARD 4
-#define WINSTA_ACCESSGLOBALATOMS       32
-#define WINSTA_CREATEDESKTOP   8
-#define WINSTA_ENUMDESKTOPS    1
-#define WINSTA_ENUMERATE       256
-#define WINSTA_EXITWINDOWS     64
-#define WINSTA_READATTRIBUTES  2
-#define WINSTA_READSCREEN      512
-#define WINSTA_WRITEATTRIBUTES 16
-#define DDL_READWRITE  0
-#define DDL_READONLY   1
-#define DDL_HIDDEN     2
-#define DDL_SYSTEM     4
-#define DDL_DIRECTORY  16
-#define DDL_ARCHIVE    32
-#define DDL_POSTMSGS   8192
-#define DDL_DRIVES     16384
-#define DDL_EXCLUSIVE  32768
-#define DC_ACTIVE      0x00000001
-#define DC_SMALLCAP    0x00000002
-#define DC_ICON        0x00000004
-#define DC_TEXT        0x00000008
-#define DC_INBUTTON    0x00000010
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DC_GRADIENT    0x00000020
+
+#define CF_OWNERDISPLAY                                  128
+#define CF_DSPTEXT                                       129
+#define CF_DSPBITMAP                                     130
+#define CF_DSPMETAFILEPICT                               131
+#define CF_DSPENHMETAFILE                                142
+#define CF_PRIVATEFIRST                                  512
+#define CF_PRIVATELAST                                   767
+#define CF_GDIOBJFIRST                                   768
+#define CF_GDIOBJLAST                                   1023
+#define HKL_NEXT                                           1
+#define HKL_PREV                                           0
+#define KLF_ACTIVATE                                       1
+#define KLF_SUBSTITUTE_OK                                  2
+#define KLF_UNLOADPREVIOUS                                 4
+#define KLF_REORDER                                        8
+#define KLF_REPLACELANG                                   16
+#define KLF_NOTELLSHELL                                  128
+#define KLF_SETFORPROCESS                                256
+#define KL_NAMELENGTH                                      9
+#define MF_ENABLED                                         0
+#define MF_GRAYED                                          1
+#define MF_DISABLED                                        2
+#define MF_BITMAP                                          4
+#define MF_CHECKED                                         8
+#define MF_MENUBARBREAK                                   32
+#define MF_MENUBREAK                                      64
+#define MF_OWNERDRAW                                     256
+#define MF_POPUP                                          16
+#define MF_SEPARATOR                                   0x800
+#define MF_STRING                                          0
+#define MF_UNCHECKED                                       0
+#define MF_DEFAULT                                      4096
+#define MF_SYSMENU                                    0x2000
+#define MF_HELP                                       0x4000
+#define MF_END                                           128
+#define MF_RIGHTJUSTIFY                               0x4000
+#define MF_MOUSESELECT                                0x8000
+#define MF_INSERT                                          0
+#define MF_CHANGE                                        128
+#define MF_APPEND                                        256
+#define MF_DELETE                                        512
+#define MF_REMOVE                                       4096
+#define MF_USECHECKBITMAPS                               512
+#define MF_UNHILITE                                        0
+#define MF_HILITE                                        128
+
+/* To reduce maintainence, and to avoid any possibility that we might
+ * introduce inconsistent definitions, we selectively...
+ */
+#include <dbt.h>
+/*
+ * ...to obtain definitions for:
+ *
+ *    BSM_ALLCOMPONENTS, BSM_APPLICATIONS, BSM_ALLDESKTOPS,
+ *    BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK,
+ *    BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_NOHANG,
+ *    BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY,
+ *
+ * with the addition of this pair, which require Win2K or later:
+ *
+ *    BSF_ALLOWSFW, BSF_SENDNOTIFYMESSAGE,
+ *
+ * and these, which require WinXP or later:
+ *
+ *    BSF_LUID, and BSF_RETURNHDESK
+ *
+ * (end of selective <dpt.h> inclusion).
+ *
+ */
+#define BROADCAST_QUERY_DENY                      1112363332
+#define ENUM_CURRENT_SETTINGS                    ((DWORD)(-1))
+#define ENUM_REGISTRY_SETTINGS                   ((DWORD)(-2))
+#define CDS_UPDATEREGISTRY                                 1
+#define CDS_TEST                                           2
+#define CDS_FULLSCREEN                                     4
+#define CDS_GLOBAL                                         8
+#define CDS_SET_PRIMARY                                   16
+#define CDS_RESET                                 0x40000000
+#define CDS_SETRECT                               0x20000000
+#define CDS_NORESET                               0x10000000
+#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)
+#define DISP_CHANGE_BADPARAM                             (-5)
+#define DISP_CHANGE_BADDUALVIEW                          (-6)
+#define BST_CHECKED                                        1
+#define BST_INDETERMINATE                                  2
+#define BST_UNCHECKED                                      0
+#define BST_FOCUS                                          8
+#define BST_PUSHED                                         4
+#define MF_BYCOMMAND                                       0
+#define MF_BYPOSITION                                   1024
+#define MF_UNCHECKED                                       0
+#define MF_HILITE                                        128
+#define MF_UNHILITE                                        0
+#define CWP_ALL                                            0
+#define CWP_SKIPINVISIBLE                                  1
+#define CWP_SKIPDISABLED                                   2
+#define CWP_SKIPTRANSPARENT                                4
+#define IMAGE_BITMAP                                       0
+#define IMAGE_ICON                                         1
+#define IMAGE_CURSOR                                       2
+#define IMAGE_ENHMETAFILE                                  3
+#define DF_ALLOWOTHERACCOUNTHOOK                           1
+#define DESKTOP_CREATEMENU                                 4
+#define DESKTOP_CREATEWINDOW                               2
+#define DESKTOP_ENUMERATE                                 64
+#define DESKTOP_HOOKCONTROL                                8
+#define DESKTOP_JOURNALPLAYBACK                           32
+#define DESKTOP_JOURNALRECORD                             16
+#define DESKTOP_READOBJECTS                                1
+#define DESKTOP_SWITCHDESKTOP                            256
+#define DESKTOP_WRITEOBJECTS                             128
+#define CW_USEDEFAULT                             0x80000000
+#define WS_BORDER                                   0x800000
+#define WS_CAPTION                                  0xC00000
+#define WS_CHILD                                  0x40000000
+#define WS_CHILDWINDOW                            0x40000000
+#define WS_CLIPCHILDREN                            0x2000000
+#define WS_CLIPSIBLINGS                            0x4000000
+#define WS_DISABLED                                0x8000000
+#define WS_DLGFRAME                                 0x400000
+#define WS_GROUP                                     0x20000
+#define WS_HSCROLL                                  0x100000
+#define WS_ICONIC                                 0x20000000
+#define WS_MAXIMIZE                                0x1000000
+#define WS_MAXIMIZEBOX                               0x10000
+#define WS_MINIMIZE                               0x20000000
+#define WS_MINIMIZEBOX                               0x20000
+#define WS_OVERLAPPED                                      0
+#define WS_OVERLAPPEDWINDOW                         0xCF0000
+#define WS_POPUP                                  0x80000000
+#define WS_POPUPWINDOW                            0x80880000
+#define WS_SIZEBOX                                   0x40000
+#define WS_SYSMENU                                   0x80000
+#define WS_TABSTOP                                   0x10000
+#define WS_THICKFRAME                                0x40000
+#define WS_TILED                                           0
+#define WS_TILEDWINDOW                              0xCF0000
+#define WS_VISIBLE                                0x10000000
+#define WS_VSCROLL                                  0x200000
+#define MDIS_ALLCHILDSTYLES                                1
+#define BS_3STATE                                          5
+#define BS_AUTO3STATE                                      6
+#define BS_AUTOCHECKBOX                                    3
+#define BS_AUTORADIOBUTTON                                 9
+#define BS_BITMAP                                        128
+#define BS_BOTTOM                                      0x800
+#define BS_CENTER                                      0x300
+#define BS_CHECKBOX                                        2
+#define BS_DEFPUSHBUTTON                                   1
+#define BS_GROUPBOX                                        7
+#define BS_ICON                                           64
+#define BS_LEFT                                          256
+#define BS_LEFTTEXT                                       32
+#define BS_MULTILINE                                  0x2000
+#define BS_NOTIFY                                     0x4000
+#define BS_OWNERDRAW                                     0xB
+#define BS_PUSHBUTTON                                      0
+#define BS_PUSHLIKE                                     4096
+#define BS_RADIOBUTTON                                     4
+#define BS_RIGHT                                         512
+#define BS_RIGHTBUTTON                                    32
+#define BS_TEXT                                            0
+#define BS_TOP                                         0x400
+#define BS_USERBUTTON                                      8
+#define BS_VCENTER                                     0xC00
+#define BS_FLAT                                       0x8000
+#define CBS_AUTOHSCROLL                                   64
+#define CBS_DISABLENOSCROLL                            0x800
+#define CBS_DROPDOWN                                       2
+#define CBS_DROPDOWNLIST                                   3
+#define CBS_HASSTRINGS                                   512
+#define CBS_LOWERCASE                                 0x4000
+#define CBS_NOINTEGRALHEIGHT                           0x400
+#define CBS_OEMCONVERT                                   128
+#define CBS_OWNERDRAWFIXED                                16
+#define CBS_OWNERDRAWVARIABLE                             32
+#define CBS_SIMPLE                                         1
+#define CBS_SORT                                         256
+#define CBS_UPPERCASE                                 0x2000
+#define ES_AUTOHSCROLL                                   128
+#define ES_AUTOVSCROLL                                    64
+#define ES_CENTER                                          1
+#define ES_LEFT                                            0
+#define ES_LOWERCASE                                      16
+#define ES_MULTILINE                                       4
+#define ES_NOHIDESEL                                     256
+#define ES_NUMBER                                     0x2000
+#define ES_OEMCONVERT                                  0x400
+#define ES_PASSWORD                                       32
+#define ES_READONLY                                    0x800
+#define ES_RIGHT                                           2
+#define ES_UPPERCASE                                       8
+#define ES_WANTRETURN                                   4096
+#define LBS_DISABLENOSCROLL                             4096
+#define LBS_EXTENDEDSEL                                0x800
+#define LBS_HASSTRINGS                                    64
+#define LBS_MULTICOLUMN                                  512
+#define LBS_MULTIPLESEL                                    8
+#define LBS_NODATA                                    0x2000
+#define LBS_NOINTEGRALHEIGHT                             256
+#define LBS_NOREDRAW                                       4
+#define LBS_NOSEL                                     0x4000
+#define LBS_NOTIFY                                         1
+#define LBS_OWNERDRAWFIXED                                16
+#define LBS_OWNERDRAWVARIABLE                             32
+#define LBS_SORT                                           2
+#define LBS_STANDARD                                0xA00003
+#define LBS_USETABSTOPS                                  128
+#define LBS_WANTKEYBOARDINPUT                          0x400
+#define SBS_BOTTOMALIGN                                    4
+#define SBS_HORZ                                           0
+#define SBS_LEFTALIGN                                      2
+#define SBS_RIGHTALIGN                                     4
+#define SBS_SIZEBOX                                        8
+#define SBS_SIZEBOXBOTTOMRIGHTALIGN                        4
+#define SBS_SIZEBOXTOPLEFTALIGN                            2
+#define SBS_SIZEGRIP                                      16
+#define SBS_TOPALIGN                                       2
+#define SBS_VERT                                           1
+#define SS_BITMAP                                         14
+#define SS_BLACKFRAME                                      7
+#define SS_BLACKRECT                                       4
+#define SS_CENTER                                          1
+#define SS_CENTERIMAGE                                   512
+#define SS_ENHMETAFILE                                    15
+#define SS_ETCHEDFRAME                                    18
+#define SS_ETCHEDHORZ                                     16
+#define SS_ETCHEDVERT                                     17
+#define SS_GRAYFRAME                                       8
+#define SS_GRAYRECT                                        5
+#define SS_ICON                                            3
+#define SS_LEFT                                            0
+#define SS_LEFTNOWORDWRAP                                0xC
+#define SS_NOPREFIX                                      128
+#define SS_NOTIFY                                        256
+#define SS_OWNERDRAW                                     0xD
+#define SS_REALSIZEIMAGE                               0x800
+#define SS_RIGHT                                           2
+#define SS_RIGHTJUST                                   0x400
+#define SS_SIMPLE                                         11
+#define SS_SUNKEN                                       4096
+#define SS_WHITEFRAME                                      9
+#define SS_WHITERECT                                       6
+#define SS_USERITEM                                       10
+#define SS_TYPEMASK                               0x0000001FL
+#define SS_ENDELLIPSIS                            0x00004000L
+#define SS_PATHELLIPSIS                           0x00008000L
+#define SS_WORDELLIPSIS                           0x0000C000L
+#define SS_ELLIPSISMASK                           0x0000C000L
+#define DS_3DLOOK                                          4
+#define DS_ABSALIGN                                        1
+#define DS_CENTER                                      0x800
+#define DS_CENTERMOUSE                                  4096
+#define DS_CONTEXTHELP                                0x2000
+#define DS_CONTROL                                     0x400
+#define DS_FIXEDSYS                                        8
+#define DS_LOCALEDIT                                      32
+#define DS_MODALFRAME                                    128
+#define DS_NOFAILCREATE                                   16
+#define DS_NOIDLEMSG                                     256
+#define DS_SETFONT                                        64
+#define DS_SETFOREGROUND                                 512
+#define DS_SYSMODAL                                        2
+#define DS_SHELLFONT                           (DS_SETFONT | DS_FIXEDSYS)
+#define WS_EX_ACCEPTFILES                                 16
+#define WS_EX_APPWINDOW                              0x40000
+#define WS_EX_CLIENTEDGE                                 512
+#define WS_EX_COMPOSITED                           0x2000000   /* XP */
+#define WS_EX_CONTEXTHELP                              0x400
+#define WS_EX_CONTROLPARENT                          0x10000
+#define WS_EX_DLGMODALFRAME                                1
+#define WS_EX_LAYERED                                0x80000   /* W2K */
+#define WS_EX_LAYOUTRTL                             0x400000   /* W98, W2K */
+#define WS_EX_LEFT                                         0
+#define WS_EX_LEFTSCROLLBAR                           0x4000
+#define WS_EX_LTRREADING                                   0
+#define WS_EX_MDICHILD                                    64
+#define WS_EX_NOACTIVATE                           0x8000000   /* W2K */
+#define WS_EX_NOINHERITLAYOUT                       0x100000   /* W2K */
+#define WS_EX_NOPARENTNOTIFY                               4
+#define WS_EX_OVERLAPPEDWINDOW                         0x300
+#define WS_EX_PALETTEWINDOW                            0x188
+#define WS_EX_RIGHT                                   0x1000
+#define WS_EX_RIGHTSCROLLBAR                               0
+#define WS_EX_RTLREADING                              0x2000
+#define WS_EX_STATICEDGE                             0x20000
+#define WS_EX_TOOLWINDOW                                 128
+#define WS_EX_TOPMOST                                      8
+#define WS_EX_TRANSPARENT                                 32
+#define WS_EX_WINDOWEDGE                                 256
+#define WINSTA_ALL_ACCESS                                895
+#define WINSTA_ACCESSCLIPBOARD                             4
+#define WINSTA_ACCESSGLOBALATOMS                          32
+#define WINSTA_CREATEDESKTOP                               8
+#define WINSTA_ENUMDESKTOPS                                1
+#define WINSTA_ENUMERATE                                 256
+#define WINSTA_EXITWINDOWS                                64
+#define WINSTA_READATTRIBUTES                              2
+#define WINSTA_READSCREEN                                512
+#define WINSTA_WRITEATTRIBUTES                            16
+#define DDL_READWRITE                                      0
+#define DDL_READONLY                                       1
+#define DDL_HIDDEN                                         2
+#define DDL_SYSTEM                                         4
+#define DDL_DIRECTORY                                     16
+#define DDL_ARCHIVE                                       32
+#define DDL_POSTMSGS                                    8192
+#define DDL_DRIVES                                     16384
+#define DDL_EXCLUSIVE                                  32768
+#define DC_ACTIVE                                 0x00000001
+#define DC_SMALLCAP                               0x00000002
+#define DC_ICON                                   0x00000004
+#define DC_TEXT                                   0x00000008
+#define DC_INBUTTON                               0x00000010
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+#define DC_GRADIENT                               0x00000020
 #endif
-#if (_WIN32_WINNT >= 0x0501)
-#define DC_BUTTONS     0x00001000
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define DC_BUTTONS                                0x00001000
 #endif
+
 /* Where are these documented? */
-#define DC_CAPTION     (DC_ICON|DC_TEXT|DC_BUTTONS)
-#define DC_NC  (DC_CAPTION|DC_FRAME)
-
-#define BDR_RAISEDOUTER        1
-#define BDR_SUNKENOUTER        2
-#define BDR_RAISEDINNER        4
-#define BDR_SUNKENINNER        8
-#define BDR_OUTER      3
-#define BDR_INNER      0xc
-#define BDR_RAISED     5
-#define BDR_SUNKEN     10
-#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)
-#define BF_LEFT        1
-#define BF_TOP 2
-#define BF_RIGHT       4
-#define BF_BOTTOM      8
-#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    16
-#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      0x800
-#define BF_SOFT        0x1000
-#define BF_ADJUST      0x2000
-#define BF_FLAT        0x4000
-#define BF_MONO        0x8000
-#define DFC_CAPTION    1
-#define DFC_MENU       2
-#define DFC_SCROLL     3
-#define DFC_BUTTON     4
-#if (WINVER >= 0x0500)
-#define DFC_POPUPMENU 5
-#endif /* WINVER >= 0x0500 */
-#define DFCS_CAPTIONCLOSE      0
-#define DFCS_CAPTIONMIN        1
-#define DFCS_CAPTIONMAX        2
-#define DFCS_CAPTIONRESTORE    3
-#define DFCS_CAPTIONHELP       4
-#define DFCS_MENUARROW 0
-#define DFCS_MENUCHECK 1
-#define DFCS_MENUBULLET        2
-#define DFCS_MENUARROWRIGHT    4
-#define DFCS_SCROLLUP  0
-#define DFCS_SCROLLDOWN        1
-#define DFCS_SCROLLLEFT        2
-#define DFCS_SCROLLRIGHT       3
-#define DFCS_SCROLLCOMBOBOX    5
-#define DFCS_SCROLLSIZEGRIP    8
-#define DFCS_SCROLLSIZEGRIPRIGHT       16
-#define DFCS_BUTTONCHECK       0
-#define DFCS_BUTTONRADIOIMAGE  1
-#define DFCS_BUTTONRADIOMASK   2
-#define DFCS_BUTTONRADIO       4
-#define DFCS_BUTTON3STATE      8
-#define DFCS_BUTTONPUSH        16
-#define DFCS_INACTIVE  256
-#define DFCS_PUSHED    512
-#define DFCS_CHECKED   1024
-#if (WINVER >= 0x0500)
-#define DFCS_TRANSPARENT       0x800
-#define DFCS_HOT       0x1000
+#define DC_CAPTION                      (DC_ICON | DC_TEXT | DC_BUTTONS)
+#define DC_NC                                  (DC_CAPTION | DC_FRAME)
+
+#define BDR_RAISEDOUTER                                    1
+#define BDR_SUNKENOUTER                                    2
+#define BDR_RAISEDINNER                                    4
+#define BDR_SUNKENINNER                                    8
+#define BDR_OUTER                                          3
+#define BDR_INNER                                        0xC
+#define BDR_RAISED                                         5
+#define BDR_SUNKEN                                        10
+#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)
+#define BF_LEFT                                            1
+#define BF_TOP                                             2
+#define BF_RIGHT                                           4
+#define BF_BOTTOM                                          8
+#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                                       16
+#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                                      0x800
+#define BF_SOFT                                       0x1000
+#define BF_ADJUST                                     0x2000
+#define BF_FLAT                                       0x4000
+#define BF_MONO                                       0x8000
+#define DFC_CAPTION                                        1
+#define DFC_MENU                                           2
+#define DFC_SCROLL                                         3
+#define DFC_BUTTON                                         4
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define DFC_POPUPMENU                                      5
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+#define DFCS_CAPTIONCLOSE                                  0
+#define DFCS_CAPTIONMIN                                    1
+#define DFCS_CAPTIONMAX                                    2
+#define DFCS_CAPTIONRESTORE                                3
+#define DFCS_CAPTIONHELP                                   4
+#define DFCS_MENUARROW                                     0
+#define DFCS_MENUCHECK                                     1
+#define DFCS_MENUBULLET                                    2
+#define DFCS_MENUARROWRIGHT                                4
+#define DFCS_SCROLLUP                                      0
+#define DFCS_SCROLLDOWN                                    1
+#define DFCS_SCROLLLEFT                                    2
+#define DFCS_SCROLLRIGHT                                   3
+#define DFCS_SCROLLCOMBOBOX                                5
+#define DFCS_SCROLLSIZEGRIP                                8
+#define DFCS_SCROLLSIZEGRIPRIGHT                          16
+#define DFCS_BUTTONCHECK                                   0
+#define DFCS_BUTTONRADIOIMAGE                              1
+#define DFCS_BUTTONRADIOMASK                               2
+#define DFCS_BUTTONRADIO                                   4
+#define DFCS_BUTTON3STATE                                  8
+#define DFCS_BUTTONPUSH                                   16
+#define DFCS_INACTIVE                                    256
+#define DFCS_PUSHED                                      512
+#define DFCS_CHECKED                                    1024
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define DFCS_TRANSPARENT                               0x800
+#define DFCS_HOT                                      0x1000
 #endif
-#define DFCS_ADJUSTRECT        0x2000
-#define DFCS_FLAT      0x4000
-#define DFCS_MONO      0x8000
-#define DST_COMPLEX    0
-#define DST_TEXT       1
-#define DST_PREFIXTEXT 2
-#define DST_ICON       3
-#define DST_BITMAP     4
-#define DSS_NORMAL     0
-#define DSS_UNION      16
-#define DSS_DISABLED   32
-#define DSS_MONO       128
-#define DSS_RIGHT      0x8000
-#define DT_BOTTOM      8
-#define DT_CALCRECT    1024
-#define DT_CENTER      1
-#define DT_EDITCONTROL 8192
-#define DT_END_ELLIPSIS        32768
-#define DT_PATH_ELLIPSIS       16384
-#define DT_WORD_ELLIPSIS 0x40000
-#define DT_EXPANDTABS  64
-#define DT_EXTERNALLEADING     512
-#define DT_LEFT        0
-#define DT_MODIFYSTRING        65536
-#define DT_NOCLIP      256
-#define DT_NOPREFIX    2048
-#define DT_RIGHT       2
-#define DT_RTLREADING  131072
-#define DT_SINGLELINE  32
-#define DT_TABSTOP     128
-#define DT_TOP 0
-#define DT_VCENTER     4
-#define DT_WORDBREAK   16
-#define DT_INTERNAL    4096
-#define WB_ISDELIMITER 2
-#define WB_LEFT        0
-#define WB_RIGHT       1
-#define SB_HORZ        0
-#define SB_VERT        1
-#define SB_CTL 2
-#define SB_BOTH        3
-#define ESB_DISABLE_BOTH       3
-#define ESB_DISABLE_DOWN       2
-#define ESB_DISABLE_LEFT       1
-#define ESB_DISABLE_LTUP       1
-#define ESB_DISABLE_RIGHT      2
-#define ESB_DISABLE_RTDN       2
-#define ESB_DISABLE_UP 1
-#define ESB_ENABLE_BOTH        0
-#define SB_LINEUP      0
-#define SB_LINEDOWN    1
-#define SB_LINELEFT    0
-#define SB_LINERIGHT   1
-#define SB_PAGEUP      2
-#define SB_PAGEDOWN    3
-#define SB_PAGELEFT    2
-#define SB_PAGERIGHT   3
-#define SB_THUMBPOSITION       4
-#define SB_THUMBTRACK  5
-#define SB_ENDSCROLL   8
-#define SB_LEFT        6
-#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)))
+
+#define DFCS_ADJUSTRECT                               0x2000
+#define DFCS_FLAT                                     0x4000
+#define DFCS_MONO                                     0x8000
+#define DST_COMPLEX                                        0
+#define DST_TEXT                                           1
+#define DST_PREFIXTEXT                                     2
+#define DST_ICON                                           3
+#define DST_BITMAP                                         4
+#define DSS_NORMAL                                         0
+#define DSS_UNION                                         16
+#define DSS_DISABLED                                      32
+#define DSS_MONO                                         128
+#define DSS_RIGHT                                     0x8000
+#define DT_BOTTOM                                          8
+#define DT_CALCRECT                                     1024
+#define DT_CENTER                                          1
+#define DT_EDITCONTROL                                  8192
+#define DT_END_ELLIPSIS                                32768
+#define DT_PATH_ELLIPSIS                               16384
+#define DT_WORD_ELLIPSIS                             0x40000
+#define DT_EXPANDTABS                                     64
+#define DT_EXTERNALLEADING                               512
+#define DT_LEFT                                            0
+#define DT_MODIFYSTRING                                65536
+#define DT_NOCLIP                                        256
+#define DT_NOPREFIX                                     2048
+#define DT_RIGHT                                           2
+#define DT_RTLREADING                                 131072
+#define DT_SINGLELINE                                     32
+#define DT_TABSTOP                                       128
+#define DT_TOP                                             0
+#define DT_VCENTER                                         4
+#define DT_WORDBREAK                                      16
+#define DT_INTERNAL                                     4096
+#define WB_ISDELIMITER                                     2
+#define WB_LEFT                                            0
+#define WB_RIGHT                                           1
+#define SB_HORZ                                            0
+#define SB_VERT                                            1
+#define SB_CTL                                             2
+#define SB_BOTH                                            3
+#define ESB_DISABLE_BOTH                                   3
+#define ESB_DISABLE_DOWN                                   2
+#define ESB_DISABLE_LEFT                                   1
+#define ESB_DISABLE_LTUP                                   1
+#define ESB_DISABLE_RIGHT                                  2
+#define ESB_DISABLE_RTDN                                   2
+#define ESB_DISABLE_UP                                     1
+#define ESB_ENABLE_BOTH                                    0
+#define SB_LINEUP                                          0
+#define SB_LINEDOWN                                        1
+#define SB_LINELEFT                                        0
+#define SB_LINERIGHT                                       1
+#define SB_PAGEUP                                          2
+#define SB_PAGEDOWN                                        3
+#define SB_PAGELEFT                                        2
+#define SB_PAGERIGHT                                       3
+#define SB_THUMBPOSITION                                   4
+#define SB_THUMBTRACK                                      5
+#define SB_ENDSCROLL                                       8
+#define SB_LEFT                                            6
+#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
-# define RT_CURSOR MAKEINTRESOURCE(1)
-# define RT_FONT MAKEINTRESOURCE(8)
-#endif /* ndef XFree86Server */
-#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_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)
-#define RT_PLUGPLAY MAKEINTRESOURCE(19)
-#define RT_VXD MAKEINTRESOURCE(20)
-#define RT_ANICURSOR MAKEINTRESOURCE(21)
-#define RT_ANIICON MAKEINTRESOURCE(22)
-#define RT_HTML MAKEINTRESOURCE(23)
+# define RT_CURSOR                                MAKEINTRESOURCE(1)
+# define RT_FONT                                  MAKEINTRESOURCE(8)
+#endif /* ! XFree86Server */
+
+#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_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)
+#define RT_PLUGPLAY                               MAKEINTRESOURCE(19)
+#define RT_VXD                                    MAKEINTRESOURCE(20)
+#define RT_ANICURSOR                              MAKEINTRESOURCE(21)
+#define RT_ANIICON                                MAKEINTRESOURCE(22)
+#define RT_HTML                                   MAKEINTRESOURCE(23)
+
 #ifndef RC_INVOKED
-#define RT_MANIFEST MAKEINTRESOURCE(24)
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(1)
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
+#define RT_MANIFEST                                            MAKEINTRESOURCE(24)
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID                     MAKEINTRESOURCE(1)
+#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID                    MAKEINTRESOURCE(2)
+#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID     MAKEINTRESOURCE(3)
+
 #else
-#define RT_MANIFEST 24
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
+#define RT_MANIFEST                                                    24
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID                              1
+#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID                             2
+#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID              3
 #endif
-#define EWX_FORCE 4
-#define EWX_LOGOFF 0
-#define EWX_POWEROFF 8
-#define EWX_REBOOT 2
-#define EWX_SHUTDOWN 1
-#if (_WIN32_WINNT >= 0x0500)
-#define EWX_FORCEIFHUNG 16
+
+#define EWX_FORCE                                          4
+#define EWX_LOGOFF                                         0
+#define EWX_POWEROFF                                       8
+#define EWX_REBOOT                                         2
+#define EWX_SHUTDOWN                                       1
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define EWX_FORCEIFHUNG                                   16
 #endif
-#define CS_BYTEALIGNCLIENT 4096
-#define CS_BYTEALIGNWINDOW 8192
-#define CS_KEYCVTWINDOW 4
-#define CS_NOKEYCVT 256
-#define CS_CLASSDC 64
-#define CS_DBLCLKS 8
-#define CS_GLOBALCLASS 16384
-#define CS_HREDRAW 2
-#define CS_NOCLOSE 512
-#define CS_OWNDC 32
-#define CS_PARENTDC 128
-#define CS_SAVEBITS 2048
-#define CS_VREDRAW 1
-#define CS_IME 0x10000
-#if (_WIN32_WINNT >= 0x0501)
-#define CS_DROPSHADOW 0x20000
+
+#define CS_BYTEALIGNCLIENT                              4096
+#define CS_BYTEALIGNWINDOW                              8192
+#define CS_KEYCVTWINDOW                                    4
+#define CS_NOKEYCVT                                      256
+#define CS_CLASSDC                                        64
+#define CS_DBLCLKS                                         8
+#define CS_GLOBALCLASS                                 16384
+#define CS_HREDRAW                                         2
+#define CS_NOCLOSE                                       512
+#define CS_OWNDC                                          32
+#define CS_PARENTDC                                      128
+#define CS_SAVEBITS                                     2048
+#define CS_VREDRAW                                         1
+#define CS_IME                                       0x10000
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define CS_DROPSHADOW                                0x20000
 #endif
-#define GCW_ATOM (-32)
-#define GCL_CBCLSEXTRA (-20)
-#define GCL_CBWNDEXTRA (-18)
-#define GCL_HBRBACKGROUND (-10)
-#define GCL_HCURSOR (-12)
-#define GCL_HICON (-14)
-#define GCL_HICONSM (-34)
-#define GCL_HMODULE (-16)
-#define GCL_MENUNAME (-8)
-#define GCL_STYLE (-26)
-#define GCL_WNDPROC (-24)
-#define GCLP_MENUNAME (-8)
-#define GCLP_HBRBACKGROUND (-10)
-#define GCLP_HCURSOR (-12)
-#define GCLP_HICON (-14)
-#define GCLP_HMODULE (-16)
-#define GCLP_WNDPROC (-24)
-#define GCLP_HICONSM (-34)
+
+#define GCW_ATOM                                        (-32)
+#define GCL_CBCLSEXTRA                                  (-20)
+#define GCL_CBWNDEXTRA                                  (-18)
+#define GCL_HBRBACKGROUND                               (-10)
+#define GCL_HCURSOR                                     (-12)
+#define GCL_HICON                                       (-14)
+#define GCL_HICONSM                                     (-34)
+#define GCL_HMODULE                                     (-16)
+#define GCL_MENUNAME                                     (-8)
+#define GCL_STYLE                                       (-26)
+#define GCL_WNDPROC                                     (-24)
+#define GCLP_MENUNAME                                    (-8)
+#define GCLP_HBRBACKGROUND                              (-10)
+#define GCLP_HCURSOR                                    (-12)
+#define GCLP_HICON                                      (-14)
+#define GCLP_HMODULE                                    (-16)
+#define GCLP_WNDPROC                                    (-24)
+#define GCLP_HICONSM                                    (-34)
+
 #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.
   */
+/* 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.
+ */
 #ifndef IDC_STATIC  /* May be predefined by resource compiler. */
-#define IDC_STATIC (-1)
+#define IDC_STATIC                                       (-1)
 #endif
 #endif
-#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_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)
-#define IDC_HAND MAKEINTRESOURCE(32649)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
+
+#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_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)
+#define IDC_HAND                               MAKEINTRESOURCE(32649)
+#define IDC_APPSTARTING                        MAKEINTRESOURCE(32650)
+#define IDC_HELP                               MAKEINTRESOURCE(32651)
+#define IDC_ICON                               MAKEINTRESOURCE(32641)
+#define IDC_SIZE                               MAKEINTRESOURCE(32640)
+
 #ifndef RC_INVOKED
-#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)
-#define IDI_WINLOGO MAKEINTRESOURCE(32517)
+#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)
+#define IDI_WINLOGO                            MAKEINTRESOURCE(32517)
+
 #else
-#define IDI_APPLICATION 32512
-#define IDI_HAND 32513
-#define IDI_QUESTION 32514
-#define IDI_EXCLAMATION 32515
-#define IDI_ASTERISK 32516
-#define IDI_WINLOGO 32517
+#define IDI_APPLICATION                                32512
+#define IDI_HAND                                       32513
+#define IDI_QUESTION                                   32514
+#define IDI_EXCLAMATION                                32515
+#define IDI_ASTERISK                                   32516
+#define IDI_WINLOGO                                    32517
 #endif
-#define IDI_WARNING IDI_EXCLAMATION
-#define IDI_ERROR IDI_HAND
-#define IDI_INFORMATION IDI_ASTERISK
-#define MIIM_STATE 1
-#define MIIM_ID 2
-#define MIIM_SUBMENU 4
-#define MIIM_CHECKMARKS 8
-#define MIIM_TYPE 16
-#define MIIM_DATA 32
-#define MIIM_STRING 64
-#define MIIM_BITMAP 128
-#define MIIM_FTYPE 256
-#if (WINVER >= 0x0500)
-#define MIM_MAXHEIGHT 1
-#define MIM_BACKGROUND 2
-#define MIM_HELPID 4
-#define MIM_MENUDATA 8
-#define MIM_STYLE 16
-#define MIM_APPLYTOSUBMENUS 0x80000000L
-#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 IDI_WARNING                                IDI_EXCLAMATION
+#define IDI_ERROR                                  IDI_HAND
+#define IDI_INFORMATION                            IDI_ASTERISK
+#define MIIM_STATE                                         1
+#define MIIM_ID                                            2
+#define MIIM_SUBMENU                                       4
+#define MIIM_CHECKMARKS                                    8
+#define MIIM_TYPE                                         16
+#define MIIM_DATA                                         32
+#define MIIM_STRING                                       64
+#define MIIM_BITMAP                                      128
+#define MIIM_FTYPE                                       256
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define MIM_MAXHEIGHT                                      1
+#define MIM_BACKGROUND                                     2
+#define MIM_HELPID                                         4
+#define MIM_MENUDATA                                       8
+#define MIM_STYLE                                         16
+#define MIM_APPLYTOSUBMENUS                       0x80000000L
+#define MNS_NOCHECK                               0x80000000
+#define MNS_MODELESS                              0x40000000
+#define MNS_DRAGDROP                              0x20000000
+#define MNS_AUTODISMISS                           0x10000000
+#define MNS_NOTIFYBYPOS                           0x08000000
+#define MNS_CHECKORBMP                            0x04000000
 #endif
-#define MFT_BITMAP 4
-#define MFT_MENUBARBREAK 32
-#define MFT_MENUBREAK 64
-#define MFT_OWNERDRAW 256
-#define MFT_RADIOCHECK 512
-#define MFT_RIGHTJUSTIFY 0x4000
-#define MFT_SEPARATOR 0x800
-#define MFT_RIGHTORDER 0x2000L
-#define MFT_STRING 0
-#define MFS_CHECKED 8
-#define MFS_DEFAULT 4096
-#define MFS_DISABLED 3
-#define MFS_ENABLED 0
-#define MFS_GRAYED 3
-#define MFS_HILITE 128
-#define MFS_UNCHECKED 0
-#define MFS_UNHILITE 0
-#define GW_HWNDNEXT 2
-#define GW_HWNDPREV 3
-#define GW_CHILD 5
-#define GW_HWNDFIRST 0
-#define GW_HWNDLAST 1
-#define GW_OWNER 4
-#define SW_HIDE 0
-#define SW_NORMAL 1
-#define SW_SHOWNORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_MAXIMIZE 3
-#define SW_SHOWMAXIMIZED 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_FORCEMINIMIZE 11
-#define SW_MAX 11
-#define MB_USERICON 128
-#define MB_ICONASTERISK 64
-#define MB_ICONEXCLAMATION 0x30
-#define MB_ICONWARNING 0x30
-#define MB_ICONERROR 16
-#define MB_ICONHAND 16
-#define MB_ICONQUESTION 32
-#define MB_OK 0
-#define MB_ABORTRETRYIGNORE 2
-#define MB_APPLMODAL 0
-#define MB_DEFAULT_DESKTOP_ONLY 0x20000
-#define MB_HELP 0x4000
-#define MB_RIGHT 0x80000
-#define MB_RTLREADING 0x100000
-#define MB_TOPMOST 0x40000
-#define MB_DEFBUTTON1 0
-#define MB_DEFBUTTON2 256
-#define MB_DEFBUTTON3 512
-#define MB_DEFBUTTON4 0x300
-#define MB_ICONINFORMATION 64
-#define MB_ICONSTOP 16
-#define MB_OKCANCEL 1
-#define MB_RETRYCANCEL 5
+
+#define MFT_BITMAP                                         4
+#define MFT_MENUBARBREAK                                  32
+#define MFT_MENUBREAK                                     64
+#define MFT_OWNERDRAW                                    256
+#define MFT_RADIOCHECK                                   512
+#define MFT_RIGHTJUSTIFY                              0x4000
+#define MFT_SEPARATOR                                  0x800
+#define MFT_RIGHTORDER                                0x2000L
+#define MFT_STRING                                         0
+#define MFS_CHECKED                                        8
+#define MFS_DEFAULT                                     4096
+#define MFS_DISABLED                                       3
+#define MFS_ENABLED                                        0
+#define MFS_GRAYED                                         3
+#define MFS_HILITE                                       128
+#define MFS_UNCHECKED                                      0
+#define MFS_UNHILITE                                       0
+#define GW_HWNDNEXT                                        2
+#define GW_HWNDPREV                                        3
+#define GW_CHILD                                           5
+#define GW_HWNDFIRST                                       0
+#define GW_HWNDLAST                                        1
+#define GW_OWNER                                           4
+#define SW_HIDE                                            0
+#define SW_NORMAL                                          1
+#define SW_SHOWNORMAL                                      1
+#define SW_SHOWMINIMIZED                                   2
+#define SW_MAXIMIZE                                        3
+#define SW_SHOWMAXIMIZED                                   3
+#define SW_SHOWNOACTIVATE                                  4
+#define SW_SHOW                                            5
+#define SW_MINIMIZE                                        6
+#define SW_SHOWMINNOACTIVE                                 7
+#define SW_SHOWNA                                          8
+#define SW_RESTORE                                         9
+#define SW_SHOWDEFAULT                                    10
+#define SW_FORCEMINIMIZE                                  11
+#define SW_MAX                                            11
+#define MB_USERICON                                      128
+#define MB_ICONASTERISK                                   64
+#define MB_ICONEXCLAMATION                              0x30
+#define MB_ICONWARNING                                  0x30
+#define MB_ICONERROR                                      16
+#define MB_ICONHAND                                       16
+#define MB_ICONQUESTION                                   32
+#define MB_OK                                              0
+#define MB_ABORTRETRYIGNORE                                2
+#define MB_APPLMODAL                                       0
+#define MB_DEFAULT_DESKTOP_ONLY                      0x20000
+#define MB_HELP                                       0x4000
+#define MB_RIGHT                                     0x80000
+#define MB_RTLREADING                               0x100000
+#define MB_TOPMOST                                   0x40000
+#define MB_DEFBUTTON1                                      0
+#define MB_DEFBUTTON2                                    256
+#define MB_DEFBUTTON3                                    512
+#define MB_DEFBUTTON4                                  0x300
+#define MB_ICONINFORMATION                                64
+#define MB_ICONSTOP                                       16
+#define MB_OKCANCEL                                        1
+#define MB_RETRYCANCEL                                     5
+
 #ifdef _WIN32_WINNT
-#if (_WIN32_WINNT >= 0x0400)
-#define MB_SERVICE_NOTIFICATION 0x00200000
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+#define MB_SERVICE_NOTIFICATION                   0x00200000
+
 #else
-#define MB_SERVICE_NOTIFICATION 0x00040000
+#define MB_SERVICE_NOTIFICATION                   0x00040000
 #endif
-#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
+
+#define MB_SERVICE_NOTIFICATION_NT3X              0x00040000
 #endif
-#define MB_SETFOREGROUND 0x10000
-#define MB_SYSTEMMODAL 4096
-#define MB_TASKMODAL 0x2000
-#define MB_YESNO 4
-#define MB_YESNOCANCEL 3
-#define MB_ICONMASK 240
-#define MB_DEFMASK 3840
-#define MB_MODEMASK 0x00003000
-#define MB_MISCMASK 0x0000C000
-#define MB_NOFOCUS 0x00008000
-#define MB_TYPEMASK 15
-#define MB_TOPMOST 0x40000
-#if (WINVER >= 0x0500)
-#define MB_CANCELTRYCONTINUE 6
+
+#define MB_SETFOREGROUND                             0x10000
+#define MB_SYSTEMMODAL                                  4096
+#define MB_TASKMODAL                                  0x2000
+#define MB_YESNO                                           4
+#define MB_YESNOCANCEL                                     3
+#define MB_ICONMASK                                      240
+#define MB_DEFMASK                                      3840
+#define MB_MODEMASK                               0x00003000
+#define MB_MISCMASK                               0x0000C000
+#define MB_NOFOCUS                                0x00008000
+#define MB_TYPEMASK                                       15
+#define MB_TOPMOST                                   0x40000
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define MB_CANCELTRYCONTINUE                               6
 #endif
 
-#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
+#define IDOK                                               1
+#define IDCANCEL                                           2
+#define IDABORT                                            3
+#define IDRETRY                                            4
+#define IDIGNORE                                           5
+#define IDYES                                              6
+#define IDNO                                               7
+
+#if WINVER >= _WIN32_WINNT_NT4 /* || _WIN32_WINDOWS_95 */
+#define IDCLOSE                                            8
+#define IDHELP                                             9
 #endif
-#if (WINVER >= 0x0500)
-#define IDTRYAGAIN 10
-#define IDCONTINUE 11
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define IDTRYAGAIN                                        10
+#define IDCONTINUE                                        11
 #endif
 
-#define GWL_EXSTYLE (-20)
-#define GWL_STYLE (-16)
-#define GWL_WNDPROC (-4)
-#define GWLP_WNDPROC (-4)
-#define GWL_HINSTANCE (-6)
-#define GWLP_HINSTANCE (-6)
-#define GWL_HWNDPARENT (-8)
-#define GWLP_HWNDPARENT (-8)
-#define GWL_ID (-12)
-#define GWLP_ID (-12)
-#define GWL_USERDATA (-21)
-#define GWLP_USERDATA (-21)
-#define DWL_DLGPROC 4
-#define DWLP_DLGPROC 4
-#define DWL_MSGRESULT 0
-#define DWLP_MSGRESULT 0
-#define DWL_USER 8
-#define DWLP_USER 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_ALLEVENTS 1215
-#define QS_ALLINPUT 1279
+#define GWL_EXSTYLE                                     (-20)
+#define GWL_STYLE                                       (-16)
+#define GWL_WNDPROC                                      (-4)
+#define GWLP_WNDPROC                                     (-4)
+#define GWL_HINSTANCE                                    (-6)
+#define GWLP_HINSTANCE                                   (-6)
+#define GWL_HWNDPARENT                                   (-8)
+#define GWLP_HWNDPARENT                                  (-8)
+#define GWL_ID                                          (-12)
+#define GWLP_ID                                         (-12)
+#define GWL_USERDATA                                    (-21)
+#define GWLP_USERDATA                                   (-21)
+#define DWL_DLGPROC                                        4
+#define DWLP_DLGPROC                                       4
+#define DWL_MSGRESULT                                      0
+#define DWLP_MSGRESULT                                     0
+#define DWL_USER                                           8
+#define DWLP_USER                                          8
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define QS_ALLEVENTS                                    1215
+#define QS_ALLINPUT                                     1279
 #else
-#define QS_ALLEVENTS 191
-#define QS_ALLINPUT 255
+#define QS_ALLEVENTS                                     191
+#define QS_ALLINPUT                                      255
 #endif
-#define QS_ALLPOSTMESSAGE 256
-#define QS_HOTKEY 128
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_INPUT 1031
+
+#define QS_ALLPOSTMESSAGE                                256
+#define QS_HOTKEY                                        128
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define QS_INPUT                                        1031
 #else
-#define QS_INPUT 7
+#define QS_INPUT                                           7
 #endif
-#define QS_KEY 1
-#define QS_MOUSE 6
-#define QS_MOUSEBUTTON 4
-#define QS_MOUSEMOVE 2
-#define QS_PAINT 32
-#define QS_POSTMESSAGE 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_RAWINPUT 1024
+
+#define QS_KEY                                             1
+#define QS_MOUSE                                           6
+#define QS_MOUSEBUTTON                                     4
+#define QS_MOUSEMOVE                                       2
+#define QS_PAINT                                          32
+#define QS_POSTMESSAGE                                     8
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define QS_RAWINPUT                                     1024
 #endif
-#define QS_SENDMESSAGE 64
-#define QS_TIMER 16
-#define MWMO_WAITALL 1
-#define MWMO_ALERTABLE 2
-#define MWMO_INPUTAVAILABLE 4
-#define COLOR_3DDKSHADOW 21
-#define COLOR_3DFACE 15
-#define COLOR_3DHILIGHT 20
-#define COLOR_3DHIGHLIGHT 20
-#define COLOR_3DLIGHT 22
-#define COLOR_BTNHILIGHT 20
-#define COLOR_3DSHADOW 16
-#define COLOR_ACTIVEBORDER 10
-#define COLOR_ACTIVECAPTION 2
-#define COLOR_APPWORKSPACE 12
-#define COLOR_BACKGROUND 1
-#define COLOR_DESKTOP 1
-#define COLOR_BTNFACE 15
-#define COLOR_BTNHIGHLIGHT 20
-#define COLOR_BTNSHADOW 16
-#define COLOR_BTNTEXT 18
-#define COLOR_CAPTIONTEXT 9
-#define COLOR_GRAYTEXT 17
-#define COLOR_HIGHLIGHT 13
-#define COLOR_HIGHLIGHTTEXT 14
-#define COLOR_INACTIVEBORDER 11
-#define COLOR_INACTIVECAPTION 3
-#define COLOR_INACTIVECAPTIONTEXT 19
-#define COLOR_INFOBK 24
-#define COLOR_INFOTEXT 23
-#define COLOR_MENU 4
-#define COLOR_MENUTEXT 7
-#define COLOR_SCROLLBAR 0
-#define COLOR_WINDOW 5
-#define COLOR_WINDOWFRAME 6
-#define COLOR_WINDOWTEXT 8
-#define COLOR_HOTLIGHT 26
-#define COLOR_GRADIENTACTIVECAPTION 27
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#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 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_CXFIXEDFRAME 7
-#define SM_CYDLGFRAME 8
-#define SM_CYFIXEDFRAME 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_CXSIZEFRAME 32
-#define SM_CXFRAME 32
-#define SM_CYSIZEFRAME 33
-#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
-#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
-#define SM_SHOWSOUNDS 70
-#define SM_CXMENUCHECK 71
-#define SM_CYMENUCHECK 72
-#define SM_SLOWMACHINE 73
-#define SM_MIDEASTENABLED 74
-#define SM_MOUSEWHEELPRESENT 75
-#define SM_XVIRTUALSCREEN 76
-#define SM_YVIRTUALSCREEN 77
-#define SM_CXVIRTUALSCREEN 78
-#define SM_CYVIRTUALSCREEN 79
-#define SM_CMONITORS 80
-#define SM_SAMEDISPLAYFORMAT 81
-#define SM_IMMENABLED 82
-#define SM_CXFOCUSBORDER 83
-#define SM_CYFOCUSBORDER 84
-#define SM_TABLETPC 86
-#define SM_MEDIACENTER 87
-#define SM_STARTER 88
-#define SM_SERVERR2 89
-#if (_WIN32_WINNT < 0x0400)
-#define SM_CMETRICS 76
+
+#define QS_SENDMESSAGE                                    64
+#define QS_TIMER                                          16
+#define MWMO_WAITALL                                       1
+#define MWMO_ALERTABLE                                     2
+#define MWMO_INPUTAVAILABLE                                4
+#define COLOR_3DDKSHADOW                                  21
+#define COLOR_3DFACE                                      15
+#define COLOR_3DHILIGHT                                   20
+#define COLOR_3DHIGHLIGHT                                 20
+#define COLOR_3DLIGHT                                     22
+#define COLOR_BTNHILIGHT                                  20
+#define COLOR_3DSHADOW                                    16
+#define COLOR_ACTIVEBORDER                                10
+#define COLOR_ACTIVECAPTION                                2
+#define COLOR_APPWORKSPACE                                12
+#define COLOR_BACKGROUND                                   1
+#define COLOR_DESKTOP                                      1
+#define COLOR_BTNFACE                                     15
+#define COLOR_BTNHIGHLIGHT                                20
+#define COLOR_BTNSHADOW                                   16
+#define COLOR_BTNTEXT                                     18
+#define COLOR_CAPTIONTEXT                                  9
+#define COLOR_GRAYTEXT                                    17
+#define COLOR_HIGHLIGHT                                   13
+#define COLOR_HIGHLIGHTTEXT                               14
+#define COLOR_INACTIVEBORDER                              11
+#define COLOR_INACTIVECAPTION                              3
+#define COLOR_INACTIVECAPTIONTEXT                         19
+#define COLOR_INFOBK                                      24
+#define COLOR_INFOTEXT                                    23
+#define COLOR_MENU                                         4
+#define COLOR_MENUTEXT                                     7
+#define COLOR_SCROLLBAR                                    0
+#define COLOR_WINDOW                                       5
+#define COLOR_WINDOWFRAME                                  6
+#define COLOR_WINDOWTEXT                                   8
+#define COLOR_HOTLIGHT                                    26
+#define COLOR_GRADIENTACTIVECAPTION                       27
+#define COLOR_GRADIENTINACTIVECAPTION                     28
+#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 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_CXFIXEDFRAME                                    7
+#define SM_CYDLGFRAME                                      8
+#define SM_CYFIXEDFRAME                                    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_CXSIZEFRAME                                    32
+#define SM_CXFRAME                                        32
+#define SM_CYSIZEFRAME                                    33
+#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
+#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
+#define SM_SHOWSOUNDS                                     70
+#define SM_CXMENUCHECK                                    71
+#define SM_CYMENUCHECK                                    72
+#define SM_SLOWMACHINE                                    73
+#define SM_MIDEASTENABLED                                 74
+#define SM_MOUSEWHEELPRESENT                              75
+#define SM_XVIRTUALSCREEN                                 76
+#define SM_YVIRTUALSCREEN                                 77
+#define SM_CXVIRTUALSCREEN                                78
+#define SM_CYVIRTUALSCREEN                                79
+#define SM_CMONITORS                                      80
+#define SM_SAMEDISPLAYFORMAT                              81
+#define SM_IMMENABLED                                     82
+#define SM_CXFOCUSBORDER                                  83
+#define SM_CYFOCUSBORDER                                  84
+#define SM_TABLETPC                                       86
+#define SM_MEDIACENTER                                    87
+#define SM_STARTER                                        88
+#define SM_SERVERR2                                       89
+
+#if _WIN32_WINNT < _WIN32_WINNT_NT4
+#define SM_CMETRICS                                       76
 #else
-#define SM_CMETRICS 88
+#define SM_CMETRICS                                       88
 #endif
-#define SM_REMOTESESSION 0X1000
-#define ARW_BOTTOMLEFT 0
-#define ARW_BOTTOMRIGHT 1
-#define ARW_HIDE 8
-#define ARW_TOPLEFT 2
-#define ARW_TOPRIGHT 3
-#define ARW_DOWN 4
-#define ARW_LEFT 0
-#define ARW_RIGHT 0
-#define ARW_UP 4
-#define UOI_FLAGS 1
-#define UOI_NAME 2
-#define UOI_TYPE 3
-#define UOI_USER_SID 4
-#define LR_DEFAULTCOLOR 0
-#define LR_MONOCHROME 1
-#define LR_COLOR 2
-#define LR_COPYRETURNORG 4
-#define LR_COPYDELETEORG 8
-#define LR_LOADFROMFILE 16
-#define LR_LOADTRANSPARENT 32
-#define LR_LOADREALSIZE 128
-#define LR_DEFAULTSIZE 0x0040
-#define LR_VGACOLOR 0x0080
-#define LR_LOADMAP3DCOLORS 4096
-#define LR_CREATEDIBSECTION 8192
-#define LR_COPYFROMRESOURCE 0x4000
-#define LR_SHARED 32768
-#define KEYEVENTF_EXTENDEDKEY 0x00000001
-#define KEYEVENTF_KEYUP 00000002
-#if (_WIN32_WINNT >= 0x0500)
-#define KEYEVENTF_UNICODE 0x00000004
-#define KEYEVENTF_SCANCODE 0x00000008
+
+#define SM_REMOTESESSION                              0x1000
+#define ARW_BOTTOMLEFT                                     0
+#define ARW_BOTTOMRIGHT                                    1
+#define ARW_HIDE                                           8
+#define ARW_TOPLEFT                                        2
+#define ARW_TOPRIGHT                                       3
+#define ARW_DOWN                                           4
+#define ARW_LEFT                                           0
+#define ARW_RIGHT                                          0
+#define ARW_UP                                             4
+#define UOI_FLAGS                                          1
+#define UOI_NAME                                           2
+#define UOI_TYPE                                           3
+#define UOI_USER_SID                                       4
+#define LR_DEFAULTCOLOR                                    0
+#define LR_MONOCHROME                                      1
+#define LR_COLOR                                           2
+#define LR_COPYRETURNORG                                   4
+#define LR_COPYDELETEORG                                   8
+#define LR_LOADFROMFILE                                   16
+#define LR_LOADTRANSPARENT                                32
+#define LR_LOADREALSIZE                                  128
+#define LR_DEFAULTSIZE                                0x0040
+#define LR_VGACOLOR                                   0x0080
+#define LR_LOADMAP3DCOLORS                              4096
+#define LR_CREATEDIBSECTION                             8192
+#define LR_COPYFROMRESOURCE                           0x4000
+#define LR_SHARED                                      32768
+#define KEYEVENTF_EXTENDEDKEY                     0x00000001
+#define KEYEVENTF_KEYUP                           0x00000002
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define KEYEVENTF_UNICODE                         0x00000004
+#define KEYEVENTF_SCANCODE                        0x00000008
 #endif
-#define OBM_BTNCORNERS 32758
-#define OBM_BTSIZE 32761
-#define OBM_CHECK 32760
-#define OBM_CHECKBOXES 32759
-#define OBM_CLOSE 32754
-#define OBM_COMBO 32738
-#define OBM_DNARROW 32752
-#define OBM_DNARROWD 32742
-#define OBM_DNARROWI 32736
-#define OBM_LFARROW 32750
-#define OBM_LFARROWI 32734
-#define OBM_LFARROWD 32740
-#define OBM_MNARROW 32739
-#define OBM_OLD_CLOSE 32767
-#define OBM_OLD_DNARROW 32764
-#define OBM_OLD_LFARROW 32762
-#define OBM_OLD_REDUCE 32757
-#define OBM_OLD_RESTORE 32755
-#define OBM_OLD_RGARROW 32763
-#define OBM_OLD_UPARROW 32765
-#define OBM_OLD_ZOOM 32756
-#define OBM_REDUCE 32749
-#define OBM_REDUCED 32746
-#define OBM_RESTORE 32747
-#define OBM_RESTORED 32744
-#define OBM_RGARROW 32751
-#define OBM_RGARROWD 32741
-#define OBM_RGARROWI 32735
-#define OBM_SIZE 32766
-#define OBM_UPARROW 32753
-#define OBM_UPARROWD 32743
-#define OBM_UPARROWI 32737
-#define OBM_ZOOM 32748
-#define OBM_ZOOMD 32745
-#define OCR_NORMAL 32512
-#define OCR_IBEAM 32513
-#define OCR_WAIT 32514
-#define OCR_CROSS 32515
-#define OCR_UP 32516
-#define OCR_SIZE 32640
-#define OCR_ICON 32641
-#define OCR_SIZENWSE 32642
-#define OCR_SIZENESW 32643
-#define OCR_SIZEWE 32644
-#define OCR_SIZENS 32645
-#define OCR_SIZEALL 32646
-#define OCR_NO 32648
-#define OCR_APPSTARTING 32650
-#define OIC_SAMPLE 32512
-#define OIC_HAND 32513
-#define OIC_QUES 32514
-#define OIC_BANG 32515
-#define OIC_NOTE 32516
-#define OIC_WINLOGO 32517
-#define OIC_WARNING OIC_BANG
-#define OIC_ERROR OIC_HAND
-#define OIC_INFORMATION OIC_NOTE
-#define HELPINFO_MENUITEM 2
-#define HELPINFO_WINDOW 1
-#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_USER 4096
-#define MOUSEEVENTF_MOVE 0x00000001
-#define MOUSEEVENTF_LEFTDOWN 0x00000002
-#define MOUSEEVENTF_LEFTUP 0x00000004
-#define MOUSEEVENTF_RIGHTDOWN 0x00000008
-#define MOUSEEVENTF_RIGHTUP 0x00000010
-#define MOUSEEVENTF_MIDDLEDOWN 0x00000020
-#define MOUSEEVENTF_MIDDLEUP 0x00000040
-#define MOUSEEVENTF_ABSOLUTE 0x00008000
-#if (_WIN32_WINNT >= 0x0400)
-#define MOUSEEVENTF_WHEEL 0x00000800
+
+#define OBM_BTNCORNERS                                 32758
+#define OBM_BTSIZE                                     32761
+#define OBM_CHECK                                      32760
+#define OBM_CHECKBOXES                                 32759
+#define OBM_CLOSE                                      32754
+#define OBM_COMBO                                      32738
+#define OBM_DNARROW                                    32752
+#define OBM_DNARROWD                                   32742
+#define OBM_DNARROWI                                   32736
+#define OBM_LFARROW                                    32750
+#define OBM_LFARROWI                                   32734
+#define OBM_LFARROWD                                   32740
+#define OBM_MNARROW                                    32739
+#define OBM_OLD_CLOSE                                  32767
+#define OBM_OLD_DNARROW                                32764
+#define OBM_OLD_LFARROW                                32762
+#define OBM_OLD_REDUCE                                 32757
+#define OBM_OLD_RESTORE                                32755
+#define OBM_OLD_RGARROW                                32763
+#define OBM_OLD_UPARROW                                32765
+#define OBM_OLD_ZOOM                                   32756
+#define OBM_REDUCE                                     32749
+#define OBM_REDUCED                                    32746
+#define OBM_RESTORE                                    32747
+#define OBM_RESTORED                                   32744
+#define OBM_RGARROW                                    32751
+#define OBM_RGARROWD                                   32741
+#define OBM_RGARROWI                                   32735
+#define OBM_SIZE                                       32766
+#define OBM_UPARROW                                    32753
+#define OBM_UPARROWD                                   32743
+#define OBM_UPARROWI                                   32737
+#define OBM_ZOOM                                       32748
+#define OBM_ZOOMD                                      32745
+#define OCR_NORMAL                                     32512
+#define OCR_IBEAM                                      32513
+#define OCR_WAIT                                       32514
+#define OCR_CROSS                                      32515
+#define OCR_UP                                         32516
+#define OCR_SIZE                                       32640
+#define OCR_ICON                                       32641
+#define OCR_SIZENWSE                                   32642
+#define OCR_SIZENESW                                   32643
+#define OCR_SIZEWE                                     32644
+#define OCR_SIZENS                                     32645
+#define OCR_SIZEALL                                    32646
+#define OCR_NO                                         32648
+#define OCR_APPSTARTING                                32650
+#define OIC_SAMPLE                                     32512
+#define OIC_HAND                                       32513
+#define OIC_QUES                                       32514
+#define OIC_BANG                                       32515
+#define OIC_NOTE                                       32516
+#define OIC_WINLOGO                                    32517
+#define OIC_WARNING                                 OIC_BANG
+#define OIC_ERROR                                   OIC_HAND
+#define OIC_INFORMATION                             OIC_NOTE
+#define HELPINFO_MENUITEM                                  2
+#define HELPINFO_WINDOW                                    1
+#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_USER                                       4096
+#define MOUSEEVENTF_MOVE                          0x00000001
+#define MOUSEEVENTF_LEFTDOWN                      0x00000002
+#define MOUSEEVENTF_LEFTUP                        0x00000004
+#define MOUSEEVENTF_RIGHTDOWN                     0x00000008
+#define MOUSEEVENTF_RIGHTUP                       0x00000010
+#define MOUSEEVENTF_MIDDLEDOWN                    0x00000020
+#define MOUSEEVENTF_MIDDLEUP                      0x00000040
+#define MOUSEEVENTF_ABSOLUTE                      0x00008000
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+#define MOUSEEVENTF_WHEEL                         0x00000800
 #endif
-#if (_WIN32_WINNT >= 0x0500)
-#define MOUSEEVENTF_XDOWN 0x00000080
-#define MOUSEEVENTF_XUP 0x00000100
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define MOUSEEVENTF_XDOWN                         0x00000080
+#define MOUSEEVENTF_XUP                           0x00000100
 #endif
-/* Also in pbt.h */
-#if (_WIN32_WINNT >= 0x0400)
-#define PBT_APMQUERYSUSPEND 0
-#define PBT_APMQUERYSTANDBY 1
-#define PBT_APMQUERYSUSPENDFAILED 2
-#define PBT_APMQUERYSTANDBYFAILED 3
-#define PBT_APMSUSPEND 4
-#define PBT_APMSTANDBY 5
-#define PBT_APMRESUMECRITICAL 6
-#define PBT_APMRESUMESUSPEND 7
-#define PBT_APMRESUMESTANDBY 8
-#define PBT_APMBATTERYLOW 9
-#define PBT_APMPOWERSTATUSCHANGE 10
-#define PBT_APMOEMEVENT 11
-#define PBT_APMRESUMEAUTOMATIC 18
-#define PBTF_APMRESUMEFROMFAILURE 1
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+/* The following group of definitions were formerly duplicated from
+ * header <pbt.h>, which is now declared obsolete.
+ */
+#define PBT_APMQUERYSUSPEND                                0
+#define PBT_APMQUERYSTANDBY                                1
+#define PBT_APMQUERYSUSPENDFAILED                          2
+#define PBT_APMQUERYSTANDBYFAILED                          3
+#define PBT_APMSUSPEND                                     4
+#define PBT_APMSTANDBY                                     5
+#define PBT_APMRESUMECRITICAL                              6
+#define PBT_APMRESUMESUSPEND                               7
+#define PBT_APMRESUMESTANDBY                               8
+#define PBT_APMBATTERYLOW                                  9
+#define PBT_APMPOWERSTATUSCHANGE                          10
+#define PBT_APMOEMEVENT                                   11
+#define PBT_APMRESUMEAUTOMATIC                            18
+#define PBTF_APMRESUMEFROMFAILURE                          1
 #endif
-#if (_WIN32_WINNT >= 0x0600)
-#define PBT_POWERSETTINGCHANGE 32787
+
+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+#define PBT_POWERSETTINGCHANGE                         32787
 #endif
 /* end pbt.h */
 
-#define PM_NOREMOVE 0
-#define PM_REMOVE 1
-#define PM_NOYIELD 2
-#if (_WIN32_WINNT >= 0x0500)
-# define PM_QS_INPUT (QS_INPUT << 16)
-# define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
-# define PM_QS_PAINT (QS_PAINT << 16)
-# define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
+#define PM_NOREMOVE                                        0
+#define PM_REMOVE                                          1
+#define PM_NOYIELD                                         2
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+# define PM_QS_INPUT                             (QS_INPUT << 16)
+# define PM_QS_POSTMESSAGE         ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16)
+# define PM_QS_PAINT                             (QS_PAINT << 16)
+# define PM_QS_SENDMESSAGE                 (QS_SENDMESSAGE << 16)
 #endif
-#define HWND_BROADCAST ((HWND)0xFFFF)
-#define HWND_BOTTOM ((HWND)1)
-#define HWND_NOTOPMOST ((HWND)(-2))
-#define HWND_TOP ((HWND)0)
-#define HWND_TOPMOST ((HWND)(-1))
-#define HWND_DESKTOP (HWND)0
-#if (_WIN32_WINNT >= 0x0500)
-#define HWND_MESSAGE ((HWND)(-3))
+
+#define HWND_BROADCAST                        ((HWND)(0xFFFF))
+#define HWND_BOTTOM                                ((HWND)(1))
+#define HWND_NOTOPMOST                            ((HWND)(-2))
+#define HWND_TOP                                   ((HWND)(0))
+#define HWND_TOPMOST                              ((HWND)(-1))
+#define HWND_DESKTOP                               ((HWND)(0))
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define HWND_MESSAGE                              ((HWND)(-3))
 #endif
-#define RDW_ERASE 4
-#define RDW_FRAME 1024
-#define RDW_INTERNALPAINT 2
-#define RDW_INVALIDATE 1
-#define RDW_NOERASE 32
-#define RDW_NOFRAME 2048
-#define RDW_NOINTERNALPAINT 16
-#define RDW_VALIDATE 8
-#define RDW_ERASENOW 512
-#define RDW_UPDATENOW 256
-#define RDW_ALLCHILDREN 128
-#define RDW_NOCHILDREN 64
-#define SMTO_ABORTIFHUNG 0x0002
-#define SMTO_BLOCK 0x0001
-#define SMTO_NORMAL 0x0000
-#if (_WIN32_WINNT >= 0x0500)
-#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
+
+#define RDW_ERASE                                          4
+#define RDW_FRAME                                       1024
+#define RDW_INTERNALPAINT                                  2
+#define RDW_INVALIDATE                                     1
+#define RDW_NOERASE                                       32
+#define RDW_NOFRAME                                     2048
+#define RDW_NOINTERNALPAINT                               16
+#define RDW_VALIDATE                                       8
+#define RDW_ERASENOW                                     512
+#define RDW_UPDATENOW                                    256
+#define RDW_ALLCHILDREN                                  128
+#define RDW_NOCHILDREN                                    64
+#define SMTO_ABORTIFHUNG                              0x0002
+#define SMTO_BLOCK                                    0x0001
+#define SMTO_NORMAL                                   0x0000
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define SMTO_NOTIMEOUTIFNOTHUNG                       0x0008
 #endif
-#define SIF_DISABLENOSCROLL 0x0008
-#define SIF_PAGE 0x0002
-#define SIF_POS 0x0004
-#define SIF_RANGE 0x0001
-#define SIF_TRACKPOS 0x0010
-#define SIF_ALL (SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS)
-#define SWP_DRAWFRAME 0x0020
-#define SWP_FRAMECHANGED 0x0020
-#define SWP_HIDEWINDOW 0x0080
-#define SWP_NOACTIVATE 0x0010
-#define SWP_NOCOPYBITS 0x0100
-#define SWP_NOMOVE 0x0002
-#define SWP_NOSIZE 0x0001
-#define SWP_NOREDRAW 0x0008
-#define SWP_NOZORDER 0x0004
-#define SWP_SHOWWINDOW 0x0040
-#define SWP_NOOWNERZORDER 0x0200
-#define SWP_NOREPOSITION SWP_NOOWNERZORDER
-#define SWP_NOSENDCHANGING 0x0400
-#define SWP_DEFERERASE 0x2000
-#define SWP_ASYNCWINDOWPOS 0x4000
-#define HSHELL_ACTIVATESHELLWINDOW 3
-#define HSHELL_ENDTASK 10
-#define HSHELL_GETMINRECT 5
-#define HSHELL_LANGUAGE 8
-#define HSHELL_REDRAW 6
-#define HSHELL_TASKMAN 7
-#define HSHELL_WINDOWACTIVATED 4
-#define HSHELL_WINDOWCREATED 1
-#define HSHELL_WINDOWDESTROYED 2
-#if (_WIN32_WINNT >= 0x0500)
-#define HSHELL_ACCESSIBILITYSTATE 11
-#define HSHELL_APPCOMMAND 12
-#define HSHELL_RUDEAPPACTIVATED 32772
-#define HSHELL_FLASH 32774
+
+#define SIF_DISABLENOSCROLL                           0x0008
+#define SIF_PAGE                                      0x0002
+#define SIF_POS                                       0x0004
+#define SIF_RANGE                                     0x0001
+#define SIF_TRACKPOS                                  0x0010
+#define SIF_ALL                   (SIF_PAGE | SIF_POS | SIF_RANGE | SIF_TRACKPOS)
+#define SWP_DRAWFRAME                                 0x0020
+#define SWP_FRAMECHANGED                              0x0020
+#define SWP_HIDEWINDOW                                0x0080
+#define SWP_NOACTIVATE                                0x0010
+#define SWP_NOCOPYBITS                                0x0100
+#define SWP_NOMOVE                                    0x0002
+#define SWP_NOSIZE                                    0x0001
+#define SWP_NOREDRAW                                  0x0008
+#define SWP_NOZORDER                                  0x0004
+#define SWP_SHOWWINDOW                                0x0040
+#define SWP_NOOWNERZORDER                             0x0200
+#define SWP_NOREPOSITION                        SWP_NOOWNERZORDER
+#define SWP_NOSENDCHANGING                            0x0400
+#define SWP_DEFERERASE                                0x2000
+#define SWP_ASYNCWINDOWPOS                            0x4000
+#define HSHELL_ACTIVATESHELLWINDOW                         3
+#define HSHELL_ENDTASK                                    10
+#define HSHELL_GETMINRECT                                  5
+#define HSHELL_LANGUAGE                                    8
+#define HSHELL_REDRAW                                      6
+#define HSHELL_TASKMAN                                     7
+#define HSHELL_WINDOWACTIVATED                             4
+#define HSHELL_WINDOWCREATED                               1
+#define HSHELL_WINDOWDESTROYED                             2
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define HSHELL_ACCESSIBILITYSTATE                         11
+#define HSHELL_APPCOMMAND                                 12
+#define HSHELL_RUDEAPPACTIVATED                        32772
+#define HSHELL_FLASH                                   32774
 #endif
-#if (_WIN32_WINNT >= 0x0501)
-#define HSHELL_WINDOWREPLACED 13
-#define HSHELL_WINDOWREPLACING 14
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define HSHELL_WINDOWREPLACED                             13
+#define HSHELL_WINDOWREPLACING                            14
 #endif
-#define SPI_GETACCESSTIMEOUT 0x003C
-#define SPI_GETACTIVEWINDOWTRACKING 0x1000
-#define SPI_GETACTIVEWNDTRKTIMEOUT 8194
-#define SPI_GETACTIVEWNDTRKZORDER 0x100C
-#define SPI_GETANIMATION 0x0048
-#define SPI_GETBEEP 0x0001
-#define SPI_GETBLOCKSENDINPUTRESETS 0x1026
-#define SPI_GETBORDER 0x0005
-#define SPI_GETCARETWIDTH 0x2006
-#define SPI_GETCOMBOBOXANIMATION 0x1004
-#define SPI_GETCURSORSHADOW 0x101A
-#define SPI_GETDEFAULTINPUTLANG 0x0059
-#define SPI_GETDESKWALLPAPER 0x0073
-#define SPI_GETDRAGFULLWINDOWS 0x0026
-#define SPI_GETFASTTASKSWITCH 0x0023
-#define SPI_GETFILTERKEYS 0x0032
-#define SPI_GETFONTSMOOTHING 0x004A
-#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
-#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#define SPI_GETGRIDGRANULARITY 0x0012
-#define SPI_GETHIGHCONTRAST 0x0042
-#define SPI_GETHOTTRACKING 0x100E
-#define SPI_GETICONMETRICS 0x002D
-#define SPI_GETICONTITLELOGFONT 0x001F
-#define SPI_GETICONTITLEWRAP 0x0019
-#define SPI_GETKEYBOARDCUES 0x100A
-#define SPI_GETKEYBOARDDELAY 0x0016
-#define SPI_GETKEYBOARDPREF 0x0044
-#define SPI_GETKEYBOARDSPEED 0x000A
-#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
-#define SPI_GETLOWPOWERACTIVE 0x0053
-#define SPI_GETLOWPOWERTIMEOUT 0x004F
-#define SPI_GETMENUANIMATION 0x1002
-#define SPI_GETMENUDROPALIGNMENT 0x001B
-#define SPI_GETMENUFADE 0x1012
-#define SPI_GETMENUSHOWDELAY 0x006A
-#define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES
-#define SPI_GETMINIMIZEDMETRICS 0x002B
-#define SPI_GETMOUSE 0x0003
-#define SPI_GETMOUSEHOVERHEIGHT 0x0064
-#define SPI_GETMOUSEHOVERTIME 0x0066
-#define SPI_GETMOUSEHOVERWIDTH 0x0062
-#define SPI_GETMOUSEKEYS 0x0036
-#define SPI_GETMOUSESPEED 0x0070
-#define SPI_GETMOUSETRAILS 0x005E
-#define SPI_GETNONCLIENTMETRICS 0x0029
-#define SPI_GETPOWEROFFACTIVE 0x0054
-#define SPI_GETPOWEROFFTIMEOUT 0x0050
-#define SPI_GETSCREENREADER 0x0046
-#define SPI_GETSCREENSAVEACTIVE 0x0010
-#define SPI_GETSCREENSAVERRUNNING 0x0072
-#define SPI_GETSCREENSAVETIMEOUT 0x000E
-#define SPI_GETSELECTIONFADE 0x1014
-#define SPI_GETSERIALKEYS 0x003E
-#define SPI_GETSHOWIMEUI 0x006E
-#define SPI_GETSHOWSOUNDS 0x0038
-#define SPI_GETSNAPTODEFBUTTON 0x005F
-#define SPI_GETSOUNDSENTRY 0x0040
-#define SPI_GETSTICKYKEYS 0x003A
-#define SPI_GETTOGGLEKEYS 0x0034
-#define SPI_GETTOOLTIPANIMATION 0x1016
-#define SPI_GETTOOLTIPFADE 0x1018
-#define SPI_GETUIEFFECTS 0x103E
-#define SPI_GETWHEELSCROLLLINES 0x0068
-#define SPI_GETWINDOWSEXTENSION 0x005C
-#define SPI_GETWORKAREA 0x0030
-#define SPI_ICONHORIZONTALSPACING 0x000D
-#define SPI_ICONVERTICALSPACING 0x0018
-#define SPI_LANGDRIVER 0x000C
-#define SPI_SETACCESSTIMEOUT 0x003D
-#define SPI_SETACTIVEWINDOWTRACKING 0x1001
-#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
-#define SPI_SETACTIVEWNDTRKZORDER 0x100D
-#define SPI_SETANIMATION 0x0049
-#define SPI_SETBEEP 0x0002
-#define SPI_SETBLOCKSENDINPUTRESETS 0x1027
-#define SPI_SETBORDER 0x0006
-#define SPI_SETCARETWIDTH 0x2007
-#define SPI_SETCOMBOBOXANIMATION 0x1005
-#define SPI_SETCURSORS 0x0057
-#define SPI_SETCURSORSHADOW 0x101B
-#define SPI_SETDEFAULTINPUTLANG 0x005A
-#define SPI_SETDESKPATTERN 0x0015
-#define SPI_SETDESKWALLPAPER 0x0014
-#define SPI_SETDOUBLECLICKTIME 0x0020
-#define SPI_SETDOUBLECLKHEIGHT 0x001E
-#define SPI_SETDOUBLECLKWIDTH 0x001D
-#define SPI_SETDRAGFULLWINDOWS 0x0025
-#define SPI_SETDRAGHEIGHT 0x004D
-#define SPI_SETDRAGWIDTH 0x004C
-#define SPI_SETFASTTASKSWITCH 0x0024
-#define SPI_SETFILTERKEYS 0x0033
-#define SPI_SETFONTSMOOTHING 0x004B
-#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
-#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
-#define SPI_SETGRADIENTCAPTIONS 0x1009
-#define SPI_SETGRIDGRANULARITY 0x0013
-#define SPI_SETHANDHELD 0x004E
-#define SPI_SETHIGHCONTRAST 0x0043
-#define SPI_SETHOTTRACKING 0x100F
-#define SPI_SETICONMETRICS 0x002E
-#define SPI_SETICONS 0x0058
-#define SPI_SETICONTITLELOGFONT 0x0022
-#define SPI_SETICONTITLEWRAP 0x001A
-#define SPI_SETKEYBOARDCUES 0x100B
-#define SPI_SETKEYBOARDDELAY 0x0017
-#define SPI_SETKEYBOARDPREF 0x0045
-#define SPI_SETKEYBOARDSPEED 0x000B
-#define SPI_SETLANGTOGGLE 0x005B
-#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
-#define SPI_SETLOWPOWERACTIVE 0x0055
-#define SPI_SETLOWPOWERTIMEOUT 0x0051
-#define SPI_SETMENUANIMATION 0x1003
-#define SPI_SETMENUDROPALIGNMENT 0x001C
-#define SPI_SETMENUFADE 0x1013
-#define SPI_SETMENUSHOWDELAY 0x006B
-#define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES
-#define SPI_SETMINIMIZEDMETRICS 0x002C
-#define SPI_SETMOUSE 0x0004
-#define SPI_SETMOUSEBUTTONSWAP 0x0021
-#define SPI_SETMOUSEHOVERHEIGHT 0x0065
-#define SPI_SETMOUSEHOVERTIME 0x0067
-#define SPI_SETMOUSEHOVERWIDTH 0x0063
-#define SPI_SETMOUSEKEYS 0x0037
-#define SPI_SETMOUSESPEED 0x0071
-#define SPI_SETMOUSETRAILS 0x005D
-#define SPI_SETNONCLIENTMETRICS 0x002A
-#define SPI_SETPENWINDOWS 0x0031
-#define SPI_SETPOWEROFFACTIVE 0x0056
-#define SPI_SETPOWEROFFTIMEOUT 0x0052
-#define SPI_SETSCREENREADER 0x0047
-#define SPI_SETSCREENSAVEACTIVE 0x0011
-#define SPI_SETSCREENSAVERRUNNING 0x0061
-#define SPI_SETSCREENSAVETIMEOUT 0x000F
-#define SPI_SETSELECTIONFADE 0x1015
-#define SPI_SETSERIALKEYS 0x003F
-#define SPI_SETSHOWIMEUI 0x006F
-#define SPI_SETSHOWSOUNDS 0x0039
-#define SPI_SETSNAPTODEFBUTTON 0x0060
-#define SPI_SETSOUNDSENTRY 0x0041
-#define SPI_SETSTICKYKEYS 0x003B
-#define SPI_SETTOGGLEKEYS 0x0035
-#define SPI_SETTOOLTIPANIMATION 0x1017
-#define SPI_SETTOOLTIPFADE 0x1019
-#define SPI_SETUIEFFECTS 0x103F
-#define SPI_SETWHEELSCROLLLINES 0x0069
-#define SPI_SETWORKAREA 0x002F
-#if (_WIN32_WINNT >= 0x0501)
-#define SPI_GETDROPSHADOW 0x1024
-#define SPI_GETFLATMENU 0x1022
-#define SPI_GETFOCUSBORDERHEIGHT 0x2010
-#define SPI_GETFOCUSBORDERWIDTH 0x200E
-#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
-#define SPI_GETFONTSMOOTHINGTYPE 0x200A
-#define SPI_GETMOUSECLICKLOCK 0x101E
-#define SPI_GETMOUSECLICKLOCKTIME 0x2008
-#define SPI_GETMOUSESONAR 0x101C
-#define SPI_GETMOUSEVANISH 0x1020
-#define SPI_SETDROPSHADOW 0x1025
-#define SPI_SETFLATMENU 0x1023
-#define SPI_SETFOCUSBORDERHEIGHT 0x2011
-#define SPI_SETFOCUSBORDERWIDTH 0x200F
-#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
-#define SPI_SETFONTSMOOTHINGTYPE 0x200B
-#define SPI_SETMOUSECLICKLOCK 0x101F
-#define SPI_SETMOUSECLICKLOCKTIME 0x2009
-#define SPI_SETMOUSESONAR 0x101D
-#define SPI_SETMOUSEVANISH 0x1021
+
+#define SPI_GETACCESSTIMEOUT                          0x003C
+#define SPI_GETACTIVEWINDOWTRACKING                   0x1000
+#define SPI_GETACTIVEWNDTRKTIMEOUT                      8194
+#define SPI_GETACTIVEWNDTRKZORDER                     0x100C
+#define SPI_GETANIMATION                              0x0048
+#define SPI_GETBEEP                                   0x0001
+#define SPI_GETBLOCKSENDINPUTRESETS                   0x1026
+#define SPI_GETBORDER                                 0x0005
+#define SPI_GETCARETWIDTH                             0x2006
+#define SPI_GETCOMBOBOXANIMATION                      0x1004
+#define SPI_GETCURSORSHADOW                           0x101A
+#define SPI_GETDEFAULTINPUTLANG                       0x0059
+#define SPI_GETDESKWALLPAPER                          0x0073
+#define SPI_GETDRAGFULLWINDOWS                        0x0026
+#define SPI_GETFASTTASKSWITCH                         0x0023
+#define SPI_GETFILTERKEYS                             0x0032
+#define SPI_GETFONTSMOOTHING                          0x004A
+#define SPI_GETFOREGROUNDFLASHCOUNT                   0x2004
+#define SPI_GETFOREGROUNDLOCKTIMEOUT                  0x2000
+#define SPI_GETGRADIENTCAPTIONS                       0x1008
+#define SPI_GETGRIDGRANULARITY                        0x0012
+#define SPI_GETHIGHCONTRAST                           0x0042
+#define SPI_GETHOTTRACKING                            0x100E
+#define SPI_GETICONMETRICS                            0x002D
+#define SPI_GETICONTITLELOGFONT                       0x001F
+#define SPI_GETICONTITLEWRAP                          0x0019
+#define SPI_GETKEYBOARDCUES                           0x100A
+#define SPI_GETKEYBOARDDELAY                          0x0016
+#define SPI_GETKEYBOARDPREF                           0x0044
+#define SPI_GETKEYBOARDSPEED                          0x000A
+#define SPI_GETLISTBOXSMOOTHSCROLLING                 0x1006
+#define SPI_GETLOWPOWERACTIVE                         0x0053
+#define SPI_GETLOWPOWERTIMEOUT                        0x004F
+#define SPI_GETMENUANIMATION                          0x1002
+#define SPI_GETMENUDROPALIGNMENT                      0x001B
+#define SPI_GETMENUFADE                               0x1012
+#define SPI_GETMENUSHOWDELAY                          0x006A
+#define SPI_GETMENUUNDERLINES                  SPI_GETKEYBOARDCUES
+#define SPI_GETMINIMIZEDMETRICS                       0x002B
+#define SPI_GETMOUSE                                  0x0003
+#define SPI_GETMOUSEHOVERHEIGHT                       0x0064
+#define SPI_GETMOUSEHOVERTIME                         0x0066
+#define SPI_GETMOUSEHOVERWIDTH                        0x0062
+#define SPI_GETMOUSEKEYS                              0x0036
+#define SPI_GETMOUSESPEED                             0x0070
+#define SPI_GETMOUSETRAILS                            0x005E
+#define SPI_GETNONCLIENTMETRICS                       0x0029
+#define SPI_GETPOWEROFFACTIVE                         0x0054
+#define SPI_GETPOWEROFFTIMEOUT                        0x0050
+#define SPI_GETSCREENREADER                           0x0046
+#define SPI_GETSCREENSAVEACTIVE                       0x0010
+#define SPI_GETSCREENSAVERRUNNING                     0x0072
+#define SPI_GETSCREENSAVETIMEOUT                      0x000E
+#define SPI_GETSELECTIONFADE                          0x1014
+#define SPI_GETSERIALKEYS                             0x003E
+#define SPI_GETSHOWIMEUI                              0x006E
+#define SPI_GETSHOWSOUNDS                             0x0038
+#define SPI_GETSNAPTODEFBUTTON                        0x005F
+#define SPI_GETSOUNDSENTRY                            0x0040
+#define SPI_GETSTICKYKEYS                             0x003A
+#define SPI_GETTOGGLEKEYS                             0x0034
+#define SPI_GETTOOLTIPANIMATION                       0x1016
+#define SPI_GETTOOLTIPFADE                            0x1018
+#define SPI_GETUIEFFECTS                              0x103E
+#define SPI_GETWHEELSCROLLLINES                       0x0068
+#define SPI_GETWINDOWSEXTENSION                       0x005C
+#define SPI_GETWORKAREA                               0x0030
+#define SPI_ICONHORIZONTALSPACING                     0x000D
+#define SPI_ICONVERTICALSPACING                       0x0018
+#define SPI_LANGDRIVER                                0x000C
+#define SPI_SETACCESSTIMEOUT                          0x003D
+#define SPI_SETACTIVEWINDOWTRACKING                   0x1001
+#define SPI_SETACTIVEWNDTRKTIMEOUT                      8195
+#define SPI_SETACTIVEWNDTRKZORDER                     0x100D
+#define SPI_SETANIMATION                              0x0049
+#define SPI_SETBEEP                                   0x0002
+#define SPI_SETBLOCKSENDINPUTRESETS                   0x1027
+#define SPI_SETBORDER                                 0x0006
+#define SPI_SETCARETWIDTH                             0x2007
+#define SPI_SETCOMBOBOXANIMATION                      0x1005
+#define SPI_SETCURSORS                                0x0057
+#define SPI_SETCURSORSHADOW                           0x101B
+#define SPI_SETDEFAULTINPUTLANG                       0x005A
+#define SPI_SETDESKPATTERN                            0x0015
+#define SPI_SETDESKWALLPAPER                          0x0014
+#define SPI_SETDOUBLECLICKTIME                        0x0020
+#define SPI_SETDOUBLECLKHEIGHT                        0x001E
+#define SPI_SETDOUBLECLKWIDTH                         0x001D
+#define SPI_SETDRAGFULLWINDOWS                        0x0025
+#define SPI_SETDRAGHEIGHT                             0x004D
+#define SPI_SETDRAGWIDTH                              0x004C
+#define SPI_SETFASTTASKSWITCH                         0x0024
+#define SPI_SETFILTERKEYS                             0x0033
+#define SPI_SETFONTSMOOTHING                          0x004B
+#define SPI_SETFOREGROUNDFLASHCOUNT                   0x2005
+#define SPI_SETFOREGROUNDLOCKTIMEOUT                  0x2001
+#define SPI_SETGRADIENTCAPTIONS                       0x1009
+#define SPI_SETGRIDGRANULARITY                        0x0013
+#define SPI_SETHANDHELD                               0x004E
+#define SPI_SETHIGHCONTRAST                           0x0043
+#define SPI_SETHOTTRACKING                            0x100F
+#define SPI_SETICONMETRICS                            0x002E
+#define SPI_SETICONS                                  0x0058
+#define SPI_SETICONTITLELOGFONT                       0x0022
+#define SPI_SETICONTITLEWRAP                          0x001A
+#define SPI_SETKEYBOARDCUES                           0x100B
+#define SPI_SETKEYBOARDDELAY                          0x0017
+#define SPI_SETKEYBOARDPREF                           0x0045
+#define SPI_SETKEYBOARDSPEED                          0x000B
+#define SPI_SETLANGTOGGLE                             0x005B
+#define SPI_SETLISTBOXSMOOTHSCROLLING                 0x1007
+#define SPI_SETLOWPOWERACTIVE                         0x0055
+#define SPI_SETLOWPOWERTIMEOUT                        0x0051
+#define SPI_SETMENUANIMATION                          0x1003
+#define SPI_SETMENUDROPALIGNMENT                      0x001C
+#define SPI_SETMENUFADE                               0x1013
+#define SPI_SETMENUSHOWDELAY                          0x006B
+#define SPI_SETMENUUNDERLINES                  SPI_SETKEYBOARDCUES
+#define SPI_SETMINIMIZEDMETRICS                       0x002C
+#define SPI_SETMOUSE                                  0x0004
+#define SPI_SETMOUSEBUTTONSWAP                        0x0021
+#define SPI_SETMOUSEHOVERHEIGHT                       0x0065
+#define SPI_SETMOUSEHOVERTIME                         0x0067
+#define SPI_SETMOUSEHOVERWIDTH                        0x0063
+#define SPI_SETMOUSEKEYS                              0x0037
+#define SPI_SETMOUSESPEED                             0x0071
+#define SPI_SETMOUSETRAILS                            0x005D
+#define SPI_SETNONCLIENTMETRICS                       0x002A
+#define SPI_SETPENWINDOWS                             0x0031
+#define SPI_SETPOWEROFFACTIVE                         0x0056
+#define SPI_SETPOWEROFFTIMEOUT                        0x0052
+#define SPI_SETSCREENREADER                           0x0047
+#define SPI_SETSCREENSAVEACTIVE                       0x0011
+#define SPI_SETSCREENSAVERRUNNING                     0x0061
+#define SPI_SETSCREENSAVETIMEOUT                      0x000F
+#define SPI_SETSELECTIONFADE                          0x1015
+#define SPI_SETSERIALKEYS                             0x003F
+#define SPI_SETSHOWIMEUI                              0x006F
+#define SPI_SETSHOWSOUNDS                             0x0039
+#define SPI_SETSNAPTODEFBUTTON                        0x0060
+#define SPI_SETSOUNDSENTRY                            0x0041
+#define SPI_SETSTICKYKEYS                             0x003B
+#define SPI_SETTOGGLEKEYS                             0x0035
+#define SPI_SETTOOLTIPANIMATION                       0x1017
+#define SPI_SETTOOLTIPFADE                            0x1019
+#define SPI_SETUIEFFECTS                              0x103F
+#define SPI_SETWHEELSCROLLLINES                       0x0069
+#define SPI_SETWORKAREA                               0x002F
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define SPI_GETDROPSHADOW                             0x1024
+#define SPI_GETFLATMENU                               0x1022
+#define SPI_GETFOCUSBORDERHEIGHT                      0x2010
+#define SPI_GETFOCUSBORDERWIDTH                       0x200E
+#define SPI_GETFONTSMOOTHINGCONTRAST                  0x200C
+#define SPI_GETFONTSMOOTHINGTYPE                      0x200A
+#define SPI_GETMOUSECLICKLOCK                         0x101E
+#define SPI_GETMOUSECLICKLOCKTIME                     0x2008
+#define SPI_GETMOUSESONAR                             0x101C
+#define SPI_GETMOUSEVANISH                            0x1020
+#define SPI_SETDROPSHADOW                             0x1025
+#define SPI_SETFLATMENU                               0x1023
+#define SPI_SETFOCUSBORDERHEIGHT                      0x2011
+#define SPI_SETFOCUSBORDERWIDTH                       0x200F
+#define SPI_SETFONTSMOOTHINGCONTRAST                  0x200D
+#define SPI_SETFONTSMOOTHINGTYPE                      0x200B
+#define SPI_SETMOUSECLICKLOCK                         0x101F
+#define SPI_SETMOUSECLICKLOCKTIME                     0x2009
+#define SPI_SETMOUSESONAR                             0x101D
+#define SPI_SETMOUSEVANISH                            0x1021
 #endif
-#define SPIF_UPDATEINIFILE 0x0001
-#define SPIF_SENDCHANGE 0x0002
-#define SPIF_SENDWININICHANGE SPIF_SENDCHANGE
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_TIMEOUTON 1
-#define WM_APP 32768
-#define WM_ACTIVATE 6
-#define WM_ACTIVATEAPP 28
-/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_AFXFIRST 864
-#define WM_AFXLAST 895
-#define WM_ASKCBFORMATNAME 780
-#define WM_CANCELJOURNAL 75
-#define WM_CANCELMODE 31
-#define WM_CAPTURECHANGED 533
-#define WM_CHANGECBCHAIN 781
-#define WM_CHAR 258
-#define WM_CHARTOITEM 47
-#define WM_CHILDACTIVATE 34
-#define WM_CLEAR 771
-#define WM_CLOSE 16
-#define WM_COMMAND 273
-#define WM_COMMNOTIFY 68               /* obsolete */
-#define WM_COMPACTING 65
-#define WM_COMPAREITEM 57
-#define WM_CONTEXTMENU 123
-#define WM_COPY 769
-#define WM_COPYDATA 74
-#define WM_CREATE 1
-#define WM_CTLCOLORBTN 309
-#define WM_CTLCOLORDLG 310
-#define WM_CTLCOLOREDIT 307
-#define WM_CTLCOLORLISTBOX 308
-#define WM_CTLCOLORMSGBOX 306
-#define WM_CTLCOLORSCROLLBAR 311
-#define WM_CTLCOLORSTATIC 312
-#define WM_CUT 768
-#define WM_DEADCHAR 259
-#define WM_DELETEITEM 45
-#define WM_DESTROY 2
-#define WM_DESTROYCLIPBOARD 775
-#define WM_DEVICECHANGE 537
-#define WM_DEVMODECHANGE 27
-#define WM_DISPLAYCHANGE 126
-#define WM_DRAWCLIPBOARD 776
-#define WM_DRAWITEM 43
-#define WM_DROPFILES 563
-#define WM_ENABLE 10
-#define WM_ENDSESSION 22
-#define WM_ENTERIDLE 289
-#define WM_ENTERMENULOOP 529
-#define WM_ENTERSIZEMOVE 561
-#define WM_ERASEBKGND 20
-#define WM_EXITMENULOOP 530
-#define WM_EXITSIZEMOVE 562
-#define WM_FONTCHANGE 29
-#define WM_GETDLGCODE 135
-#define WM_GETFONT 49
-#define WM_GETHOTKEY 51
-#define WM_GETICON 127
-#define WM_GETMINMAXINFO 36
-#define WM_GETTEXT 13
-#define WM_GETTEXTLENGTH 14
-/* FIXME/CHECK: Are WM_HANDHEL{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_HANDHELDFIRST 856
-#define WM_HANDHELDLAST 863
-#define WM_HELP 83
-#define WM_HOTKEY 786
-#define WM_HSCROLL 276
-#define WM_HSCROLLCLIPBOARD 782
-#define WM_ICONERASEBKGND 39
-#define WM_INITDIALOG 272
-#define WM_INITMENU 278
-#define WM_INITMENUPOPUP 279
-#if (_WIN32_WINNT >= 0x0501)
-#define WM_INPUT 0x00FF
+
+#define SPIF_UPDATEINIFILE                            0x0001
+#define SPIF_SENDCHANGE                               0x0002
+#define SPIF_SENDWININICHANGE                     SPIF_SENDCHANGE
+#define ATF_ONOFFFEEDBACK                                  2
+#define ATF_TIMEOUTON                                      1
+#define WM_APP                                         32768
+#define WM_ACTIVATE                                        6
+#define WM_ACTIVATEAPP                                    28
+
+/* FIXME/CHECK: Are WM_AFX{FIRST, LAST} valid for WINVER < 0x400? */
+
+#define WM_AFXFIRST                                      864
+#define WM_AFXLAST                                       895
+#define WM_ASKCBFORMATNAME                               780
+#define WM_CANCELJOURNAL                                  75
+#define WM_CANCELMODE                                     31
+#define WM_CAPTURECHANGED                                533
+#define WM_CHANGECBCHAIN                                 781
+#define WM_CHAR                                          258
+#define WM_CHARTOITEM                                     47
+#define WM_CHILDACTIVATE                                  34
+#define WM_CLEAR                                         771
+#define WM_CLOSE                                          16
+#define WM_COMMAND                                       273
+#define WM_COMMNOTIFY                                     68   /* obsolete */
+#define WM_COMPACTING                                     65
+#define WM_COMPAREITEM                                    57
+#define WM_CONTEXTMENU                                   123
+#define WM_COPY                                          769
+#define WM_COPYDATA                                       74
+#define WM_CREATE                                          1
+#define WM_CTLCOLORBTN                                   309
+#define WM_CTLCOLORDLG                                   310
+#define WM_CTLCOLOREDIT                                  307
+#define WM_CTLCOLORLISTBOX                               308
+#define WM_CTLCOLORMSGBOX                                306
+#define WM_CTLCOLORSCROLLBAR                             311
+#define WM_CTLCOLORSTATIC                                312
+#define WM_CUT                                           768
+#define WM_DEADCHAR                                      259
+#define WM_DELETEITEM                                     45
+#define WM_DESTROY                                         2
+#define WM_DESTROYCLIPBOARD                              775
+#define WM_DEVICECHANGE                                  537
+#define WM_DEVMODECHANGE                                  27
+#define WM_DISPLAYCHANGE                                 126
+#define WM_DRAWCLIPBOARD                                 776
+#define WM_DRAWITEM                                       43
+#define WM_DROPFILES                                     563
+#define WM_ENABLE                                         10
+#define WM_ENDSESSION                                     22
+#define WM_ENTERIDLE                                     289
+#define WM_ENTERMENULOOP                                 529
+#define WM_ENTERSIZEMOVE                                 561
+#define WM_ERASEBKGND                                     20
+#define WM_EXITMENULOOP                                  530
+#define WM_EXITSIZEMOVE                                  562
+#define WM_FONTCHANGE                                     29
+#define WM_GETDLGCODE                                    135
+#define WM_GETFONT                                        49
+#define WM_GETHOTKEY                                      51
+#define WM_GETICON                                       127
+#define WM_GETMINMAXINFO                                  36
+#define WM_GETTEXT                                        13
+#define WM_GETTEXTLENGTH                                  14
+
+/* FIXME/CHECK: Are WM_HANDHEL{FIRST, LAST} valid for WINVER < 0x400? */
+
+#define WM_HANDHELDFIRST                                 856
+#define WM_HANDHELDLAST                                  863
+#define WM_HELP                                           83
+#define WM_HOTKEY                                        786
+#define WM_HSCROLL                                       276
+#define WM_HSCROLLCLIPBOARD                              782
+#define WM_ICONERASEBKGND                                 39
+#define WM_INITDIALOG                                    272
+#define WM_INITMENU                                      278
+#define WM_INITMENUPOPUP                                 279
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define WM_INPUT                                      0x00FF
 #endif
-#define WM_INPUTLANGCHANGE 81
-#define WM_INPUTLANGCHANGEREQUEST 80
-#define WM_KEYDOWN 256
-#define WM_KEYUP 257
-#define WM_KILLFOCUS 8
-#define WM_MDIACTIVATE 546
-#define WM_MDICASCADE 551
-#define WM_MDICREATE 544
-#define WM_MDIDESTROY 545
-#define WM_MDIGETACTIVE 553
-#define WM_MDIICONARRANGE 552
-#define WM_MDIMAXIMIZE 549
-#define WM_MDINEXT 548
-#define WM_MDIREFRESHMENU 564
-#define WM_MDIRESTORE 547
-#define WM_MDISETMENU 560
-#define WM_MDITILE 550
-#define WM_MEASUREITEM 44
-#if (WINVER >= 0x0500)
-#define WM_GETOBJECT 0x003D
-#define WM_CHANGEUISTATE 0x0127
-#define WM_UPDATEUISTATE 0x0128
-#define WM_QUERYUISTATE 0x0129
-#define WM_UNINITMENUPOPUP 0x0125
-#define WM_MENURBUTTONUP 290
-#define WM_MENUCOMMAND 0x0126
-#define WM_MENUGETOBJECT 0x0124
-#define WM_MENUDRAG 0x0123
-#define WM_APPCOMMAND 0x0319
+
+#define WM_INPUTLANGCHANGE                                81
+#define WM_INPUTLANGCHANGEREQUEST                         80
+#define WM_KEYDOWN                                       256
+#define WM_KEYUP                                         257
+#define WM_KILLFOCUS                                       8
+#define WM_MDIACTIVATE                                   546
+#define WM_MDICASCADE                                    551
+#define WM_MDICREATE                                     544
+#define WM_MDIDESTROY                                    545
+#define WM_MDIGETACTIVE                                  553
+#define WM_MDIICONARRANGE                                552
+#define WM_MDIMAXIMIZE                                   549
+#define WM_MDINEXT                                       548
+#define WM_MDIREFRESHMENU                                564
+#define WM_MDIRESTORE                                    547
+#define WM_MDISETMENU                                    560
+#define WM_MDITILE                                       550
+#define WM_MEASUREITEM                                    44
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define WM_GETOBJECT                                  0x003D
+#define WM_CHANGEUISTATE                              0x0127
+#define WM_UPDATEUISTATE                              0x0128
+#define WM_QUERYUISTATE                               0x0129
+#define WM_UNINITMENUPOPUP                            0x0125
+#define WM_MENURBUTTONUP                                 290
+#define WM_MENUCOMMAND                                0x0126
+#define WM_MENUGETOBJECT                              0x0124
+#define WM_MENUDRAG                                   0x0123
+#define WM_APPCOMMAND                                 0x0319
 #endif
-#define WM_MENUCHAR 288
-#define WM_MENUSELECT 287
-#define WM_NEXTMENU 531
-#define WM_MOVE 3
-#define WM_MOVING 534
-#define WM_NCACTIVATE 134
-#define WM_NCCALCSIZE 131
-#define WM_NCCREATE 129
-#define WM_NCDESTROY 130
-#define WM_NCHITTEST 132
-#define WM_NCLBUTTONDBLCLK 163
-#define WM_NCLBUTTONDOWN 161
-#define WM_NCLBUTTONUP 162
-#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
-#define WM_NCMOUSEHOVER 0x02A0
-#define WM_NCMOUSELEAVE 0x02A2
+
+#define WM_MENUCHAR                                      288
+#define WM_MENUSELECT                                    287
+#define WM_NEXTMENU                                      531
+#define WM_MOVE                                            3
+#define WM_MOVING                                        534
+#define WM_NCACTIVATE                                    134
+#define WM_NCCALCSIZE                                    131
+#define WM_NCCREATE                                      129
+#define WM_NCDESTROY                                     130
+#define WM_NCHITTEST                                     132
+#define WM_NCLBUTTONDBLCLK                               163
+#define WM_NCLBUTTONDOWN                                 161
+#define WM_NCLBUTTONUP                                   162
+#define WM_NCMBUTTONDBLCLK                               169
+#define WM_NCMBUTTONDOWN                                 167
+#define WM_NCMBUTTONUP                                   168
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define WM_NCXBUTTONDOWN                                 171
+#define WM_NCXBUTTONUP                                   172
+#define WM_NCXBUTTONDBLCLK                               173
+#define WM_NCMOUSEHOVER                               0x02A0
+#define WM_NCMOUSELEAVE                               0x02A2
 #endif
-#define WM_NCMOUSEMOVE 160
-#define WM_NCPAINT 133
-#define WM_NCRBUTTONDBLCLK 166
-#define WM_NCRBUTTONDOWN 164
-#define WM_NCRBUTTONUP 165
-#define WM_NEXTDLGCTL 40
-#define WM_NEXTMENU 531
-#define WM_NOTIFY 78
-#define WM_NOTIFYFORMAT 85
-#define WM_NULL 0
-#define WM_PAINT 15
-#define WM_PAINTCLIPBOARD 777
-#define WM_PAINTICON 38
-#define WM_PALETTECHANGED 785
-#define WM_PALETTEISCHANGING 784
-#define WM_PARENTNOTIFY 528
-#define WM_PASTE 770
-#define WM_PENWINFIRST 896
-#define WM_PENWINLAST 911
-#define WM_POWER 72
-#define WM_POWERBROADCAST 536
-#define WM_PRINT 791
-#define WM_PRINTCLIENT 792
-#define WM_QUERYDRAGICON 55
-#define WM_QUERYENDSESSION 17
-#define WM_QUERYNEWPALETTE 783
-#define WM_QUERYOPEN 19
-#define WM_QUEUESYNC 35
-#define WM_QUIT 18
-#define WM_RENDERALLFORMATS 774
-#define WM_RENDERFORMAT 773
-#define WM_SETCURSOR 32
-#define WM_SETFOCUS 7
-#define WM_SETFONT 48
-#define WM_SETHOTKEY 50
-#define WM_SETICON 128
-#define WM_SETREDRAW 11
-#define WM_SETTEXT 12
-#define WM_SETTINGCHANGE 26
-#define WM_SHOWWINDOW 24
-#define WM_SIZE 5
-#define WM_SIZECLIPBOARD 779
-#define WM_SIZING 532
-#define WM_SPOOLERSTATUS 42
-#define WM_STYLECHANGED 125
-#define WM_STYLECHANGING 124
-#define WM_SYSCHAR 262
-#define WM_SYSCOLORCHANGE 21
-#define WM_SYSCOMMAND 274
-#define WM_SYSDEADCHAR 263
-#define WM_SYSKEYDOWN 260
-#define WM_SYSKEYUP 261
-#define WM_TCARD 82
-#define WM_THEMECHANGED 794
-#define WM_TIMECHANGE 30
-#define WM_TIMER 275
-#define WM_UNDO 772
-#define WM_USER 1024
-#define WM_USERCHANGED 84
-#define WM_VKEYTOITEM 46
-#define WM_VSCROLL 277
-#define WM_VSCROLLCLIPBOARD 778
-#define WM_WINDOWPOSCHANGED 71
-#define WM_WINDOWPOSCHANGING 70
-#define WM_WININICHANGE 26
-#define WM_KEYFIRST 256
-#if _WIN32_WINNT >= 0x0501
-#define WM_KEYLAST 265
-#define WM_UNICHAR 265
-#define UNICODE_NOCHAR 0xffff
+
+#define WM_NCMOUSEMOVE                                   160
+#define WM_NCPAINT                                       133
+#define WM_NCRBUTTONDBLCLK                               166
+#define WM_NCRBUTTONDOWN                                 164
+#define WM_NCRBUTTONUP                                   165
+#define WM_NEXTDLGCTL                                     40
+#define WM_NEXTMENU                                      531
+#define WM_NOTIFY                                         78
+#define WM_NOTIFYFORMAT                                   85
+#define WM_NULL                                            0
+#define WM_PAINT                                          15
+#define WM_PAINTCLIPBOARD                                777
+#define WM_PAINTICON                                      38
+#define WM_PALETTECHANGED                                785
+#define WM_PALETTEISCHANGING                             784
+#define WM_PARENTNOTIFY                                  528
+#define WM_PASTE                                         770
+#define WM_PENWINFIRST                                   896
+#define WM_PENWINLAST                                    911
+#define WM_POWER                                          72
+#define WM_POWERBROADCAST                                536
+#define WM_PRINT                                         791
+#define WM_PRINTCLIENT                                   792
+#define WM_QUERYDRAGICON                                  55
+#define WM_QUERYENDSESSION                                17
+#define WM_QUERYNEWPALETTE                               783
+#define WM_QUERYOPEN                                      19
+#define WM_QUEUESYNC                                      35
+#define WM_QUIT                                           18
+#define WM_RENDERALLFORMATS                              774
+#define WM_RENDERFORMAT                                  773
+#define WM_SETCURSOR                                      32
+#define WM_SETFOCUS                                        7
+#define WM_SETFONT                                        48
+#define WM_SETHOTKEY                                      50
+#define WM_SETICON                                       128
+#define WM_SETREDRAW                                      11
+#define WM_SETTEXT                                        12
+#define WM_SETTINGCHANGE                                  26
+#define WM_SHOWWINDOW                                     24
+#define WM_SIZE                                            5
+#define WM_SIZECLIPBOARD                                 779
+#define WM_SIZING                                        532
+#define WM_SPOOLERSTATUS                                  42
+#define WM_STYLECHANGED                                  125
+#define WM_STYLECHANGING                                 124
+#define WM_SYSCHAR                                       262
+#define WM_SYSCOLORCHANGE                                 21
+#define WM_SYSCOMMAND                                    274
+#define WM_SYSDEADCHAR                                   263
+#define WM_SYSKEYDOWN                                    260
+#define WM_SYSKEYUP                                      261
+#define WM_TCARD                                          82
+#define WM_THEMECHANGED                                  794
+#define WM_TIMECHANGE                                     30
+#define WM_TIMER                                         275
+#define WM_UNDO                                          772
+#define WM_USER                                         1024
+#define WM_USERCHANGED                                    84
+#define WM_VKEYTOITEM                                     46
+#define WM_VSCROLL                                       277
+#define WM_VSCROLLCLIPBOARD                              778
+#define WM_WINDOWPOSCHANGED                               71
+#define WM_WINDOWPOSCHANGING                              70
+#define WM_WININICHANGE                                   26
+#define WM_KEYFIRST                                      256
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define WM_KEYLAST                                       265
+#define WM_UNICHAR                                       265
+#define UNICODE_NOCHAR                                0xFFFF
+
 #else
-#define WM_KEYLAST 264
+#define WM_KEYLAST                                       264
 #endif
-#define WM_SYNCPAINT  136
-#define WM_MOUSEACTIVATE 33
-#define WM_MOUSEMOVE 512
-#define WM_LBUTTONDOWN 513
-#define WM_LBUTTONUP 514
-#define WM_LBUTTONDBLCLK 515
-#define WM_RBUTTONDOWN 516
-#define WM_RBUTTONUP 517
-#define WM_RBUTTONDBLCLK 518
-#define WM_MBUTTONDOWN 519
-#define WM_MBUTTONUP 520
-#define WM_MBUTTONDBLCLK 521
-#define WM_MOUSEWHEEL 522
-#define WM_MOUSEFIRST 512
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_XBUTTONDOWN 523
-#define WM_XBUTTONUP 524
-#define WM_XBUTTONDBLCLK 525
-#define WM_MOUSELAST 525
+
+#define WM_SYNCPAINT                                     136
+#define WM_MOUSEACTIVATE                                  33
+#define WM_MOUSEMOVE                                     512
+#define WM_LBUTTONDOWN                                   513
+#define WM_LBUTTONUP                                     514
+#define WM_LBUTTONDBLCLK                                 515
+#define WM_RBUTTONDOWN                                   516
+#define WM_RBUTTONUP                                     517
+#define WM_RBUTTONDBLCLK                                 518
+#define WM_MBUTTONDOWN                                   519
+#define WM_MBUTTONUP                                     520
+#define WM_MBUTTONDBLCLK                                 521
+#define WM_MOUSEWHEEL                                    522
+#define WM_MOUSEFIRST                                    512
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define WM_XBUTTONDOWN                                   523
+#define WM_XBUTTONUP                                     524
+#define WM_XBUTTONDBLCLK                                 525
+#define WM_MOUSELAST                                     525
+
 #else
-#define WM_MOUSELAST 522
+#define WM_MOUSELAST                                     522
 #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
+
+#define WM_MOUSEHOVER                                  0x2A1
+#define WM_MOUSELEAVE                                  0x2A3
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+#define WHEEL_DELTA                                      120
+#define GET_WHEEL_DELTA_WPARAM(wparam)         ((short)(HIWORD(wparam)))
+#define WHEEL_PAGESCROLL                               UINT_MAX
 #endif
-#if (_WIN32_WINNT >= 0x0601)
-#define WM_TOUCHMOVE 576
-#define WM_TOUCHDOWN 577
-#define WM_TOUCHUP 578
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
+#define WM_TOUCHMOVE                                     576
+#define WM_TOUCHDOWN                                     577
+#define WM_TOUCHUP                                       578
 #endif
-#define BM_CLICK 245
-#define BM_GETCHECK 240
-#define BM_GETIMAGE 246
-#define BM_GETSTATE 242
-#define BM_SETCHECK 241
-#define BM_SETIMAGE 247
-#define BM_SETSTATE 243
-#define BM_SETSTYLE 244
-#define BN_CLICKED 0
-#define BN_DBLCLK 5
-#define BN_DISABLE 4
-#define BN_DOUBLECLICKED 5
-#define BN_HILITE 2
-#define BN_KILLFOCUS 7
-#define BN_PAINT 1
-#define BN_PUSHED 2
-#define BN_SETFOCUS 6
-#define BN_UNHILITE 3
-#define BN_UNPUSHED 3
-#define CB_ADDSTRING 323
-#define CB_DELETESTRING 324
-#define CB_DIR 325
-#define CB_FINDSTRING 332
-#define CB_FINDSTRINGEXACT 344
-#define CB_GETCOUNT 326
-#define CB_GETCURSEL 327
-#define CB_GETDROPPEDCONTROLRECT 338
-#define CB_GETDROPPEDSTATE 343
-#define CB_GETDROPPEDWIDTH 351
-#define CB_GETEDITSEL 320
-#define CB_GETEXTENDEDUI 342
-#define CB_GETHORIZONTALEXTENT 349
-#define CB_GETITEMDATA 336
-#define CB_GETITEMHEIGHT 340
-#define CB_GETLBTEXT 328
-#define CB_GETLBTEXTLEN 329
-#define CB_GETLOCALE 346
-#define CB_GETTOPINDEX 347
-#define CB_INITSTORAGE 353
-#define CB_INSERTSTRING 330
-#define CB_LIMITTEXT 321
-#define CB_RESETCONTENT 331
-#define CB_SELECTSTRING 333
-#define CB_SETCURSEL 334
-#define CB_SETDROPPEDWIDTH 352
-#define CB_SETEDITSEL 322
-#define CB_SETEXTENDEDUI 341
-#define CB_SETHORIZONTALEXTENT 350
-#define CB_SETITEMDATA 337
-#define CB_SETITEMHEIGHT 339
-#define CB_SETLOCALE 345
-#define CB_SETTOPINDEX 348
-#define CB_SHOWDROPDOWN 335
-#if (_WIN32_WINNT >= 0x0501)
-#define CB_SETMINVISIBLE 0x1701
-#define CB_GETMINVISIBLE 0x1702
+
+#define BM_CLICK                                         245
+#define BM_GETCHECK                                      240
+#define BM_GETIMAGE                                      246
+#define BM_GETSTATE                                      242
+#define BM_SETCHECK                                      241
+#define BM_SETIMAGE                                      247
+#define BM_SETSTATE                                      243
+#define BM_SETSTYLE                                      244
+#define BN_CLICKED                                         0
+#define BN_DBLCLK                                          5
+#define BN_DISABLE                                         4
+#define BN_DOUBLECLICKED                                   5
+#define BN_HILITE                                          2
+#define BN_KILLFOCUS                                       7
+#define BN_PAINT                                           1
+#define BN_PUSHED                                          2
+#define BN_SETFOCUS                                        6
+#define BN_UNHILITE                                        3
+#define BN_UNPUSHED                                        3
+#define CB_ADDSTRING                                     323
+#define CB_DELETESTRING                                  324
+#define CB_DIR                                           325
+#define CB_FINDSTRING                                    332
+#define CB_FINDSTRINGEXACT                               344
+#define CB_GETCOUNT                                      326
+#define CB_GETCURSEL                                     327
+#define CB_GETDROPPEDCONTROLRECT                         338
+#define CB_GETDROPPEDSTATE                               343
+#define CB_GETDROPPEDWIDTH                               351
+#define CB_GETEDITSEL                                    320
+#define CB_GETEXTENDEDUI                                 342
+#define CB_GETHORIZONTALEXTENT                           349
+#define CB_GETITEMDATA                                   336
+#define CB_GETITEMHEIGHT                                 340
+#define CB_GETLBTEXT                                     328
+#define CB_GETLBTEXTLEN                                  329
+#define CB_GETLOCALE                                     346
+#define CB_GETTOPINDEX                                   347
+#define CB_INITSTORAGE                                   353
+#define CB_INSERTSTRING                                  330
+#define CB_LIMITTEXT                                     321
+#define CB_RESETCONTENT                                  331
+#define CB_SELECTSTRING                                  333
+#define CB_SETCURSEL                                     334
+#define CB_SETDROPPEDWIDTH                               352
+#define CB_SETEDITSEL                                    322
+#define CB_SETEXTENDEDUI                                 341
+#define CB_SETHORIZONTALEXTENT                           350
+#define CB_SETITEMDATA                                   337
+#define CB_SETITEMHEIGHT                                 339
+#define CB_SETLOCALE                                     345
+#define CB_SETTOPINDEX                                   348
+#define CB_SHOWDROPDOWN                                  335
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define CB_SETMINVISIBLE                              0x1701
+#define CB_GETMINVISIBLE                              0x1702
 #endif
-#define CBN_CLOSEUP 8
-#define CBN_DBLCLK 2
-#define CBN_DROPDOWN 7
-#define CBN_EDITCHANGE 5
-#define CBN_EDITUPDATE 6
-#define CBN_ERRSPACE (-1)
-#define CBN_KILLFOCUS 4
-#define CBN_SELCHANGE 1
-#define CBN_SELENDCANCEL 10
-#define CBN_SELENDOK 9
-#define CBN_SETFOCUS 3
-#define EM_CANUNDO 198
-#define EM_CHARFROMPOS 215
-#define EM_EMPTYUNDOBUFFER 205
-#define EM_FMTLINES 200
-#define EM_GETFIRSTVISIBLELINE 206
-#define EM_GETHANDLE 189
-#define EM_GETLIMITTEXT 213
-#define EM_GETLINE 196
-#define EM_GETLINECOUNT 186
-#define EM_GETMARGINS 212
-#define EM_GETMODIFY 184
-#define EM_GETPASSWORDCHAR 210
-#define EM_GETRECT 178
-#define EM_GETSEL 176
-#define EM_GETTHUMB 190
-#define EM_GETWORDBREAKPROC 209
-#define EM_LIMITTEXT 197
-#define EM_LINEFROMCHAR 201
-#define EM_LINEINDEX 187
-#define EM_LINELENGTH 193
-#define EM_LINESCROLL 182
-#define EM_POSFROMCHAR 214
-#define EM_REPLACESEL 194
-#define EM_SCROLL 181
-#define EM_SCROLLCARET 183
-#define EM_SETHANDLE 188
-#define EM_SETLIMITTEXT 197
-#define EM_SETMARGINS 211
-#define EM_SETMODIFY 185
-#define EM_SETPASSWORDCHAR 204
-#define EM_SETREADONLY 207
-#define EM_SETRECT 179
-#define EM_SETRECTNP 180
-#define EM_SETSEL 177
-#define EM_SETTABSTOPS 203
-#define EM_SETWORDBREAKPROC 208
-#define EM_UNDO 199
-#if (WINVER >= 0x0500)
-#define EM_GETIMESTATUS 217
-#define EM_SETIMESTATUS 216
+
+#define CBN_CLOSEUP                                        8
+#define CBN_DBLCLK                                         2
+#define CBN_DROPDOWN                                       7
+#define CBN_EDITCHANGE                                     5
+#define CBN_EDITUPDATE                                     6
+#define CBN_ERRSPACE                                     (-1)
+#define CBN_KILLFOCUS                                      4
+#define CBN_SELCHANGE                                      1
+#define CBN_SELENDCANCEL                                  10
+#define CBN_SELENDOK                                       9
+#define CBN_SETFOCUS                                       3
+#define EM_CANUNDO                                       198
+#define EM_CHARFROMPOS                                   215
+#define EM_EMPTYUNDOBUFFER                               205
+#define EM_FMTLINES                                      200
+#define EM_GETFIRSTVISIBLELINE                           206
+#define EM_GETHANDLE                                     189
+#define EM_GETLIMITTEXT                                  213
+#define EM_GETLINE                                       196
+#define EM_GETLINECOUNT                                  186
+#define EM_GETMARGINS                                    212
+#define EM_GETMODIFY                                     184
+#define EM_GETPASSWORDCHAR                               210
+#define EM_GETRECT                                       178
+#define EM_GETSEL                                        176
+#define EM_GETTHUMB                                      190
+#define EM_GETWORDBREAKPROC                              209
+#define EM_LIMITTEXT                                     197
+#define EM_LINEFROMCHAR                                  201
+#define EM_LINEINDEX                                     187
+#define EM_LINELENGTH                                    193
+#define EM_LINESCROLL                                    182
+#define EM_POSFROMCHAR                                   214
+#define EM_REPLACESEL                                    194
+#define EM_SCROLL                                        181
+#define EM_SCROLLCARET                                   183
+#define EM_SETHANDLE                                     188
+#define EM_SETLIMITTEXT                                  197
+#define EM_SETMARGINS                                    211
+#define EM_SETMODIFY                                     185
+#define EM_SETPASSWORDCHAR                               204
+#define EM_SETREADONLY                                   207
+#define EM_SETRECT                                       179
+#define EM_SETRECTNP                                     180
+#define EM_SETSEL                                        177
+#define EM_SETTABSTOPS                                   203
+#define EM_SETWORDBREAKPROC                              208
+#define EM_UNDO                                          199
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define EM_GETIMESTATUS                                  217
+#define EM_SETIMESTATUS                                  216
 #endif
-#define EN_CHANGE 768
-#define EN_ERRSPACE 1280
-#define EN_HSCROLL 1537
-#define EN_KILLFOCUS 512
-#define EN_MAXTEXT 1281
-#define EN_SETFOCUS 256
-#define EN_UPDATE 1024
-#define EN_VSCROLL 1538
-#define LB_ADDFILE 406
-#define LB_ADDSTRING 384
-#define LB_DELETESTRING 386
-#define LB_DIR 397
-#define LB_FINDSTRING 399
-#define LB_FINDSTRINGEXACT 418
-#define LB_GETANCHORINDEX 413
-#define LB_GETCARETINDEX 415
-#define LB_GETCOUNT 395
-#define LB_GETCURSEL 392
-#define LB_GETHORIZONTALEXTENT 403
-#define LB_GETITEMDATA 409
-#define LB_GETITEMHEIGHT 417
-#define LB_GETITEMRECT 408
-#define LB_GETLOCALE 422
-#define LB_GETSEL 391
-#define LB_GETSELCOUNT 400
-#define LB_GETSELITEMS 401
-#define LB_GETTEXT 393
-#define LB_GETTEXTLEN 394
-#define LB_GETTOPINDEX 398
-#define LB_INITSTORAGE 424
-#define LB_INSERTSTRING 385
-#define LB_ITEMFROMPOINT 425
-#define LB_RESETCONTENT 388
-#define LB_SELECTSTRING 396
-#define LB_SELITEMRANGE 411
-#define LB_SELITEMRANGEEX 387
-#define LB_SETANCHORINDEX 412
-#define LB_SETCARETINDEX 414
-#define LB_SETCOLUMNWIDTH 405
-#define LB_SETCOUNT 423
-#define LB_SETCURSEL 390
-#define LB_SETHORIZONTALEXTENT 404
-#define LB_SETITEMDATA 410
-#define LB_SETITEMHEIGHT 416
-#define LB_SETLOCALE 421
-#define LB_SETSEL 389
-#define LB_SETTABSTOPS 402
-#define LB_SETTOPINDEX 407
-#define LBN_DBLCLK 2
-#define LBN_ERRSPACE (-2)
-#define LBN_KILLFOCUS 5
-#define LBN_SELCANCEL 3
-#define LBN_SELCHANGE 1
-#define LBN_SETFOCUS 4
-#define SBM_ENABLE_ARROWS 228
-#define SBM_GETPOS 225
-#define SBM_GETRANGE 227
-#define SBM_GETSCROLLINFO 234
-#define SBM_SETPOS 224
-#define SBM_SETRANGE 226
-#define SBM_SETRANGEREDRAW 230
-#define SBM_SETSCROLLINFO 233
-#define STM_GETICON 369
-#define STM_GETIMAGE 371
-#define STM_SETICON 368
-#define STM_SETIMAGE 370
-#define STN_CLICKED 0
-#define STN_DBLCLK 1
-#define STN_DISABLE 3
-#define STN_ENABLE 2
-#define DM_GETDEFID WM_USER
-#define DM_SETDEFID (WM_USER+1)
-#define DM_REPOSITION (WM_USER+2)
-#define PSM_PAGEINFO (WM_USER+100)
-#define PSM_SHEETINFO (WM_USER+101)
-#define PSI_SETACTIVE 1
-#define PSI_KILLACTIVE 2
-#define PSI_APPLY 3
-#define PSI_RESET 4
-#define PSI_HASHELP 5
-#define PSI_HELP 6
-#define PSI_CHANGED 1
-#define PSI_GUISTART 2
-#define PSI_REBOOT 3
-#define PSI_GETSIBLINGS 4
-#define DCX_WINDOW 1
-#define DCX_CACHE 2
-#define DCX_PARENTCLIP 32
-#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
-#define DCX_VALIDATE 0x200000
-#define GMDI_GOINTOPOPUPS 2
-#define GMDI_USEDISABLED 1
-#define FKF_AVAILABLE 2
-#define FKF_CLICKON 64
-#define FKF_FILTERKEYSON 1
-#define FKF_HOTKEYACTIVE 4
-#define FKF_HOTKEYSOUND 16
-#define FKF_CONFIRMHOTKEY 8
-#define FKF_INDICATOR 32
-#define HCF_HIGHCONTRASTON 1
-#define HCF_AVAILABLE 2
-#define HCF_HOTKEYACTIVE 4
-#define HCF_CONFIRMHOTKEY 8
-#define HCF_HOTKEYSOUND 16
-#define HCF_INDICATOR 32
-#define HCF_HOTKEYAVAILABLE 64
-#define MKF_AVAILABLE 2
-#define MKF_CONFIRMHOTKEY 8
-#define MKF_HOTKEYACTIVE 4
-#define MKF_HOTKEYSOUND 16
-#define MKF_INDICATOR 32
-#define MKF_MOUSEKEYSON 1
-#define MKF_MODIFIERS 64
-#define MKF_REPLACENUMBERS 128
-#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */
-#define SERKF_AVAILABLE 2
-#define SERKF_INDICATOR 4
-#define SERKF_SERIALKEYSON 1
-#define SSF_AVAILABLE 2
-#define SSF_SOUNDSENTRYON 1
-#define SSTF_BORDER 2
-#define SSTF_CHARS 1
-#define SSTF_DISPLAY 3
-#define SSTF_NONE 0
-#define SSGF_DISPLAY 3
-#define SSGF_NONE 0
-#define SSWF_CUSTOM 4
-#define SSWF_DISPLAY 3
-#define SSWF_NONE 0
-#define SSWF_TITLE 1
-#define SSWF_WINDOW 2
-#define SKF_AUDIBLEFEEDBACK 64
-#define SKF_AVAILABLE 2
-#define SKF_CONFIRMHOTKEY 8
-#define SKF_HOTKEYACTIVE 4
-#define SKF_HOTKEYSOUND 16
-#define SKF_INDICATOR 32
-#define SKF_STICKYKEYSON 1
-#define SKF_TRISTATE 128
-#define SKF_TWOKEYSOFF 256
-#define TKF_AVAILABLE 2
-#define TKF_CONFIRMHOTKEY 8
-#define TKF_HOTKEYACTIVE 4
-#define TKF_HOTKEYSOUND 16
-#define TKF_TOGGLEKEYSON 1
-#define MDITILE_SKIPDISABLED 2
-#define MDITILE_HORIZONTAL 1
-#define MDITILE_VERTICAL 0
-#define VK_LBUTTON     1
-#define VK_RBUTTON     2
-#define VK_CANCEL      3
-#define VK_MBUTTON     4
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_XBUTTON1    5
-#define VK_XBUTTON2    6
+
+#define EN_CHANGE                                        768
+#define EN_ERRSPACE                                     1280
+#define EN_HSCROLL                                      1537
+#define EN_KILLFOCUS                                     512
+#define EN_MAXTEXT                                      1281
+#define EN_SETFOCUS                                      256
+#define EN_UPDATE                                       1024
+#define EN_VSCROLL                                      1538
+#define LB_ADDFILE                                       406
+#define LB_ADDSTRING                                     384
+#define LB_DELETESTRING                                  386
+#define LB_DIR                                           397
+#define LB_FINDSTRING                                    399
+#define LB_FINDSTRINGEXACT                               418
+#define LB_GETANCHORINDEX                                413
+#define LB_GETCARETINDEX                                 415
+#define LB_GETCOUNT                                      395
+#define LB_GETCURSEL                                     392
+#define LB_GETHORIZONTALEXTENT                           403
+#define LB_GETITEMDATA                                   409
+#define LB_GETITEMHEIGHT                                 417
+#define LB_GETITEMRECT                                   408
+#define LB_GETLOCALE                                     422
+#define LB_GETSEL                                        391
+#define LB_GETSELCOUNT                                   400
+#define LB_GETSELITEMS                                   401
+#define LB_GETTEXT                                       393
+#define LB_GETTEXTLEN                                    394
+#define LB_GETTOPINDEX                                   398
+#define LB_INITSTORAGE                                   424
+#define LB_INSERTSTRING                                  385
+#define LB_ITEMFROMPOINT                                 425
+#define LB_RESETCONTENT                                  388
+#define LB_SELECTSTRING                                  396
+#define LB_SELITEMRANGE                                  411
+#define LB_SELITEMRANGEEX                                387
+#define LB_SETANCHORINDEX                                412
+#define LB_SETCARETINDEX                                 414
+#define LB_SETCOLUMNWIDTH                                405
+#define LB_SETCOUNT                                      423
+#define LB_SETCURSEL                                     390
+#define LB_SETHORIZONTALEXTENT                           404
+#define LB_SETITEMDATA                                   410
+#define LB_SETITEMHEIGHT                                 416
+#define LB_SETLOCALE                                     421
+#define LB_SETSEL                                        389
+#define LB_SETTABSTOPS                                   402
+#define LB_SETTOPINDEX                                   407
+#define LBN_DBLCLK                                         2
+#define LBN_ERRSPACE                                     (-2)
+#define LBN_KILLFOCUS                                      5
+#define LBN_SELCANCEL                                      3
+#define LBN_SELCHANGE                                      1
+#define LBN_SETFOCUS                                       4
+#define SBM_ENABLE_ARROWS                                228
+#define SBM_GETPOS                                       225
+#define SBM_GETRANGE                                     227
+#define SBM_GETSCROLLINFO                                234
+#define SBM_SETPOS                                       224
+#define SBM_SETRANGE                                     226
+#define SBM_SETRANGEREDRAW                               230
+#define SBM_SETSCROLLINFO                                233
+#define STM_GETICON                                      369
+#define STM_GETIMAGE                                     371
+#define STM_SETICON                                      368
+#define STM_SETIMAGE                                     370
+#define STN_CLICKED                                        0
+#define STN_DBLCLK                                         1
+#define STN_DISABLE                                        3
+#define STN_ENABLE                                         2
+#define DM_GETDEFID                                     WM_USER
+#define DM_SETDEFID                                    (WM_USER+1)
+#define DM_REPOSITION                                  (WM_USER+2)
+#define PSM_PAGEINFO                                   (WM_USER+100)
+#define PSM_SHEETINFO                                  (WM_USER+101)
+#define PSI_SETACTIVE                                      1
+#define PSI_KILLACTIVE                                     2
+#define PSI_APPLY                                          3
+#define PSI_RESET                                          4
+#define PSI_HASHELP                                        5
+#define PSI_HELP                                           6
+#define PSI_CHANGED                                        1
+#define PSI_GUISTART                                       2
+#define PSI_REBOOT                                         3
+#define PSI_GETSIBLINGS                                    4
+#define DCX_WINDOW                                         1
+#define DCX_CACHE                                          2
+#define DCX_PARENTCLIP                                    32
+#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
+#define DCX_VALIDATE                                0x200000
+#define GMDI_GOINTOPOPUPS                                  2
+#define GMDI_USEDISABLED                                   1
+#define FKF_AVAILABLE                                      2
+#define FKF_CLICKON                                       64
+#define FKF_FILTERKEYSON                                   1
+#define FKF_HOTKEYACTIVE                                   4
+#define FKF_HOTKEYSOUND                                   16
+#define FKF_CONFIRMHOTKEY                                  8
+#define FKF_INDICATOR                                     32
+#define HCF_HIGHCONTRASTON                                 1
+#define HCF_AVAILABLE                                      2
+#define HCF_HOTKEYACTIVE                                   4
+#define HCF_CONFIRMHOTKEY                                  8
+#define HCF_HOTKEYSOUND                                   16
+#define HCF_INDICATOR                                     32
+#define HCF_HOTKEYAVAILABLE                               64
+#define MKF_AVAILABLE                                      2
+#define MKF_CONFIRMHOTKEY                                  8
+#define MKF_HOTKEYACTIVE                                   4
+#define MKF_HOTKEYSOUND                                   16
+#define MKF_INDICATOR                                     32
+#define MKF_MOUSEKEYSON                                    1
+#define MKF_MODIFIERS                                     64
+#define MKF_REPLACENUMBERS                               128
+#define SERKF_ACTIVE                                       8   /* may be obsolete */
+#define SERKF_AVAILABLE                                    2
+#define SERKF_INDICATOR                                    4
+#define SERKF_SERIALKEYSON                                 1
+#define SSF_AVAILABLE                                      2
+#define SSF_SOUNDSENTRYON                                  1
+#define SSTF_BORDER                                        2
+#define SSTF_CHARS                                         1
+#define SSTF_DISPLAY                                       3
+#define SSTF_NONE                                          0
+#define SSGF_DISPLAY                                       3
+#define SSGF_NONE                                          0
+#define SSWF_CUSTOM                                        4
+#define SSWF_DISPLAY                                       3
+#define SSWF_NONE                                          0
+#define SSWF_TITLE                                         1
+#define SSWF_WINDOW                                        2
+#define SKF_AUDIBLEFEEDBACK                               64
+#define SKF_AVAILABLE                                      2
+#define SKF_CONFIRMHOTKEY                                  8
+#define SKF_HOTKEYACTIVE                                   4
+#define SKF_HOTKEYSOUND                                   16
+#define SKF_INDICATOR                                     32
+#define SKF_STICKYKEYSON                                   1
+#define SKF_TRISTATE                                     128
+#define SKF_TWOKEYSOFF                                   256
+#define TKF_AVAILABLE                                      2
+#define TKF_CONFIRMHOTKEY                                  8
+#define TKF_HOTKEYACTIVE                                   4
+#define TKF_HOTKEYSOUND                                   16
+#define TKF_TOGGLEKEYSON                                   1
+#define MDITILE_SKIPDISABLED                               2
+#define MDITILE_HORIZONTAL                                 1
+#define MDITILE_VERTICAL                                   0
+#define VK_LBUTTON                                         1
+#define VK_RBUTTON                                         2
+#define VK_CANCEL                                          3
+#define VK_MBUTTON                                         4
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define VK_XBUTTON1                                        5
+#define VK_XBUTTON2                                        6
 #endif
-#define VK_BACK        8
-#define VK_TAB 9
-#define VK_CLEAR       12
-#define VK_RETURN      13
-#define VK_SHIFT       16
-#define VK_CONTROL     17
-#define VK_MENU        18
-#define VK_PAUSE       19
-#define VK_CAPITAL     20
-#define VK_KANA        0x15
-#define VK_HANGEUL     0x15
-#define VK_HANGUL      0x15
-#define VK_JUNJA       0x17
-#define VK_FINAL       0x18
-#define VK_HANJA       0x19
-#define VK_KANJI       0x19
-#define VK_ESCAPE      0x1B
-#define VK_CONVERT     0x1C
-#define VK_NONCONVERT  0x1D
-#define VK_ACCEPT      0x1E
-#define VK_MODECHANGE  0x1F
-#define VK_SPACE       32
-#define VK_PRIOR       33
-#define VK_NEXT        34
-#define VK_END 35
-#define VK_HOME        36
-#define VK_LEFT        37
-#define VK_UP  38
-#define VK_RIGHT       39
-#define VK_DOWN        40
-#define VK_SELECT      41
-#define VK_PRINT       42
-#define VK_EXECUTE     43
-#define VK_SNAPSHOT    44
-#define VK_INSERT      45
-#define VK_DELETE      46
-#define VK_HELP        47
-#define VK_LWIN        0x5B
-#define VK_RWIN        0x5C
-#define VK_APPS        0x5D
-#define VK_SLEEP       0x5F
-#define VK_NUMPAD0     0x60
-#define VK_NUMPAD1     0x61
-#define VK_NUMPAD2     0x62
-#define VK_NUMPAD3     0x63
-#define VK_NUMPAD4     0x64
-#define VK_NUMPAD5     0x65
-#define VK_NUMPAD6     0x66
-#define VK_NUMPAD7     0x67
-#define VK_NUMPAD8     0x68
-#define VK_NUMPAD9     0x69
-#define VK_MULTIPLY    0x6A
-#define VK_ADD 0x6B
-#define VK_SEPARATOR   0x6C
-#define VK_SUBTRACT    0x6D
-#define VK_DECIMAL     0x6E
-#define VK_DIVIDE      0x6F
-#define VK_F1  0x70
-#define VK_F2  0x71
-#define VK_F3  0x72
-#define VK_F4  0x73
-#define VK_F5  0x74
-#define VK_F6  0x75
-#define VK_F7  0x76
-#define VK_F8  0x77
-#define VK_F9  0x78
-#define VK_F10 0x79
-#define VK_F11 0x7A
-#define VK_F12 0x7B
-#define VK_F13 0x7C
-#define VK_F14 0x7D
-#define VK_F15 0x7E
-#define VK_F16 0x7F
-#define VK_F17 0x80
-#define VK_F18 0x81
-#define VK_F19 0x82
-#define VK_F20 0x83
-#define VK_F21 0x84
-#define VK_F22 0x85
-#define VK_F23 0x86
-#define VK_F24 0x87
-#define VK_NUMLOCK     0x90
-#define VK_SCROLL      0x91
-#define VK_LSHIFT      0xA0
-#define VK_RSHIFT      0xA1
-#define VK_LCONTROL    0xA2
-#define VK_RCONTROL    0xA3
-#define VK_LMENU       0xA4
-#define VK_RMENU       0xA5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_BROWSER_BACK        0xA6
-#define VK_BROWSER_FORWARD     0xA7
-#define VK_BROWSER_REFRESH     0xA8
-#define VK_BROWSER_STOP        0xA9
-#define VK_BROWSER_SEARCH      0xAA
-#define VK_BROWSER_FAVORITES   0xAB
-#define VK_BROWSER_HOME        0xAC
-#define VK_VOLUME_MUTE 0xAD
-#define VK_VOLUME_DOWN 0xAE
-#define VK_VOLUME_UP   0xAF
-#define VK_MEDIA_NEXT_TRACK    0xB0
-#define VK_MEDIA_PREV_TRACK    0xB1
-#define VK_MEDIA_STOP  0xB2
-#define VK_MEDIA_PLAY_PAUSE    0xB3
-#define VK_LAUNCH_MAIL 0xB4
-#define VK_LAUNCH_MEDIA_SELECT 0xB5
-#define VK_LAUNCH_APP1 0xB6
-#define VK_LAUNCH_APP2 0xB7
+
+#define VK_BACK                                            8
+#define VK_TAB                                             9
+#define VK_CLEAR                                          12
+#define VK_RETURN                                         13
+#define VK_SHIFT                                          16
+#define VK_CONTROL                                        17
+#define VK_MENU                                           18
+#define VK_PAUSE                                          19
+#define VK_CAPITAL                                        20
+#define VK_KANA                                         0x15
+#define VK_HANGEUL                                      0x15
+#define VK_HANGUL                                       0x15
+#define VK_JUNJA                                        0x17
+#define VK_FINAL                                        0x18
+#define VK_HANJA                                        0x19
+#define VK_KANJI                                        0x19
+#define VK_ESCAPE                                       0x1B
+#define VK_CONVERT                                      0x1C
+#define VK_NONCONVERT                                   0x1D
+#define VK_ACCEPT                                       0x1E
+#define VK_MODECHANGE                                   0x1F
+#define VK_SPACE                                          32
+#define VK_PRIOR                                          33
+#define VK_NEXT                                           34
+#define VK_END                                            35
+#define VK_HOME                                           36
+#define VK_LEFT                                           37
+#define VK_UP                                             38
+#define VK_RIGHT                                          39
+#define VK_DOWN                                           40
+#define VK_SELECT                                         41
+#define VK_PRINT                                          42
+#define VK_EXECUTE                                        43
+#define VK_SNAPSHOT                                       44
+#define VK_INSERT                                         45
+#define VK_DELETE                                         46
+#define VK_HELP                                           47
+#define VK_LWIN                                         0x5B
+#define VK_RWIN                                         0x5C
+#define VK_APPS                                         0x5D
+#define VK_SLEEP                                        0x5F
+#define VK_NUMPAD0                                      0x60
+#define VK_NUMPAD1                                      0x61
+#define VK_NUMPAD2                                      0x62
+#define VK_NUMPAD3                                      0x63
+#define VK_NUMPAD4                                      0x64
+#define VK_NUMPAD5                                      0x65
+#define VK_NUMPAD6                                      0x66
+#define VK_NUMPAD7                                      0x67
+#define VK_NUMPAD8                                      0x68
+#define VK_NUMPAD9                                      0x69
+#define VK_MULTIPLY                                     0x6A
+#define VK_ADD                                          0x6B
+#define VK_SEPARATOR                                    0x6C
+#define VK_SUBTRACT                                     0x6D
+#define VK_DECIMAL                                      0x6E
+#define VK_DIVIDE                                       0x6F
+#define VK_F1                                           0x70
+#define VK_F2                                           0x71
+#define VK_F3                                           0x72
+#define VK_F4                                           0x73
+#define VK_F5                                           0x74
+#define VK_F6                                           0x75
+#define VK_F7                                           0x76
+#define VK_F8                                           0x77
+#define VK_F9                                           0x78
+#define VK_F10                                          0x79
+#define VK_F11                                          0x7A
+#define VK_F12                                          0x7B
+#define VK_F13                                          0x7C
+#define VK_F14                                          0x7D
+#define VK_F15                                          0x7E
+#define VK_F16                                          0x7F
+#define VK_F17                                          0x80
+#define VK_F18                                          0x81
+#define VK_F19                                          0x82
+#define VK_F20                                          0x83
+#define VK_F21                                          0x84
+#define VK_F22                                          0x85
+#define VK_F23                                          0x86
+#define VK_F24                                          0x87
+#define VK_NUMLOCK                                      0x90
+#define VK_SCROLL                                       0x91
+#define VK_LSHIFT                                       0xA0
+#define VK_RSHIFT                                       0xA1
+#define VK_LCONTROL                                     0xA2
+#define VK_RCONTROL                                     0xA3
+#define VK_LMENU                                        0xA4
+#define VK_RMENU                                        0xA5
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define VK_BROWSER_BACK                                 0xA6
+#define VK_BROWSER_FORWARD                              0xA7
+#define VK_BROWSER_REFRESH                              0xA8
+#define VK_BROWSER_STOP                                 0xA9
+#define VK_BROWSER_SEARCH                               0xAA
+#define VK_BROWSER_FAVORITES                            0xAB
+#define VK_BROWSER_HOME                                 0xAC
+#define VK_VOLUME_MUTE                                  0xAD
+#define VK_VOLUME_DOWN                                  0xAE
+#define VK_VOLUME_UP                                    0xAF
+#define VK_MEDIA_NEXT_TRACK                             0xB0
+#define VK_MEDIA_PREV_TRACK                             0xB1
+#define VK_MEDIA_STOP                                   0xB2
+#define VK_MEDIA_PLAY_PAUSE                             0xB3
+#define VK_LAUNCH_MAIL                                  0xB4
+#define VK_LAUNCH_MEDIA_SELECT                          0xB5
+#define VK_LAUNCH_APP1                                  0xB6
+#define VK_LAUNCH_APP2                                  0xB7
 #endif
-#define VK_OEM_1       0xBA
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_PLUS    0xBB
-#define VK_OEM_COMMA   0xBC
-#define VK_OEM_MINUS   0xBD
-#define VK_OEM_PERIOD  0xBE
+
+#define VK_OEM_1                                        0xBA
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define VK_OEM_PLUS                                     0xBB
+#define VK_OEM_COMMA                                    0xBC
+#define VK_OEM_MINUS                                    0xBD
+#define VK_OEM_PERIOD                                   0xBE
 #endif
-#define VK_OEM_2       0xBF
-#define VK_OEM_3       0xC0
-#define VK_OEM_4       0xDB
-#define VK_OEM_5       0xDC
-#define VK_OEM_6       0xDD
-#define VK_OEM_7       0xDE
-#define VK_OEM_8       0xDF
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_102     0xE2
+
+#define VK_OEM_2                                        0xBF
+#define VK_OEM_3                                        0xC0
+#define VK_OEM_4                                        0xDB
+#define VK_OEM_5                                        0xDC
+#define VK_OEM_6                                        0xDD
+#define VK_OEM_7                                        0xDE
+#define VK_OEM_8                                        0xDF
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define VK_OEM_102                                      0xE2
 #endif
-#define VK_PROCESSKEY  0xE5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_PACKET      0xE7
+
+#define VK_PROCESSKEY                                   0xE5
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define VK_PACKET                                       0xE7
 #endif
-#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
-#define TME_HOVER      1
-#define TME_LEAVE      2
-#define TME_QUERY      0x40000000
-#define TME_CANCEL     0x80000000
-#define HOVER_DEFAULT  0xFFFFFFFF
-#define MK_LBUTTON     1
-#define MK_RBUTTON     2
-#define MK_SHIFT       4
-#define MK_CONTROL     8
-#define MK_MBUTTON     16
-#if(_WIN32_WINNT >= 0x0500)
-#define MK_XBUTTON1    32
-#define MK_XBUTTON2    64
+
+#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
+#define TME_HOVER                                          1
+#define TME_LEAVE                                          2
+#define TME_QUERY                                 0x40000000
+#define TME_CANCEL                                0x80000000
+#define HOVER_DEFAULT                             0xFFFFFFFF
+#define MK_LBUTTON                                         1
+#define MK_RBUTTON                                         2
+#define MK_SHIFT                                           4
+#define MK_CONTROL                                         8
+#define MK_MBUTTON                                        16
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define MK_XBUTTON1                                       32
+#define MK_XBUTTON2                                       64
 #endif
-#define TPM_CENTERALIGN 4
-#define TPM_LEFTALIGN 0
-#define TPM_RIGHTALIGN 8
-#define TPM_LEFTBUTTON 0
-#define TPM_RIGHTBUTTON 2
-#define TPM_HORIZONTAL 0
-#define TPM_VERTICAL 64
-#define TPM_TOPALIGN 0
-#define TPM_VCENTERALIGN 16
-#define TPM_BOTTOMALIGN 32
-#define TPM_NONOTIFY 128
-#define TPM_RETURNCMD 256
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define TPM_RECURSE 1
+
+#define TPM_CENTERALIGN                                    4
+#define TPM_LEFTALIGN                                      0
+#define TPM_RIGHTALIGN                                     8
+#define TPM_LEFTBUTTON                                     0
+#define TPM_RIGHTBUTTON                                    2
+#define TPM_HORIZONTAL                                     0
+#define TPM_VERTICAL                                      64
+#define TPM_TOPALIGN                                       0
+#define TPM_VCENTERALIGN                                  16
+#define TPM_BOTTOMALIGN                                   32
+#define TPM_NONOTIFY                                     128
+#define TPM_RETURNCMD                                    256
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+#define TPM_RECURSE                                        1
 #endif
-#define HELP_COMMAND 0x102
-#define HELP_CONTENTS 3
-#define HELP_CONTEXT 1
-#define HELP_CONTEXTPOPUP 8
-#define HELP_FORCEFILE 9
-#define HELP_HELPONHELP 4
-#define HELP_INDEX 3
-#define HELP_KEY 0x101
-#define HELP_MULTIKEY 0x201
-#define HELP_PARTIALKEY 0x105
-#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
-#define HELP_TCARD 0x8000
-#define HELP_TCARD_DATA 16
-#define HELP_TCARD_OTHER_CALLER 0x11
-#define IDH_NO_HELP    28440
-#define IDH_MISSING_CONTEXT    28441
-#define IDH_GENERIC_HELP_BUTTON        28442
-#define IDH_OK 28443
-#define IDH_CANCEL     28444
-#define IDH_HELP       28445
-#define LB_CTLCODE 0
-#define LB_OKAY 0
-#define LB_ERR (-1)
-#define LB_ERRSPACE (-2)
-#define CB_OKAY 0
-#define CB_ERR (-1)
-#define CB_ERRSPACE (-2)
-#define HIDE_WINDOW 0
-#define SHOW_OPENWINDOW 1
-#define SHOW_ICONWINDOW 2
-#define SHOW_FULLSCREEN 3
-#define SHOW_OPENNOACTIVATE 4
-#define SW_PARENTCLOSING 1
-#define SW_OTHERZOOM 2
-#define SW_PARENTOPENING 3
-#define SW_OTHERUNZOOM 4
-#define KF_EXTENDED 256
-#define KF_DLGMODE 2048
-#define KF_MENUMODE 4096
-#define KF_ALTDOWN 8192
-#define KF_REPEAT 16384
-#define KF_UP 32768
-#define WSF_VISIBLE 1
-#define PWR_OK 1
-#define PWR_FAIL (-1)
-#define PWR_SUSPENDREQUEST 1
-#define PWR_SUSPENDRESUME 2
-#define PWR_CRITICALRESUME 3
-#define NFR_ANSI 1
-#define NFR_UNICODE 2
-#define NF_QUERY 3
-#define NF_REQUERY 4
-#define MENULOOP_WINDOW 0
-#define MENULOOP_POPUP 1
-#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
-#define HTERROR (-2)
-#define HTTRANSPARENT (-1)
-#define HTNOWHERE 0
-#define HTCLIENT 1
-#define HTCAPTION 2
-#define HTSYSMENU 3
-#define HTGROWBOX 4
-#define HTSIZE 4
-#define HTMENU 5
-#define HTHSCROLL 6
-#define HTVSCROLL 7
-#define HTMINBUTTON 8
-#define HTMAXBUTTON 9
-#define HTREDUCE 8
-#define HTZOOM 9
-#define HTLEFT 10
-#define HTSIZEFIRST 10
-#define HTRIGHT 11
-#define HTTOP 12
-#define HTTOPLEFT 13
-#define HTTOPRIGHT 14
-#define HTBOTTOM 15
-#define HTBOTTOMLEFT 16
-#define HTBOTTOMRIGHT 17
-#define HTSIZELAST 17
-#define HTBORDER 18
-#define HTOBJECT 19
-#define HTCLOSE 20
-#define HTHELP 21
-#define MA_ACTIVATE 1
-#define MA_ACTIVATEANDEAT 2
-#define MA_NOACTIVATE 3
-#define MA_NOACTIVATEANDEAT 4
-#define SIZE_RESTORED 0
-#define SIZE_MINIMIZED 1
-#define SIZE_MAXIMIZED 2
-#define SIZE_MAXSHOW 3
-#define SIZE_MAXHIDE 4
-#define SIZENORMAL 0
-#define SIZEICONIC 1
-#define SIZEFULLSCREEN 2
-#define SIZEZOOMSHOW 3
-#define SIZEZOOMHIDE 4
-#define WVR_ALIGNTOP 16
-#define WVR_ALIGNLEFT 32
-#define WVR_ALIGNBOTTOM 64
-#define WVR_ALIGNRIGHT 128
-#define WVR_HREDRAW 256
-#define WVR_VREDRAW 512
-#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW)
-#define WVR_VALIDRECTS 1024
-#define PRF_CHECKVISIBLE 1
-#define PRF_NONCLIENT 2
-#define PRF_CLIENT 4
-#define PRF_ERASEBKGND 8
-#define PRF_CHILDREN 16
-#define PRF_OWNED 32
-#define IDANI_OPEN 1
-#define IDANI_CLOSE 2
-#define IDANI_CAPTION 3
-#define WPF_RESTORETOMAXIMIZED 2
-#define WPF_SETMINPOSITION 1
-#define ODT_MENU 1
-#define ODT_LISTBOX 2
-#define ODT_COMBOBOX 3
-#define ODT_BUTTON 4
-#define ODT_STATIC 5
-#define ODA_DRAWENTIRE 1
-#define ODA_SELECT 2
-#define ODA_FOCUS 4
-#define ODS_SELECTED 1
-#define ODS_GRAYED 2
-#define ODS_DISABLED 4
-#define ODS_CHECKED 8
-#define ODS_FOCUS 16
-#define ODS_DEFAULT 32
-#define ODS_COMBOBOXEDIT 4096
-#define IDHOT_SNAPWINDOW (-1)
-#define IDHOT_SNAPDESKTOP (-2)
-#define DBWF_LPARAMPOINTER 0x8000
-#define DLGWINDOWEXTRA 30
-#define MNC_IGNORE 0
-#define MNC_CLOSE 1
-#define MNC_EXECUTE 2
-#define MNC_SELECT 3
-#define DOF_EXECUTABLE 0x8001
-#define DOF_DOCUMENT 0x8002
-#define DOF_DIRECTORY 0x8003
-#define DOF_MULTIPLE 0x8004
-#define DOF_PROGMAN 1
-#define DOF_SHELLDATA 2
-#define DO_DROPFILE 0x454C4946
-#define DO_PRINTFILE 0x544E5250
-#define SW_SCROLLCHILDREN 1
-#define SW_INVALIDATE 2
-#define SW_ERASE 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define SW_SMOOTHSCROLL        0x0010
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define SC_SIZE 0xF000
-#define SC_MOVE 0xF010
-#define SC_MINIMIZE 0xF020
-#define SC_ICON 0xf020
-#define SC_MAXIMIZE 0xF030
-#define SC_ZOOM 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
-#define SC_DEFAULT 0xF160
-#define SC_MONITORPOWER 0xF170
-#define SC_CONTEXTHELP 0xF180
-#define SC_SEPARATOR 0xF00F
-#define EC_LEFTMARGIN 1
-#define EC_RIGHTMARGIN 2
-#define EC_USEFONTINFO 0xffff
-#define DC_HASDEFID 0x534B
-#define DLGC_WANTARROWS 1
-#define DLGC_WANTTAB 2
-#define DLGC_WANTALLKEYS 4
-#define DLGC_WANTMESSAGE 4
-#define DLGC_HASSETSEL 8
-#define DLGC_DEFPUSHBUTTON 16
-#define DLGC_UNDEFPUSHBUTTON 32
-#define DLGC_RADIOBUTTON 64
-#define DLGC_WANTCHARS 128
-#define DLGC_STATIC 256
-#define DLGC_BUTTON 0x2000
-#define LB_CTLCODE 0
-#define WA_INACTIVE 0
-#define WA_ACTIVE 1
-#define WA_CLICKACTIVE 2
-#define ICON_SMALL 0
-#define ICON_BIG 1
-#if (_WIN32_WINNT >= 0x0501)
-#define ICON_SMALL2 2
+
+#define HELP_COMMAND                                   0x102
+#define HELP_CONTENTS                                      3
+#define HELP_CONTEXT                                       1
+#define HELP_CONTEXTPOPUP                                  8
+#define HELP_FORCEFILE                                     9
+#define HELP_HELPONHELP                                    4
+#define HELP_INDEX                                         3
+#define HELP_KEY                                       0x101
+#define HELP_MULTIKEY                                  0x201
+#define HELP_PARTIALKEY                                0x105
+#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
+#define HELP_TCARD                                    0x8000
+#define HELP_TCARD_DATA                                   16
+#define HELP_TCARD_OTHER_CALLER                         0x11
+#define IDH_NO_HELP                                    28440
+#define IDH_MISSING_CONTEXT                            28441
+#define IDH_GENERIC_HELP_BUTTON                        28442
+#define IDH_OK                                         28443
+#define IDH_CANCEL                                     28444
+#define IDH_HELP                                       28445
+#define LB_CTLCODE                                         0
+#define LB_OKAY                                            0
+#define LB_ERR                                           (-1)
+#define LB_ERRSPACE                                      (-2)
+#define CB_OKAY                                            0
+#define CB_ERR                                           (-1)
+#define CB_ERRSPACE                                      (-2)
+#define HIDE_WINDOW                                        0
+#define SHOW_OPENWINDOW                                    1
+#define SHOW_ICONWINDOW                                    2
+#define SHOW_FULLSCREEN                                    3
+#define SHOW_OPENNOACTIVATE                                4
+#define SW_PARENTCLOSING                                   1
+#define SW_OTHERZOOM                                       2
+#define SW_PARENTOPENING                                   3
+#define SW_OTHERUNZOOM                                     4
+#define KF_EXTENDED                                      256
+#define KF_DLGMODE                                      2048
+#define KF_MENUMODE                                     4096
+#define KF_ALTDOWN                                      8192
+#define KF_REPEAT                                      16384
+#define KF_UP                                          32768
+#define WSF_VISIBLE                                        1
+#define PWR_OK                                             1
+#define PWR_FAIL                                         (-1)
+#define PWR_SUSPENDREQUEST                                 1
+#define PWR_SUSPENDRESUME                                  2
+#define PWR_CRITICALRESUME                                 3
+#define NFR_ANSI                                           1
+#define NFR_UNICODE                                        2
+#define NF_QUERY                                           3
+#define NF_REQUERY                                         4
+#define MENULOOP_WINDOW                                    0
+#define MENULOOP_POPUP                                     1
+#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
+#define HTERROR                                          (-2)
+#define HTTRANSPARENT                                    (-1)
+#define HTNOWHERE                                          0
+#define HTCLIENT                                           1
+#define HTCAPTION                                          2
+#define HTSYSMENU                                          3
+#define HTGROWBOX                                          4
+#define HTSIZE                                             4
+#define HTMENU                                             5
+#define HTHSCROLL                                          6
+#define HTVSCROLL                                          7
+#define HTMINBUTTON                                        8
+#define HTMAXBUTTON                                        9
+#define HTREDUCE                                           8
+#define HTZOOM                                             9
+#define HTLEFT                                            10
+#define HTSIZEFIRST                                       10
+#define HTRIGHT                                           11
+#define HTTOP                                             12
+#define HTTOPLEFT                                         13
+#define HTTOPRIGHT                                        14
+#define HTBOTTOM                                          15
+#define HTBOTTOMLEFT                                      16
+#define HTBOTTOMRIGHT                                     17
+#define HTSIZELAST                                        17
+#define HTBORDER                                          18
+#define HTOBJECT                                          19
+#define HTCLOSE                                           20
+#define HTHELP                                            21
+#define MA_ACTIVATE                                        1
+#define MA_ACTIVATEANDEAT                                  2
+#define MA_NOACTIVATE                                      3
+#define MA_NOACTIVATEANDEAT                                4
+#define SIZE_RESTORED                                      0
+#define SIZE_MINIMIZED                                     1
+#define SIZE_MAXIMIZED                                     2
+#define SIZE_MAXSHOW                                       3
+#define SIZE_MAXHIDE                                       4
+#define SIZENORMAL                                         0
+#define SIZEICONIC                                         1
+#define SIZEFULLSCREEN                                     2
+#define SIZEZOOMSHOW                                       3
+#define SIZEZOOMHIDE                                       4
+#define WVR_ALIGNTOP                                      16
+#define WVR_ALIGNLEFT                                     32
+#define WVR_ALIGNBOTTOM                                   64
+#define WVR_ALIGNRIGHT                                   128
+#define WVR_HREDRAW                                      256
+#define WVR_VREDRAW                                      512
+#define WVR_REDRAW                            (WVR_HREDRAW | WVR_VREDRAW)
+#define WVR_VALIDRECTS                                  1024
+#define PRF_CHECKVISIBLE                                   1
+#define PRF_NONCLIENT                                      2
+#define PRF_CLIENT                                         4
+#define PRF_ERASEBKGND                                     8
+#define PRF_CHILDREN                                      16
+#define PRF_OWNED                                         32
+#define IDANI_OPEN                                         1
+#define IDANI_CLOSE                                        2
+#define IDANI_CAPTION                                      3
+#define WPF_RESTORETOMAXIMIZED                             2
+#define WPF_SETMINPOSITION                                 1
+#define ODT_MENU                                           1
+#define ODT_LISTBOX                                        2
+#define ODT_COMBOBOX                                       3
+#define ODT_BUTTON                                         4
+#define ODT_STATIC                                         5
+#define ODA_DRAWENTIRE                                     1
+#define ODA_SELECT                                         2
+#define ODA_FOCUS                                          4
+#define ODS_SELECTED                                       1
+#define ODS_GRAYED                                         2
+#define ODS_DISABLED                                       4
+#define ODS_CHECKED                                        8
+#define ODS_FOCUS                                         16
+#define ODS_DEFAULT                                       32
+#define ODS_COMBOBOXEDIT                                4096
+#define IDHOT_SNAPWINDOW                                 (-1)
+#define IDHOT_SNAPDESKTOP                                (-2)
+#define DBWF_LPARAMPOINTER                            0x8000
+#define DLGWINDOWEXTRA                                    30
+#define MNC_IGNORE                                         0
+#define MNC_CLOSE                                          1
+#define MNC_EXECUTE                                        2
+#define MNC_SELECT                                         3
+#define DOF_EXECUTABLE                                0x8001
+#define DOF_DOCUMENT                                  0x8002
+#define DOF_DIRECTORY                                 0x8003
+#define DOF_MULTIPLE                                  0x8004
+#define DOF_PROGMAN                                        1
+#define DOF_SHELLDATA                                      2
+#define DO_DROPFILE                               0x454C4946
+#define DO_PRINTFILE                              0x544E5250
+#define SW_SCROLLCHILDREN                                  1
+#define SW_INVALIDATE                                      2
+#define SW_ERASE                                           4
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+#define SW_SMOOTHSCROLL                               0x0010
+#endif /* >= _WIN32_WINDOWS_98 || >= _WIN32_WINNT_WIN2K */
+
+#define SC_SIZE                                       0xF000
+#define SC_MOVE                                       0xF010
+#define SC_MINIMIZE                                   0xF020
+#define SC_ICON                                       0xf020
+#define SC_MAXIMIZE                                   0xF030
+#define SC_ZOOM                                       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
+#define SC_DEFAULT                                    0xF160
+#define SC_MONITORPOWER                               0xF170
+#define SC_CONTEXTHELP                                0xF180
+#define SC_SEPARATOR                                  0xF00F
+#define EC_LEFTMARGIN                                      1
+#define EC_RIGHTMARGIN                                     2
+#define EC_USEFONTINFO                                0xFFFF
+#define DC_HASDEFID                                   0x534B
+#define DLGC_WANTARROWS                                    1
+#define DLGC_WANTTAB                                       2
+#define DLGC_WANTALLKEYS                                   4
+#define DLGC_WANTMESSAGE                                   4
+#define DLGC_HASSETSEL                                     8
+#define DLGC_DEFPUSHBUTTON                                16
+#define DLGC_UNDEFPUSHBUTTON                              32
+#define DLGC_RADIOBUTTON                                  64
+#define DLGC_WANTCHARS                                   128
+#define DLGC_STATIC                                      256
+#define DLGC_BUTTON                                   0x2000
+#define LB_CTLCODE                                         0
+#define WA_INACTIVE                                        0
+#define WA_ACTIVE                                          1
+#define WA_CLICKACTIVE                                     2
+#define ICON_SMALL                                         0
+#define ICON_BIG                                           1
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define ICON_SMALL2                                        2
 #endif
-#define HBMMENU_CALLBACK ((HBITMAP) -1)
-#define HBMMENU_SYSTEM ((HBITMAP)1)
-#define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
-#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3)
-#define HBMMENU_MBAR_CLOSE ((HBITMAP)5)
-#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6)
-#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7)
-#define HBMMENU_POPUP_CLOSE ((HBITMAP)8)
-#define HBMMENU_POPUP_RESTORE ((HBITMAP)9)
-#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10)
-#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11)
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP  2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define LLKHF_EXTENDED (KF_EXTENDED >> 8)
-#define LLKHF_INJECTED 0x00000010
-#define LLKHF_ALTDOWN  (KF_ALTDOWN >> 8)
-#define LLKHF_UP       (KF_UP >> 8)
-#if (WINVER >= 0x0500)
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 1
-#define FLASHW_TRAY 2
-#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
-#define FLASHW_TIMER 4
-#define FLASHW_TIMERNOFG 12
-#endif /* (WINVER >= 0x0500) */
-#define CURSOR_SHOWING 0x00000001
-#define WS_ACTIVECAPTION 0x00000001
-#if (_WIN32_WINNT >= 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (WINVER >= 0x0400)
-#define ENDSESSION_LOGOFF 0x80000000
+
+#define HBMMENU_CALLBACK                       ((HBITMAP)(-1))
+#define HBMMENU_SYSTEM                          ((HBITMAP)(1))
+#define HBMMENU_MBAR_RESTORE                    ((HBITMAP)(2))
+#define HBMMENU_MBAR_MINIMIZE                   ((HBITMAP)(3))
+#define HBMMENU_MBAR_CLOSE                      ((HBITMAP)(5))
+#define HBMMENU_MBAR_CLOSE_D                    ((HBITMAP)(6))
+#define HBMMENU_MBAR_MINIMIZE_D                 ((HBITMAP)(7))
+#define HBMMENU_POPUP_CLOSE                     ((HBITMAP)(8))
+#define HBMMENU_POPUP_RESTORE                   ((HBITMAP)(9))
+#define HBMMENU_POPUP_MAXIMIZE                 ((HBITMAP)(10))
+#define HBMMENU_POPUP_MINIMIZE                 ((HBITMAP)(11))
+#define MOD_ALT                                            1
+#define MOD_CONTROL                                        2
+#define MOD_SHIFT                                          4
+#define MOD_WIN                                            8
+#define MOD_IGNORE_ALL_MODIFIER                         1024
+#define MOD_ON_KEYUP                                    2048
+#define MOD_RIGHT                                      16384
+#define MOD_LEFT                                       32768
+#define LLKHF_EXTENDED                          (KF_EXTENDED >> 8)
+#define LLKHF_INJECTED                            0x00000010
+#define LLKHF_ALTDOWN                            (KF_ALTDOWN >> 8)
+#define LLKHF_UP                                      (KF_UP >> 8)
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define FLASHW_STOP                                        0
+#define FLASHW_CAPTION                                     1
+#define FLASHW_TRAY                                        2
+#define FLASHW_ALL                         (FLASHW_CAPTION | FLASHW_TRAY)
+#define FLASHW_TIMER                                       4
+#define FLASHW_TIMERNOFG                                  12
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+#define CURSOR_SHOWING                            0x00000001
+#define WS_ACTIVECAPTION                          0x00000001
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
+#define INPUT_MOUSE                               0x00000000
+#define INPUT_KEYBOARD                            0x00000001
+#define INPUT_HARDWARE                            0x00000002
+#endif /* >= _WIN32_WINNT_NT4SP3 */
+
+#if WINVER >= _WIN32_WINNT_NT4 /* || _WIN32_WINDOWS_95 */
+#define ENDSESSION_LOGOFF                         0x80000000
 #endif
-#if (WINVER >= 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#if (_WIN32_WINNT >= 0x0501)
-#define GUI_16BITTASK 0x00000020
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define CHILDID_SELF                                       0
+#define OBJID_WINDOW                              0x00000000
+#define OBJID_SYSMENU                             0xFFFFFFFF
+#define OBJID_TITLEBAR                            0xFFFFFFFE
+#define OBJID_MENU                                0xFFFFFFFD
+#define OBJID_CLIENT                              0xFFFFFFFC
+#define OBJID_VSCROLL                             0xFFFFFFFB
+#define OBJID_HSCROLL                             0xFFFFFFFA
+#define OBJID_SIZEGRIP                            0xFFFFFFF9
+#define OBJID_CARET                               0xFFFFFFF8
+#define OBJID_CURSOR                              0xFFFFFFF7
+#define OBJID_ALERT                               0xFFFFFFF6
+#define OBJID_SOUND                               0xFFFFFFF5
+#define GUI_CARETBLINKING                         0x00000001
+#define GUI_INMOVESIZE                            0x00000002
+#define GUI_INMENUMODE                            0x00000004
+#define GUI_SYSTEMMENUMODE                        0x00000008
+#define GUI_POPUPMENUMODE                         0x00000010
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define GUI_16BITTASK                             0x00000020
 #endif
-#define WINEVENT_OUTOFCONTEXT   0x0000
-#define WINEVENT_SKIPOWNTHREAD  0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT      0x0004
-#define AW_HOR_POSITIVE 0x00000001
-#define AW_HOR_NEGATIVE 0x00000002
-#define AW_VER_POSITIVE 0x00000004
-#define AW_VER_NEGATIVE 0x00000008
-#define AW_CENTER 0x00000010
-#define AW_HIDE 0x00010000
-#define AW_ACTIVATE 0x00020000
-#define AW_SLIDE 0x00040000
-#define AW_BLEND 0x00080000
-#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
-#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
-#if (_WIN32_WINNT >= 0x0501)
-#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
+
+#define WINEVENT_OUTOFCONTEXT                         0x0000
+#define WINEVENT_SKIPOWNTHREAD                        0x0001
+#define WINEVENT_SKIPOWNPROCESS                       0x0002
+#define WINEVENT_INCONTEXT                            0x0004
+#define AW_HOR_POSITIVE                           0x00000001
+#define AW_HOR_NEGATIVE                           0x00000002
+#define AW_VER_POSITIVE                           0x00000004
+#define AW_VER_NEGATIVE                           0x00000008
+#define AW_CENTER                                 0x00000010
+#define AW_HIDE                                   0x00010000
+#define AW_ACTIVATE                               0x00020000
+#define AW_SLIDE                                  0x00040000
+#define AW_BLEND                                  0x00080000
+#define DEVICE_NOTIFY_WINDOW_HANDLE               0x00000000
+#define DEVICE_NOTIFY_SERVICE_HANDLE              0x00000001
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES       0x00000004
 #endif
-#define EVENT_MIN                       0x00000001
-#define EVENT_SYSTEM_SOUND              0x00000001
-#define EVENT_SYSTEM_ALERT              0x00000002
-#define EVENT_SYSTEM_FOREGROUND         0x00000003
-#define EVENT_SYSTEM_MENUSTART          0x00000004
-#define EVENT_SYSTEM_MENUEND            0x00000005
-#define EVENT_SYSTEM_MENUPOPUPSTART     0x00000006
-#define EVENT_SYSTEM_MENUPOPUPEND       0x00000007
-#define EVENT_SYSTEM_CAPTURESTART       0x00000008
-#define EVENT_SYSTEM_CAPTUREEND         0x00000009
-#define EVENT_SYSTEM_MOVESIZESTART      0x0000000a
-#define EVENT_SYSTEM_MOVESIZEEND        0x0000000b
-#define EVENT_SYSTEM_CONTEXTHELPSTART   0x0000000c
-#define EVENT_SYSTEM_CONTEXTHELPEND     0x0000000d
-#define EVENT_SYSTEM_DRAGDROPSTART      0x0000000e
-#define EVENT_SYSTEM_DRAGDROPEND        0x0000000f
-#define EVENT_SYSTEM_DIALOGSTART        0x00000010
-#define EVENT_SYSTEM_DIALOGEND          0x00000011
-#define EVENT_SYSTEM_SCROLLINGSTART     0x00000012
-#define EVENT_SYSTEM_SCROLLINGEND       0x00000013
-#define EVENT_SYSTEM_SWITCHSTART        0x00000014
-#define EVENT_SYSTEM_SWITCHEND          0x00000015
-#define EVENT_SYSTEM_MINIMIZESTART      0x00000016
-#define EVENT_SYSTEM_MINIMIZEEND        0x00000017
-#define EVENT_OBJECT_CREATE             0x00008000
-#define EVENT_OBJECT_DESTROY            0x00008001
-#define EVENT_OBJECT_SHOW               0x00008002
-#define EVENT_OBJECT_HIDE               0x00008003
-#define EVENT_OBJECT_REORDER            0x00008004
-#define EVENT_OBJECT_FOCUS              0x00008005
-#define EVENT_OBJECT_SELECTION          0x00008006
-#define EVENT_OBJECT_SELECTIONADD       0x00008007
-#define EVENT_OBJECT_SELECTIONREMOVE    0x00008008
-#define EVENT_OBJECT_SELECTIONWITHIN    0x00008009
-#define EVENT_OBJECT_STATECHANGE        0x0000800a
-#define EVENT_OBJECT_LOCATIONCHANGE     0x0000800b
-#define EVENT_OBJECT_NAMECHANGE         0x0000800c
-#define EVENT_OBJECT_DESCRIPTIONCHANGE  0x0000800d
-#define EVENT_OBJECT_VALUECHANGE        0x0000800e
-#define EVENT_OBJECT_PARENTCHANGE       0x0000800f
-#define EVENT_OBJECT_HELPCHANGE         0x00008010
-#define EVENT_OBJECT_DEFACTIONCHANGE    0x00008011
-#define EVENT_OBJECT_ACCELERATORCHANGE  0x00008012
-#if (_WIN32_WINNT >= 0x0501)
-#define EVENT_CONSOLE_CARET             0x00004001
-#define CONSOLE_CARET_SELECTION         0x00000001
-#define CONSOLE_CARET_VISIBLE           0x00000002
-#define EVENT_CONSOLE_UPDATE_REGION     0x00004002
-#define EVENT_CONSOLE_UPDATE_SIMPLE     0x00004003
-#define EVENT_CONSOLE_UPDATE_SCROLL     0x00004004
-#define EVENT_CONSOLE_LAYOUT            0x00004005
-#define EVENT_CONSOLE_START_APPLICATION 0x00004006
-#define CONSOLE_APPLICATION_16BIT       0x00000001
-#define EVENT_CONSOLE_END_APPLICATION   0x00004007
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#define EVENT_MAX                       0x7fffffff
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define ASFW_ANY ((DWORD)-1)
-#define LSFW_LOCK 1
-#define LSFW_UNLOCK 2
+
+#define EVENT_MIN                                 0x00000001
+#define EVENT_SYSTEM_SOUND                        0x00000001
+#define EVENT_SYSTEM_ALERT                        0x00000002
+#define EVENT_SYSTEM_FOREGROUND                   0x00000003
+#define EVENT_SYSTEM_MENUSTART                    0x00000004
+#define EVENT_SYSTEM_MENUEND                      0x00000005
+#define EVENT_SYSTEM_MENUPOPUPSTART               0x00000006
+#define EVENT_SYSTEM_MENUPOPUPEND                 0x00000007
+#define EVENT_SYSTEM_CAPTURESTART                 0x00000008
+#define EVENT_SYSTEM_CAPTUREEND                   0x00000009
+#define EVENT_SYSTEM_MOVESIZESTART                0x0000000A
+#define EVENT_SYSTEM_MOVESIZEEND                  0x0000000B
+#define EVENT_SYSTEM_CONTEXTHELPSTART             0x0000000C
+#define EVENT_SYSTEM_CONTEXTHELPEND               0x0000000D
+#define EVENT_SYSTEM_DRAGDROPSTART                0x0000000E
+#define EVENT_SYSTEM_DRAGDROPEND                  0x0000000F
+#define EVENT_SYSTEM_DIALOGSTART                  0x00000010
+#define EVENT_SYSTEM_DIALOGEND                    0x00000011
+#define EVENT_SYSTEM_SCROLLINGSTART               0x00000012
+#define EVENT_SYSTEM_SCROLLINGEND                 0x00000013
+#define EVENT_SYSTEM_SWITCHSTART                  0x00000014
+#define EVENT_SYSTEM_SWITCHEND                    0x00000015
+#define EVENT_SYSTEM_MINIMIZESTART                0x00000016
+#define EVENT_SYSTEM_MINIMIZEEND                  0x00000017
+#define EVENT_OBJECT_CREATE                       0x00008000
+#define EVENT_OBJECT_DESTROY                      0x00008001
+#define EVENT_OBJECT_SHOW                         0x00008002
+#define EVENT_OBJECT_HIDE                         0x00008003
+#define EVENT_OBJECT_REORDER                      0x00008004
+#define EVENT_OBJECT_FOCUS                        0x00008005
+#define EVENT_OBJECT_SELECTION                    0x00008006
+#define EVENT_OBJECT_SELECTIONADD                 0x00008007
+#define EVENT_OBJECT_SELECTIONREMOVE              0x00008008
+#define EVENT_OBJECT_SELECTIONWITHIN              0x00008009
+#define EVENT_OBJECT_STATECHANGE                  0x0000800A
+#define EVENT_OBJECT_LOCATIONCHANGE               0x0000800B
+#define EVENT_OBJECT_NAMECHANGE                   0x0000800C
+#define EVENT_OBJECT_DESCRIPTIONCHANGE            0x0000800D
+#define EVENT_OBJECT_VALUECHANGE                  0x0000800E
+#define EVENT_OBJECT_PARENTCHANGE                 0x0000800F
+#define EVENT_OBJECT_HELPCHANGE                   0x00008010
+#define EVENT_OBJECT_DEFACTIONCHANGE              0x00008011
+#define EVENT_OBJECT_ACCELERATORCHANGE            0x00008012
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define EVENT_CONSOLE_CARET                       0x00004001
+#define CONSOLE_CARET_SELECTION                   0x00000001
+#define CONSOLE_CARET_VISIBLE                     0x00000002
+#define EVENT_CONSOLE_UPDATE_REGION               0x00004002
+#define EVENT_CONSOLE_UPDATE_SIMPLE               0x00004003
+#define EVENT_CONSOLE_UPDATE_SCROLL               0x00004004
+#define EVENT_CONSOLE_LAYOUT                      0x00004005
+#define EVENT_CONSOLE_START_APPLICATION           0x00004006
+#define CONSOLE_APPLICATION_16BIT                 0x00000001
+#define EVENT_CONSOLE_END_APPLICATION             0x00004007
+#endif /* >= _WIN32_WINNT_WINXP */
+
+#define EVENT_MAX                                 0x7FFFFFFF
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
+#define ASFW_ANY                                 ((DWORD)(-1))
+#define LSFW_LOCK                                          1
+#define LSFW_UNLOCK                                        2
 #endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LWA_COLORKEY   0x01
-#define LWA_ALPHA      0x02
-#define ULW_COLORKEY   0x01
-#define ULW_ALPHA      0x02
-#define ULW_OPAQUE     0x04
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define LWA_COLORKEY                                    0x01
+#define LWA_ALPHA                                       0x02
+#define ULW_COLORKEY                                    0x01
+#define ULW_ALPHA                                       0x02
+#define ULW_OPAQUE                                      0x04
 #endif
-#define GA_PARENT 1
-#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 EDS_RAWMODE 0x00000002
-#define ISMEX_NOSEND 0x00000000
-#define ISMEX_CALLBACK 0x00000004
-#define ISMEX_NOTIFY 0x00000002
-#define ISMEX_REPLIED 0x00000008
-#define ISMEX_SEND 0x00000001
+
+#define GA_PARENT                                          1
+#define GA_ROOT                                            2
+#define GA_ROOTOWNER                                       3
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+#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
+#define ISMEX_NOTIFY                              0x00000002
+#define ISMEX_REPLIED                             0x00000008
+#define ISMEX_SEND                                0x00000001
 #endif
-#if (_WIN32_WINNT >= 0x0500)
-#define GR_GDIOBJECTS 0
-#define GR_USEROBJECTS 1
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define GR_GDIOBJECTS                                      0
+#define GR_USEROBJECTS                                     1
 #endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define GMMP_USE_DISPLAY_POINTS 1
-#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
+#define GMMP_USE_DISPLAY_POINTS                            1
+#define GMMP_USE_HIGH_RESOLUTION_POINTS                    2
 #endif
-#if (_WIN32_WINNT >= 0x0500)
-#define XBUTTON1 0x0001
-#define XBUTTON2 0x0002
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define XBUTTON1                                      0x0001
+#define XBUTTON2                                      0x0002
 #endif
-#if (_WIN32_WINNT >= 0x0501)
-#define FE_FONTSMOOTHINGSTANDARD  0x0001
-#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
-#define PW_CLIENTONLY 0x00000001
-#define RIM_INPUT     0x00000000
-#define RIM_INPUTSINK 0x00000001
-#define RIM_TYPEMOUSE    0x00000000
-#define RIM_TYPEKEYBOARD 0x00000001
-#define RIM_TYPEHID      0x00000002
-#define MOUSE_MOVE_RELATIVE      0x00000000
-#define MOUSE_MOVE_ABSOLUTE      0x00000001
-#define MOUSE_VIRTUAL_DESKTOP    0x00000002
-#define MOUSE_ATTRIBUTES_CHANGED 0x00000004
-#define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
-#define RI_MOUSE_LEFT_BUTTON_UP     0x0002
-#define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
-#define RI_MOUSE_RIGHT_BUTTON_UP    0x0008
-#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
-#define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP
-#define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP
-#define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP
-#define RI_MOUSE_BUTTON_4_DOWN      0x0040
-#define RI_MOUSE_BUTTON_4_UP        0x0080
-#define RI_MOUSE_BUTTON_5_DOWN      0x0100
-#define RI_MOUSE_BUTTON_5_UP        0x0200
-#define RI_MOUSE_WHEEL              0x0400
-#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff
-#define RI_KEY_MAKE            0x0000
-#define RI_KEY_BREAK           0x0001
-#define RI_KEY_E0              0x0002
-#define RI_KEY_E1              0x0004
-#define RI_KEY_TERMSRV_SET_LED 0x0008
-#define RI_KEY_TERMSRV_SHADOW  0x0010
-#define RID_INPUT  0x10000003
-#define RID_HEADER 0x10000005
-#define RIDI_PREPARSEDDATA 0x20000005
-#define RIDI_DEVICENAME    0x20000007
-#define RIDI_DEVICEINFO    0x2000000b
-#define RIDEV_REMOVE       0x00000001
-#define RIDEV_EXCLUDE      0x00000010
-#define RIDEV_PAGEONLY     0x00000020
-#define RIDEV_NOLEGACY     0x00000030
-#define RIDEV_INPUTSINK    0x00000100
-#define RIDEV_CAPTUREMOUSE 0x00000200
-#define RIDEV_NOHOTKEYS    0x00000200
-#define RIDEV_APPKEYS      0x00000400
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+#define FE_FONTSMOOTHINGSTANDARD                      0x0001
+#define FE_FONTSMOOTHINGCLEARTYPE                     0x0002
+#define PW_CLIENTONLY                             0x00000001
+#define RIM_INPUT                                 0x00000000
+#define RIM_INPUTSINK                             0x00000001
+#define RIM_TYPEMOUSE                             0x00000000
+#define RIM_TYPEKEYBOARD                          0x00000001
+#define RIM_TYPEHID                               0x00000002
+#define MOUSE_MOVE_RELATIVE                       0x00000000
+#define MOUSE_MOVE_ABSOLUTE                       0x00000001
+#define MOUSE_VIRTUAL_DESKTOP                     0x00000002
+#define MOUSE_ATTRIBUTES_CHANGED                  0x00000004
+#define RI_MOUSE_LEFT_BUTTON_DOWN                     0x0001
+#define RI_MOUSE_LEFT_BUTTON_UP                       0x0002
+#define RI_MOUSE_RIGHT_BUTTON_DOWN                    0x0004
+#define RI_MOUSE_RIGHT_BUTTON_UP                      0x0008
+#define RI_MOUSE_MIDDLE_BUTTON_DOWN                   0x0010
+#define RI_MOUSE_MIDDLE_BUTTON_UP                     0x0020
+#define RI_MOUSE_BUTTON_1_DOWN               RI_MOUSE_LEFT_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_1_UP                  RI_MOUSE_LEFT_BUTTON_UP
+#define RI_MOUSE_BUTTON_2_DOWN              RI_MOUSE_RIGHT_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_2_UP                 RI_MOUSE_RIGHT_BUTTON_UP
+#define RI_MOUSE_BUTTON_3_DOWN              RI_MOUSE_MIDDLE_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_3_UP                 RI_MOUSE_MIDDLE_BUTTON_UP
+#define RI_MOUSE_BUTTON_4_DOWN                        0x0040
+#define RI_MOUSE_BUTTON_4_UP                          0x0080
+#define RI_MOUSE_BUTTON_5_DOWN                        0x0100
+#define RI_MOUSE_BUTTON_5_UP                          0x0200
+#define RI_MOUSE_WHEEL                                0x0400
+#define KEYBOARD_OVERRUN_MAKE_CODE                    0x00ff
+#define RI_KEY_MAKE                                   0x0000
+#define RI_KEY_BREAK                                  0x0001
+#define RI_KEY_E0                                     0x0002
+#define RI_KEY_E1                                     0x0004
+#define RI_KEY_TERMSRV_SET_LED                        0x0008
+#define RI_KEY_TERMSRV_SHADOW                         0x0010
+#define RID_INPUT                                 0x10000003
+#define RID_HEADER                                0x10000005
+#define RIDI_PREPARSEDDATA                        0x20000005
+#define RIDI_DEVICENAME                           0x20000007
+#define RIDI_DEVICEINFO                           0x2000000B
+#define RIDEV_REMOVE                              0x00000001
+#define RIDEV_EXCLUDE                             0x00000010
+#define RIDEV_PAGEONLY                            0x00000020
+#define RIDEV_NOLEGACY                            0x00000030
+#define RIDEV_INPUTSINK                           0x00000100
+#define RIDEV_CAPTUREMOUSE                        0x00000200
+#define RIDEV_NOHOTKEYS                           0x00000200
+#define RIDEV_APPKEYS                             0x00000400
 #endif
 
-#if (_WIN32_WINNT >= 0x0601)
-#define TOUCHEVENTF_DOWN           0x0001
-#define TOUCHEVENTF_INRANGE        0x0008
-#define TOUCHEVENTF_MOVE           0x0002
-#define TOUCHEVENTF_NOCOALESCE 0x0020
-#define TOUCHEVENTF_PALM           0x0080
-#define TOUCHEVENTF_PEN                0x0040
-#define TOUCHEVENTF_PRIMARY        0x0010
-#define TOUCHEVENTF_UP         0x0004
-
-#define TOUCHEVENTMASKF_CONTACTAREA    0x0004
-#define TOUCHEVENTMASKF_EXTRAINFO      0x0002
-#define TOUCHEVENTMASKF_TIMEFROMSYSTEM 0x0001
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
+#define TOUCHEVENTF_DOWN                              0x0001
+#define TOUCHEVENTF_INRANGE                           0x0008
+#define TOUCHEVENTF_MOVE                              0x0002
+#define TOUCHEVENTF_NOCOALESCE                        0x0020
+#define TOUCHEVENTF_PALM                              0x0080
+#define TOUCHEVENTF_PEN                               0x0040
+#define TOUCHEVENTF_PRIMARY                           0x0010
+#define TOUCHEVENTF_UP                                0x0004
+
+#define TOUCHEVENTMASKF_CONTACTAREA                   0x0004
+#define TOUCHEVENTMASKF_EXTRAINFO                     0x0002
+#define TOUCHEVENTMASKF_TIMEFROMSYSTEM                0x0001
 #endif
 
-#define MAPVK_VK_TO_VSC        0
-#define MAPVK_VSC_TO_VK        1
-#define MAPVK_VK_TO_CHAR       2
-#define MAPVK_VSC_TO_VK_EX     3
-#define MAPVK_VK_TO_VSC_EX     4
+#define MAPVK_VK_TO_VSC                                    0
+#define MAPVK_VSC_TO_VK                                    1
+#define MAPVK_VK_TO_CHAR                                   2
+#define MAPVK_VSC_TO_VK_EX                                 3
+#define MAPVK_VK_TO_VSC_EX                                 4
 
 #ifndef RC_INVOKED
-typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
-typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
-typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM);
-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,int,int,int);
-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);
-typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-typedef NAMEENUMPROCW DESKTOPENUMPROCW;
-typedef NAMEENUMPROCA WINSTAENUMPROCA;
-typedef NAMEENUMPROCW WINSTAENUMPROCW;
-typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT);
+typedef BOOL (CALLBACK *DLGPROC) (HWND, UINT, WPARAM, LPARAM);
+typedef VOID (CALLBACK *TIMERPROC) (HWND, UINT, UINT_PTR, DWORD);
+typedef BOOL (CALLBACK *GRAYSTRINGPROC) (HDC, LPARAM, int);
+typedef LRESULT (CALLBACK *HOOKPROC) (int, WPARAM, LPARAM);
+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, int, int, int);
+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);
+
+typedef NAMEENUMPROCA  DESKTOPENUMPROCA;
+typedef NAMEENUMPROCW  DESKTOPENUMPROCW;
+typedef NAMEENUMPROCA  WINSTAENUMPROCA;
+typedef NAMEENUMPROCW  WINSTAENUMPROCW;
+
+typedef void (CALLBACK *SENDASYNCPROC) (HWND, UINT, DWORD, LRESULT);
+
 DECLARE_HANDLE(HDWP);
 DECLARE_HANDLE(HDEVNOTIFY);
-typedef struct tagMENUGETOBJECTINFO {
-  DWORD  dwFlags;
-  UINT  uPos;
-  HMENU  hmenu;
-  PVOID  riid;
-  PVOID  pvObj;
+
+typedef struct tagMENUGETOBJECTINFO
+{ DWORD                        dwFlags;
+  UINT                         uPos;
+  HMENU                        hmenu;
+  PVOID                        riid;
+  PVOID                        pvObj;
 } MENUGETOBJECTINFO, *PMENUGETOBJECTINFO;
-typedef struct tagACCEL {
-       BYTE fVirt;
-       WORD key;
-       WORD cmd;
-} ACCEL,*LPACCEL;
-typedef struct tagACCESSTIMEOUT {
-       UINT cbSize;
-       DWORD dwFlags;
-       DWORD iTimeOutMSec;
+
+typedef struct tagACCEL
+{ BYTE                         fVirt;
+  WORD                         key;
+  WORD                         cmd;
+} ACCEL, *LPACCEL;
+
+typedef struct tagACCESSTIMEOUT
+{ UINT                         cbSize;
+  DWORD                        dwFlags;
+  DWORD                        iTimeOutMSec;
 } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-typedef struct tagANIMATIONINFO {
-       UINT cbSize;
-       int iMinAnimate;
-} ANIMATIONINFO,*LPANIMATIONINFO;
-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;
-typedef struct tagCBT_CREATEWNDA {
-       LPCREATESTRUCTA lpcs;
-       HWND    hwndInsertAfter;
+
+typedef struct tagANIMATIONINFO
+{ UINT                         cbSize;
+  int                          iMinAnimate;
+} ANIMATIONINFO, *LPANIMATIONINFO;
+
+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;
+
+typedef struct tagCBT_CREATEWNDA
+{ LPCREATESTRUCTA              lpcs;
+  HWND                         hwndInsertAfter;
 } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-typedef struct tagCBT_CREATEWNDW {
-       LPCREATESTRUCTW lpcs;
-       HWND    hwndInsertAfter;
+
+typedef struct tagCBT_CREATEWNDW
+{ LPCREATESTRUCTW              lpcs;
+  HWND                         hwndInsertAfter;
 } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-typedef struct tagCBTACTIVATESTRUCT {
-       BOOL fMouse;
-       HWND hWndActive;
-} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
-typedef struct tagCLIENTCREATESTRUCT {
-       HANDLE  hWindowMenu;
-       UINT    idFirstChild;
-} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
-typedef struct tagCOMPAREITEMSTRUCT {
-       UINT    CtlType;
-       UINT    CtlID;
-       HWND    hwndItem;
-       UINT    itemID1;
-       DWORD   itemData1;
-       UINT    itemID2;
-       DWORD   itemData2;
-       DWORD   dwLocaleId;
-} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
-typedef struct tagCOPYDATASTRUCT {
-       DWORD dwData;
-       DWORD cbData;
-       PVOID lpData;
-} COPYDATASTRUCT,*PCOPYDATASTRUCT;
-typedef struct tagCURSORSHAPE {
-       int xHotSpot;
-       int yHotSpot;
-       int cx;
-       int cy;
-       int cbWidth;
-    BYTE Planes;
-    BYTE BitsPixel;
-} CURSORSHAPE,*LPCURSORSHAPE;
-typedef struct tagCWPRETSTRUCT {
-       LRESULT lResult;
-       LPARAM lParam;
-       WPARAM wParam;
-       DWORD message;
-       HWND hwnd;
+
+typedef struct tagCBTACTIVATESTRUCT
+{ BOOL                         fMouse;
+  HWND                         hWndActive;
+} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
+
+typedef struct tagCLIENTCREATESTRUCT
+{ HANDLE                       hWindowMenu;
+  UINT                         idFirstChild;
+} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
+
+typedef struct tagCOMPAREITEMSTRUCT
+{ UINT                         CtlType;
+  UINT                         CtlID;
+  HWND                         hwndItem;
+  UINT                         itemID1;
+  DWORD                        itemData1;
+  UINT                         itemID2;
+  DWORD                        itemData2;
+  DWORD                        dwLocaleId;
+} COMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT;
+
+typedef struct tagCOPYDATASTRUCT
+{ DWORD                        dwData;
+  DWORD                        cbData;
+  PVOID                        lpData;
+} COPYDATASTRUCT, *PCOPYDATASTRUCT;
+
+typedef struct tagCURSORSHAPE
+{ int                          xHotSpot;
+  int                          yHotSpot;
+  int                          cx;
+  int                          cy;
+  int                          cbWidth;
+  BYTE                         Planes;
+  BYTE                         BitsPixel;
+} CURSORSHAPE, *LPCURSORSHAPE;
+
+typedef struct tagCWPRETSTRUCT
+{ LRESULT                      lResult;
+  LPARAM                       lParam;
+  WPARAM                       wParam;
+  DWORD                        message;
+  HWND                         hwnd;
 } CWPRETSTRUCT;
-typedef struct tagCWPSTRUCT {
-       LPARAM lParam;
-       WPARAM wParam;
-       UINT message;
-       HWND hwnd;
-} CWPSTRUCT,*PCWPSTRUCT;
-typedef struct tagDEBUGHOOKINFO {
-       DWORD idThread;
-       DWORD idThreadInstaller;
-       LPARAM lParam;
-       WPARAM wParam;
-       int code;
-} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
-typedef struct tagDELETEITEMSTRUCT {
-       UINT CtlType;
-       UINT CtlID;
-       UINT itemID;
-       HWND hwndItem;
-       UINT itemData;
-} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
+
+typedef struct tagCWPSTRUCT
+{ LPARAM                       lParam;
+  WPARAM                       wParam;
+  UINT                         message;
+  HWND                         hwnd;
+} CWPSTRUCT, *PCWPSTRUCT;
+
+typedef struct tagDEBUGHOOKINFO
+{ DWORD                        idThread;
+  DWORD                        idThreadInstaller;
+  LPARAM                       lParam;
+  WPARAM                       wParam;
+  int                          code;
+} DEBUGHOOKINFO, *PDEBUGHOOKINFO, *LPDEBUGHOOKINFO;
+
+typedef struct tagDELETEITEMSTRUCT
+{ UINT                         CtlType;
+  UINT                         CtlID;
+  UINT                         itemID;
+  HWND                         hwndItem;
+  UINT                         itemData;
+} DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
+
 #pragma pack(push,2)
-typedef struct {
-       DWORD style;
-       DWORD dwExtendedStyle;
-       short x;
-       short y;
-       short cx;
-       short cy;
-       WORD id;
-} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
-typedef struct {
-       DWORD style;
-       DWORD dwExtendedStyle;
-       WORD cdit;
-       short x;
-       short y;
-       short cx;
-       short cy;
-} DLGTEMPLATE,*LPDLGTEMPLATE,*LPDLGTEMPLATEA,*LPDLGTEMPLATEW;
+
+typedef struct
+{ DWORD                        style;
+  DWORD                        dwExtendedStyle;
+  short                        x;
+  short                        y;
+  short                        cx;
+  short                        cy;
+  WORD                         id;
+} DLGITEMTEMPLATE, *LPDLGITEMTEMPLATE;
+
+typedef struct
+{ DWORD                        style;
+  DWORD                        dwExtendedStyle;
+  WORD                         cdit;
+  short                        x;
+  short                        y;
+  short                        cx;
+  short                        cy;
+} DLGTEMPLATE, *LPDLGTEMPLATE, *LPDLGTEMPLATEA, *LPDLGTEMPLATEW;
+
 typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
+
 #pragma pack(pop)
-typedef struct tagDRAWITEMSTRUCT {
-       UINT CtlType;
-       UINT CtlID;
-       UINT itemID;
-       UINT itemAction;
-       UINT itemState;
-       HWND hwndItem;
-       HDC     hDC;
-       RECT rcItem;
-       DWORD itemData;
-} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
-typedef struct {
-       UINT cbSize;
-       int iTabLength;
-       int iLeftMargin;
-       int iRightMargin;
-       UINT uiLengthDrawn;
-} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
-typedef struct tagPAINTSTRUCT {
-       HDC     hdc;
-       BOOL fErase;
-       RECT rcPaint;
-       BOOL fRestore;
-       BOOL fIncUpdate;
-       BYTE rgbReserved[32];
-} PAINTSTRUCT,*LPPAINTSTRUCT;
-typedef struct tagMSG {
-       HWND hwnd;
-       UINT message;
-       WPARAM wParam;
-       LPARAM lParam;
-       DWORD time;
-       POINT pt;
-} MSG,*LPMSG,*PMSG;
-typedef struct _ICONINFO {
-       BOOL fIcon;
-       DWORD xHotspot;
-       DWORD yHotspot;
-       HBITMAP hbmMask;
-       HBITMAP hbmColor;
-} ICONINFO,*PICONINFO;
-typedef struct tagNMHDR {
-       HWND hwndFrom;
-       UINT idFrom;
-       UINT code;
-} NMHDR,*LPNMHDR;
-typedef struct _WNDCLASSA {
-       UINT style;
-       WNDPROC lpfnWndProc;
-       int cbClsExtra;
-       int cbWndExtra;
-       HINSTANCE hInstance;
-       HICON hIcon;
-       HCURSOR hCursor;
-       HBRUSH hbrBackground;
-       LPCSTR lpszMenuName;
-       LPCSTR lpszClassName;
-} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
-typedef struct _WNDCLASSW {
-       UINT style;
-       WNDPROC lpfnWndProc;
-       int cbClsExtra;
-       int cbWndExtra;
-       HINSTANCE hInstance;
-       HICON hIcon;
-       HCURSOR hCursor;
-       HBRUSH hbrBackground;
-       LPCWSTR lpszMenuName;
-       LPCWSTR lpszClassName;
-} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
-typedef struct _WNDCLASSEXA {
-       UINT cbSize;
-       UINT style;
-       WNDPROC lpfnWndProc;
-       int cbClsExtra;
-       int cbWndExtra;
-       HINSTANCE hInstance;
-       HICON hIcon;
-       HCURSOR hCursor;
-       HBRUSH hbrBackground;
-       LPCSTR lpszMenuName;
-       LPCSTR lpszClassName;
-       HICON hIconSm;
-} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
-typedef struct _WNDCLASSEXW {
-       UINT cbSize;
-       UINT style;
-       WNDPROC lpfnWndProc;
-       int cbClsExtra;
-       int cbWndExtra;
-       HINSTANCE hInstance;
-       HICON hIcon;
-       HCURSOR hCursor;
-       HBRUSH hbrBackground;
-       LPCWSTR lpszMenuName;
-       LPCWSTR lpszClassName;
-       HICON hIconSm;
-} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
-typedef struct tagMENUITEMINFOA {
-       UINT cbSize;
-       UINT fMask;
-       UINT fType;
-       UINT fState;
-       UINT wID;
-       HMENU hSubMenu;
-       HBITMAP hbmpChecked;
-       HBITMAP hbmpUnchecked;
-       ULONG_PTR dwItemData;
-       LPSTR dwTypeData;
-       UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
-       HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOA,*LPMENUITEMINFOA;
+
+typedef struct tagDRAWITEMSTRUCT
+{ UINT                         CtlType;
+  UINT                         CtlID;
+  UINT                         itemID;
+  UINT                         itemAction;
+  UINT                         itemState;
+  HWND                         hwndItem;
+  HDC                          hDC;
+  RECT                         rcItem;
+  DWORD                        itemData;
+} DRAWITEMSTRUCT, *LPDRAWITEMSTRUCT, *PDRAWITEMSTRUCT;
+
+typedef struct
+{ UINT                         cbSize;
+  int                          iTabLength;
+  int                          iLeftMargin;
+  int                          iRightMargin;
+  UINT                         uiLengthDrawn;
+} DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS;
+
+typedef struct tagPAINTSTRUCT
+{ HDC                          hdc;
+  BOOL                         fErase;
+  RECT                         rcPaint;
+  BOOL                         fRestore;
+  BOOL                         fIncUpdate;
+  BYTE                         rgbReserved[32];
+} PAINTSTRUCT, *LPPAINTSTRUCT;
+
+typedef struct tagMSG
+{ HWND                         hwnd;
+  UINT                         message;
+  WPARAM                       wParam;
+  LPARAM                       lParam;
+  DWORD                        time;
+  POINT                        pt;
+} MSG, *LPMSG, *PMSG;
+
+typedef struct _ICONINFO
+{ BOOL                         fIcon;
+  DWORD                        xHotspot;
+  DWORD                        yHotspot;
+  HBITMAP                      hbmMask;
+  HBITMAP                      hbmColor;
+} ICONINFO, *PICONINFO;
+
+typedef struct tagNMHDR
+{ HWND                         hwndFrom;
+  UINT                         idFrom;
+  UINT                         code;
+} NMHDR, *LPNMHDR;
+
+typedef struct _WNDCLASSA
+{ UINT                         style;
+  WNDPROC                      lpfnWndProc;
+  int                          cbClsExtra;
+  int                          cbWndExtra;
+  HINSTANCE                    hInstance;
+  HICON                        hIcon;
+  HCURSOR                      hCursor;
+  HBRUSH                       hbrBackground;
+  LPCSTR                       lpszMenuName;
+  LPCSTR                       lpszClassName;
+} WNDCLASSA, *LPWNDCLASSA, *PWNDCLASSA;
+
+typedef struct _WNDCLASSW
+{ UINT                         style;
+  WNDPROC                      lpfnWndProc;
+  int                          cbClsExtra;
+  int                          cbWndExtra;
+  HINSTANCE                    hInstance;
+  HICON                        hIcon;
+  HCURSOR                      hCursor;
+  HBRUSH                       hbrBackground;
+  LPCWSTR                      lpszMenuName;
+  LPCWSTR                      lpszClassName;
+} WNDCLASSW, *LPWNDCLASSW, *PWNDCLASSW;
+
+typedef struct _WNDCLASSEXA
+{ UINT                         cbSize;
+  UINT                         style;
+  WNDPROC                      lpfnWndProc;
+  int                          cbClsExtra;
+  int                          cbWndExtra;
+  HINSTANCE                    hInstance;
+  HICON                        hIcon;
+  HCURSOR                      hCursor;
+  HBRUSH                       hbrBackground;
+  LPCSTR                       lpszMenuName;
+  LPCSTR                       lpszClassName;
+  HICON                        hIconSm;
+} WNDCLASSEXA, *LPWNDCLASSEXA, *PWNDCLASSEXA;
+
+typedef struct _WNDCLASSEXW
+{ UINT                         cbSize;
+  UINT                         style;
+  WNDPROC                      lpfnWndProc;
+  int                          cbClsExtra;
+  int                          cbWndExtra;
+  HINSTANCE                    hInstance;
+  HICON                        hIcon;
+  HCURSOR                      hCursor;
+  HBRUSH                       hbrBackground;
+  LPCWSTR                      lpszMenuName;
+  LPCWSTR                      lpszClassName;
+  HICON                        hIconSm;
+} WNDCLASSEXW, *LPWNDCLASSEXW, *PWNDCLASSEXW;
+
+typedef struct tagMENUITEMINFOA
+{ UINT                         cbSize;
+  UINT                         fMask;
+  UINT                         fType;
+  UINT                         fState;
+  UINT                         wID;
+  HMENU                        hSubMenu;
+  HBITMAP                      hbmpChecked;
+  HBITMAP                      hbmpUnchecked;
+  ULONG_PTR                    dwItemData;
+  LPSTR                        dwTypeData;
+  UINT                         cch;
+# if           _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+  HBITMAP                      hbmpItem;
+# endif
+} MENUITEMINFOA, *LPMENUITEMINFOA;
+
 typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
-typedef struct tagMENUITEMINFOW {
-       UINT cbSize;
-       UINT fMask;
-       UINT fType;
-       UINT fState;
-       UINT wID;
-       HMENU hSubMenu;
-       HBITMAP hbmpChecked;
-       HBITMAP hbmpUnchecked;
-       ULONG_PTR dwItemData;
-       LPWSTR dwTypeData;
-       UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
-       HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOW,*LPMENUITEMINFOW;
+
+typedef struct tagMENUITEMINFOW
+{ UINT                         cbSize;
+  UINT                         fMask;
+  UINT                         fType;
+  UINT                         fState;
+  UINT                         wID;
+  HMENU                        hSubMenu;
+  HBITMAP                      hbmpChecked;
+  HBITMAP                      hbmpUnchecked;
+  ULONG_PTR                    dwItemData;
+  LPWSTR                       dwTypeData;
+  UINT                         cch;
+# if           _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+  HBITMAP                      hbmpItem;
+# endif
+} MENUITEMINFOW, *LPMENUITEMINFOW;
+
 typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
-typedef struct tagSCROLLINFO {
-       UINT cbSize;
-       UINT fMask;
-       int nMin;
-       int nMax;
-       UINT nPage;
-       int nPos;
-       int nTrackPos;
-} SCROLLINFO,*LPSCROLLINFO;
+
+typedef struct tagSCROLLINFO
+{ UINT                         cbSize;
+  UINT                         fMask;
+  int                          nMin;
+  int                          nMax;
+  UINT                         nPage;
+  int                          nPos;
+  int                          nTrackPos;
+} SCROLLINFO, *LPSCROLLINFO;
+
 typedef const SCROLLINFO *LPCSCROLLINFO;
-typedef struct _WINDOWPLACEMENT {
-       UINT length;
-       UINT flags;
-       UINT showCmd;
-       POINT ptMinPosition;
-       POINT ptMaxPosition;
-       RECT rcNormalPosition;
-} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT;
-typedef struct {
-       WORD versionNumber;
-       WORD offset;
+
+typedef struct _WINDOWPLACEMENT
+{ UINT                         length;
+  UINT                         flags;
+  UINT                         showCmd;
+  POINT                        ptMinPosition;
+  POINT                        ptMaxPosition;
+  RECT                         rcNormalPosition;
+} WINDOWPLACEMENT, *LPWINDOWPLACEMENT, *PWINDOWPLACEMENT;
+
+typedef struct
+{ WORD                         versionNumber;
+  WORD                         offset;
 } MENUITEMTEMPLATEHEADER;
-typedef struct {
-       WORD mtOption;
-       WORD mtID;
-       WCHAR mtString[1];
+
+typedef struct
+{ WORD                         mtOption;
+  WORD                         mtID;
+  WCHAR                        mtString[1];
 } MENUITEMTEMPLATE;
-typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE;
-typedef struct tagHELPINFO {
-       UINT cbSize;
-       int iContextType;
-       int iCtrlId;
-       HANDLE hItemHandle;
-       DWORD dwContextId;
-       POINT MousePos;
-} HELPINFO,*LPHELPINFO;
-typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO);
-typedef struct {
-       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 {
-       UINT cbSize;
-       HWND hwndOwner;
-       HINSTANCE hInstance;
-       LPCWSTR lpszText;
-       LPCWSTR lpszCaption;
-       DWORD dwStyle;
-       LPCWSTR lpszIcon;
-       DWORD dwContextHelpId;
-       MSGBOXCALLBACK lpfnMsgBoxCallback;
-       DWORD dwLanguageId;
-} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
-typedef struct tagUSEROBJECTFLAGS {
-       BOOL fInherit;
-       BOOL fReserved;
-       DWORD dwFlags;
+
+typedef void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW;
+typedef void *LPMENUTEMPLATE, *LPMENUTEMPLATEA, *LPMENUTEMPLATEW;
+
+typedef struct tagHELPINFO
+{ UINT                         cbSize;
+  int                          iContextType;
+  int                          iCtrlId;
+  HANDLE                       hItemHandle;
+  DWORD                        dwContextId;
+  POINT                        MousePos;
+} HELPINFO, *LPHELPINFO;
+
+typedef void (CALLBACK *MSGBOXCALLBACK) (LPHELPINFO);
+
+typedef struct
+{ 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
+{ UINT                         cbSize;
+  HWND                         hwndOwner;
+  HINSTANCE                    hInstance;
+  LPCWSTR                      lpszText;
+  LPCWSTR                      lpszCaption;
+  DWORD                        dwStyle;
+  LPCWSTR                      lpszIcon;
+  DWORD                        dwContextHelpId;
+  MSGBOXCALLBACK               lpfnMsgBoxCallback;
+  DWORD                        dwLanguageId;
+} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
+
+typedef struct tagUSEROBJECTFLAGS
+{ BOOL                         fInherit;
+  BOOL                         fReserved;
+  DWORD                        dwFlags;
 } USEROBJECTFLAGS;
-typedef struct tagFILTERKEYS {
-       UINT cbSize;
-       DWORD dwFlags;
-       DWORD iWaitMSec;
-       DWORD iDelayMSec;
-       DWORD iRepeatMSec;
-       DWORD iBounceMSec;
+
+typedef struct tagFILTERKEYS
+{ UINT                         cbSize;
+  DWORD                        dwFlags;
+  DWORD                        iWaitMSec;
+  DWORD                        iDelayMSec;
+  DWORD                        iRepeatMSec;
+  DWORD                        iBounceMSec;
 } FILTERKEYS;
-typedef struct tagHIGHCONTRASTA {
-       UINT cbSize;
-       DWORD dwFlags;
-       LPSTR lpszDefaultScheme;
-} HIGHCONTRASTA,*LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRASTW {
-       UINT cbSize;
-       DWORD dwFlags;
-       LPWSTR lpszDefaultScheme;
-} HIGHCONTRASTW,*LPHIGHCONTRASTW;
+
+typedef struct tagHIGHCONTRASTA
+{ UINT                         cbSize;
+  DWORD                        dwFlags;
+  LPSTR                        lpszDefaultScheme;
+} HIGHCONTRASTA, *LPHIGHCONTRASTA;
+
+typedef struct tagHIGHCONTRASTW
+{ UINT                         cbSize;
+  DWORD                        dwFlags;
+  LPWSTR                       lpszDefaultScheme;
+} HIGHCONTRASTW, *LPHIGHCONTRASTW;
+
 #ifndef NOGDI
-typedef struct tagICONMETRICSA {
-       UINT cbSize;
-       int iHorzSpacing;
-       int iVertSpacing;
-       int iTitleWrap;
-       LOGFONTA lfFont;
-} ICONMETRICSA,*LPICONMETRICSA;
-typedef struct tagICONMETRICSW {
-       UINT cbSize;
-       int iHorzSpacing;
-       int iVertSpacing;
-       int iTitleWrap;
-       LOGFONTW lfFont;
-} ICONMETRICSW,*LPICONMETRICSW;
-#endif /*  NOGDI */
-typedef struct tagMINIMIZEDMETRICS {
-       UINT cbSize;
-       int iWidth;
-       int iHorzGap;
-       int iVertGap;
-       int iArrange;
-} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
-typedef struct tagMOUSEKEYS{
-       UINT cbSize;
-       DWORD dwFlags;
-       DWORD iMaxSpeed;
-       DWORD iTimeToMaxSpeed;
-       DWORD iCtrlSpeed;
-       DWORD dwReserved1;
-       DWORD dwReserved2;
-} MOUSEKEYS,*LPMOUSEKEYS;
+typedef struct tagICONMETRICSA
+{ UINT                         cbSize;
+  int                          iHorzSpacing;
+  int                          iVertSpacing;
+  int                          iTitleWrap;
+  LOGFONTA                     lfFont;
+} ICONMETRICSA, *LPICONMETRICSA;
+
+typedef struct tagICONMETRICSW
+{ UINT                         cbSize;
+  int                          iHorzSpacing;
+  int                          iVertSpacing;
+  int                          iTitleWrap;
+  LOGFONTW                     lfFont;
+} ICONMETRICSW, *LPICONMETRICSW;
+#endif /*  NOGDI */
+
+typedef struct tagMINIMIZEDMETRICS
+{ UINT                         cbSize;
+  int                          iWidth;
+  int                          iHorzGap;
+  int                          iVertGap;
+  int                          iArrange;
+} MINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
+
+typedef struct tagMOUSEKEYS
+{ UINT                         cbSize;
+  DWORD                        dwFlags;
+  DWORD                        iMaxSpeed;
+  DWORD                        iTimeToMaxSpeed;
+  DWORD                        iCtrlSpeed;
+  DWORD                        dwReserved1;
+  DWORD                        dwReserved2;
+} MOUSEKEYS, *LPMOUSEKEYS;
+
 #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,*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,*LPNONCLIENTMETRICSW;
+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, *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, *LPNONCLIENTMETRICSW;
 #endif
-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;
-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;
-typedef struct tagSTICKYKEYS {
-       DWORD cbSize;
-       DWORD dwFlags;
-} STICKYKEYS,*LPSTICKYKEYS;
-typedef struct tagTOGGLEKEYS {
-       DWORD cbSize;
-       DWORD dwFlags;
+
+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;
+
+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;
+
+typedef struct tagSTICKYKEYS
+{ DWORD                        cbSize;
+  DWORD                        dwFlags;
+} STICKYKEYS, *LPSTICKYKEYS;
+
+typedef struct tagTOGGLEKEYS
+{ DWORD                        cbSize;
+  DWORD                        dwFlags;
 } TOGGLEKEYS;
-typedef struct tagMOUSEHOOKSTRUCT {
-       POINT pt;
-       HWND hwnd;
-       UINT wHitTestCode;
-       DWORD dwExtraInfo;
-} MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
-typedef struct tagTRACKMOUSEEVENT {
-       DWORD cbSize;
-       DWORD dwFlags;
-       HWND  hwndTrack;
-       DWORD dwHoverTime;
-} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
-typedef struct tagTPMPARAMS {
-       UINT cbSize;
-       RECT rcExclude;
-} TPMPARAMS,*LPTPMPARAMS;
-typedef struct tagEVENTMSG {
-       UINT message;
-       UINT paramL;
-       UINT paramH;
-       DWORD time;
-       HWND hwnd;
-} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG,*PEVENTMSG,*LPEVENTMSG;
-typedef struct _WINDOWPOS {
-       HWND hwnd;
-       HWND hwndInsertAfter;
-       int x;
-       int y;
-       int cx;
-       int cy;
-       UINT flags;
-} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
-typedef struct tagNCCALCSIZE_PARAMS {
-       RECT rgrc[3];
-       PWINDOWPOS lppos;
+
+typedef struct tagMOUSEHOOKSTRUCT
+{ POINT                        pt;
+  HWND                         hwnd;
+  UINT                         wHitTestCode;
+  DWORD                        dwExtraInfo;
+} MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
+
+typedef struct tagTRACKMOUSEEVENT
+{ DWORD                        cbSize;
+  DWORD                        dwFlags;
+  HWND                         hwndTrack;
+  DWORD                        dwHoverTime;
+} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
+
+typedef struct tagTPMPARAMS
+{ UINT                         cbSize;
+  RECT                         rcExclude;
+} TPMPARAMS, *LPTPMPARAMS;
+
+typedef struct tagEVENTMSG
+{ UINT                         message;
+  UINT                         paramL;
+  UINT                         paramH;
+  DWORD                        time;
+  HWND                         hwnd;
+} EVENTMSG, *PEVENTMSGMSG, *LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG;
+
+typedef struct _WINDOWPOS
+{ HWND                         hwnd;
+  HWND                         hwndInsertAfter;
+  int                          x;
+  int                          y;
+  int                          cx;
+  int                          cy;
+  UINT                         flags;
+} WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
+
+typedef struct tagNCCALCSIZE_PARAMS
+{ RECT                         rgrc[3];
+  PWINDOWPOS                   lppos;
 } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
-typedef struct tagMDICREATESTRUCTA {
-       LPCSTR szClass;
-       LPCSTR szTitle;
-       HANDLE hOwner;
-       int x;
-       int y;
-       int cx;
-       int cy;
-       DWORD style;
-       LPARAM lParam;
-} MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
-typedef struct tagMDICREATESTRUCTW {
-       LPCWSTR szClass;
-       LPCWSTR szTitle;
-       HANDLE hOwner;
-       int x;
-       int y;
-       int cx;
-       int cy;
-       DWORD style;
-       LPARAM lParam;
-} MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
-typedef struct tagMINMAXINFO {
-       POINT ptReserved;
-       POINT ptMaxSize;
-       POINT ptMaxPosition;
-       POINT ptMinTrackSize;
-       POINT ptMaxTrackSize;
-} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
-typedef struct tagMDINEXTMENU {
-       HMENU hmenuIn;
-       HMENU hmenuNext;
-       HWND hwndNext;
-} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
-typedef struct tagMEASUREITEMSTRUCT {
-       UINT CtlType;
-       UINT CtlID;
-       UINT itemID;
-       UINT itemWidth;
-       UINT itemHeight;
-       DWORD itemData;
-} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
-typedef struct tagDROPSTRUCT {
-       HWND hwndSource;
-       HWND hwndSink;
-       DWORD wFmt;
-       DWORD dwData;
-       POINT ptDrop;
-       DWORD dwControlData;
-} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
+
+typedef struct tagMDICREATESTRUCTA
+{ LPCSTR                       szClass;
+  LPCSTR                       szTitle;
+  HANDLE                       hOwner;
+  int                          x;
+  int                          y;
+  int                          cx;
+  int                          cy;
+  DWORD                        style;
+  LPARAM                       lParam;
+} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
+
+typedef struct tagMDICREATESTRUCTW
+{ LPCWSTR                      szClass;
+  LPCWSTR                      szTitle;
+  HANDLE                       hOwner;
+  int                          x;
+  int                          y;
+  int                          cx;
+  int                          cy;
+  DWORD                        style;
+  LPARAM                       lParam;
+} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
+
+typedef struct tagMINMAXINFO
+{ POINT                        ptReserved;
+  POINT                        ptMaxSize;
+  POINT                        ptMaxPosition;
+  POINT                        ptMinTrackSize;
+  POINT                        ptMaxTrackSize;
+} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
+
+typedef struct tagMDINEXTMENU
+{ HMENU                        hmenuIn;
+  HMENU                        hmenuNext;
+  HWND                         hwndNext;
+} MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
+
+typedef struct tagMEASUREITEMSTRUCT
+{ UINT                         CtlType;
+  UINT                         CtlID;
+  UINT                         itemID;
+  UINT                         itemWidth;
+  UINT                         itemHeight;
+  DWORD                        itemData;
+} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
+
+typedef struct tagDROPSTRUCT
+{ HWND                         hwndSource;
+  HWND                         hwndSink;
+  DWORD                        wFmt;
+  DWORD                        dwData;
+  POINT                        ptDrop;
+  DWORD                        dwControlData;
+} DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
+
 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;
-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;
-typedef struct tagSTYLESTRUCT {
-       DWORD styleOld;
-       DWORD styleNew;
-} STYLESTRUCT,*LPSTYLESTRUCT;
-typedef struct tagALTTABINFO {
-       DWORD cbSize;
-       int   cItems;
-       int   cColumns;
-       int   cRows;
-       int   iColFocus;
-       int   iRowFocus;
-       int   cxItem;
-       int   cyItem;
-       POINT ptStart;
-} ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
-typedef struct tagCOMBOBOXINFO {
-       DWORD cbSize;
-       RECT rcItem;
-       RECT rcButton;
-       DWORD stateButton;
-       HWND hwndCombo;
-       HWND hwndItem;
-       HWND hwndList;
-} COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
-typedef struct tagCURSORINFO {
-       DWORD cbSize;
-       DWORD flags;
-       HCURSOR hCursor;
-       POINT ptScreenPos;
-} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
-typedef struct tagMENUBARINFO {
-       DWORD cbSize;
-       RECT  rcBar;
-       HMENU hMenu;
-       HWND  hwndMenu;
-       BOOL  fBarFocused:1;
-       BOOL  fFocused:1;
-} MENUBARINFO,*PMENUBARINFO;
-typedef struct tagMENUINFO {
-       DWORD cbSize;
-       DWORD fMask;
-       DWORD dwStyle;
-       UINT cyMax;
-       HBRUSH  hbrBack;
-       DWORD   dwContextHelpID;
-       ULONG_PTR dwMenuData;
-} MENUINFO,*LPMENUINFO;
+
+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;
+
+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;
+
+typedef struct tagSTYLESTRUCT
+{ DWORD                        styleOld;
+  DWORD                        styleNew;
+} STYLESTRUCT, *LPSTYLESTRUCT;
+
+typedef struct tagALTTABINFO
+{ DWORD                        cbSize;
+  int                          cItems;
+  int                          cColumns;
+  int                          cRows;
+  int                          iColFocus;
+  int                          iRowFocus;
+  int                          cxItem;
+  int                          cyItem;
+  POINT                        ptStart;
+} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
+
+typedef struct tagCOMBOBOXINFO
+{ DWORD                        cbSize;
+  RECT                         rcItem;
+  RECT                         rcButton;
+  DWORD                        stateButton;
+  HWND                         hwndCombo;
+  HWND                         hwndItem;
+  HWND                         hwndList;
+} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
+
+typedef struct tagCURSORINFO
+{ DWORD                        cbSize;
+  DWORD                        flags;
+  HCURSOR                      hCursor;
+  POINT                        ptScreenPos;
+} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
+
+typedef struct tagMENUBARINFO
+{ DWORD                        cbSize;
+  RECT                         rcBar;
+  HMENU                        hMenu;
+  HWND                         hwndMenu;
+  BOOL                         fBarFocused:1;
+  BOOL                         fFocused:1;
+} MENUBARINFO, *PMENUBARINFO;
+
+typedef struct tagMENUINFO
+{ DWORD                        cbSize;
+  DWORD                        fMask;
+  DWORD                        dwStyle;
+  UINT                         cyMax;
+  HBRUSH                       hbrBack;
+  DWORD                        dwContextHelpID;
+  ULONG_PTR                    dwMenuData;
+} MENUINFO, *LPMENUINFO;
+
 typedef MENUINFO CONST *LPCMENUINFO;
-#define CCHILDREN_SCROLLBAR 5
-typedef struct tagSCROLLBARINFO {
-       DWORD cbSize;
-       RECT  rcScrollBar;
-       int   dxyLineButton;
-       int   xyThumbTop;
-       int   xyThumbBottom;
-       int   reserved;
-       DWORD rgstate[CCHILDREN_SCROLLBAR+1];
-} SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
-#if (_WIN32_WINDOWS >= 0x0410)
-#define CCHILDREN_TITLEBAR 5
-typedef struct tagTITLEBARINFO {
-       DWORD cbSize;
-       RECT  rcTitleBar;
-       DWORD rgstate[CCHILDREN_TITLEBAR+1];
-} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
+
+#define CCHILDREN_SCROLLBAR    5
+
+typedef struct tagSCROLLBARINFO
+{ DWORD                        cbSize;
+  RECT                         rcScrollBar;
+  int                          dxyLineButton;
+  int                          xyThumbTop;
+  int                          xyThumbBottom;
+  int                          reserved;
+  DWORD                        rgstate[CCHILDREN_SCROLLBAR+1];
+} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
+
+#if _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+#define CCHILDREN_TITLEBAR     5
+typedef struct tagTITLEBARINFO
+{ DWORD                        cbSize;
+  RECT                         rcTitleBar;
+  DWORD                        rgstate[CCHILDREN_TITLEBAR+1];
+} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
 #endif
-typedef struct tagWINDOWINFO {
-       DWORD cbSize;
-       RECT  rcWindow;
-       RECT  rcClient;
-       DWORD dwStyle;
-       DWORD dwExStyle;
-       DWORD dwWindowStatus;
-       UINT  cxWindowBorders;
-       UINT  cyWindowBorders;
-       ATOM  atomWindowType;
-       WORD  wCreatorVersion;
-} WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
-typedef struct tagLASTINPUTINFO {
-       UINT cbSize;
-       DWORD dwTime;
-} LASTINPUTINFO,*PLASTINPUTINFO;
-typedef struct tagMONITORINFO {
-       DWORD cbSize;
-       RECT rcMonitor;
-       RECT rcWork;
-       DWORD dwFlags;
-} MONITORINFO,*LPMONITORINFO;
-#define CCHDEVICENAME 32
+
+typedef struct tagWINDOWINFO
+{ DWORD                        cbSize;
+  RECT                         rcWindow;
+  RECT                         rcClient;
+  DWORD                        dwStyle;
+  DWORD                        dwExStyle;
+  DWORD                        dwWindowStatus;
+  UINT                         cxWindowBorders;
+  UINT                         cyWindowBorders;
+  ATOM                         atomWindowType;
+  WORD                         wCreatorVersion;
+} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
+
+typedef struct tagLASTINPUTINFO
+{ UINT                         cbSize;
+  DWORD                        dwTime;
+} LASTINPUTINFO, *PLASTINPUTINFO;
+
+typedef struct tagMONITORINFO
+{ DWORD                        cbSize;
+  RECT                         rcMonitor;
+  RECT                         rcWork;
+  DWORD                        dwFlags;
+} MONITORINFO, *LPMONITORINFO;
+
+#define CCHDEVICENAME          32
+
 #ifdef __cplusplus
 typedef struct tagMONITORINFOEXA : public tagMONITORINFO
-{
-    CHAR    szDevice[CCHDEVICENAME];
+{ CHAR                         szDevice[CCHDEVICENAME];
 } MONITORINFOEXA, *LPMONITORINFOEXA;
+
 typedef struct tagMONITORINFOEXW : public tagMONITORINFO
-{
-    WCHAR   szDevice[CCHDEVICENAME];
+{ WCHAR                        szDevice[CCHDEVICENAME];
 } MONITORINFOEXW, *LPMONITORINFOEXW;
-#else
-typedef struct tagMONITORINFOEXA {
-       DWORD   cbSize;
-       RECT    rcMonitor;
-       RECT    rcWork;
-       DWORD   dwFlags;
-       CHAR    szDevice[CCHDEVICENAME];
-} MONITORINFOEXA,*LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW {
-       DWORD   cbSize;
-       RECT    rcMonitor;
-       RECT    rcWork;
-       DWORD   dwFlags;
-       WCHAR   szDevice[CCHDEVICENAME];
-} MONITORINFOEXW,*LPMONITORINFOEXW;
-#endif /* __cplusplus */
-typedef struct tagKBDLLHOOKSTRUCT {
-       DWORD vkCode;
-       DWORD scanCode;
-       DWORD flags;
-       DWORD time;
-       DWORD dwExtraInfo;
-} KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef struct {
-  UINT  cbSize;
-  HWND  hwnd;
-  DWORD dwFlags;
-  UINT  uCount;
-  DWORD dwTimeout;
-} FLASHWINFO,*PFLASHWINFO;
-#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-typedef struct tagMOUSEMOVEPOINT {
-  int x;
-  int y;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
+
+#else  /* !__cplusplus */
+typedef struct tagMONITORINFOEXA
+{ DWORD                        cbSize;
+  RECT                         rcMonitor;
+  RECT                         rcWork;
+  DWORD                        dwFlags;
+  CHAR                         szDevice[CCHDEVICENAME];
+} MONITORINFOEXA, *LPMONITORINFOEXA;
+
+typedef struct tagMONITORINFOEXW
+{ DWORD                        cbSize;
+  RECT                         rcMonitor;
+  RECT                         rcWork;
+  DWORD                        dwFlags;
+  WCHAR                        szDevice[CCHDEVICENAME];
+} MONITORINFOEXW, *LPMONITORINFOEXW;
+#endif /* !__cplusplus */
+
+typedef struct tagKBDLLHOOKSTRUCT
+{ DWORD                        vkCode;
+  DWORD                        scanCode;
+  DWORD                        flags;
+  DWORD                        time;
+  DWORD                        dwExtraInfo;
+} KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+typedef struct
+{ UINT                         cbSize;
+  HWND                         hwnd;
+  DWORD                        dwFlags;
+  UINT                         uCount;
+  DWORD                        dwTimeout;
+} FLASHWINFO, *PFLASHWINFO;
+#endif /* >= _WIN32_WINNT_WIN2K || >= _WIN32_WINDOWS_98 */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
+typedef struct tagMOUSEMOVEPOINT
+{ int                          x;
+  int                          y;
+  DWORD                        time;
+  ULONG_PTR                    dwExtraInfo;
+} MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, *LPMOUSEMOVEPOINT;
 #endif
-#if (_WIN32_WINNT >= 0x0403)
-typedef struct tagMOUSEINPUT {
-  LONG dx;
-  LONG dy;
-  DWORD mouseData;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
-  WORD wVk;
-  WORD wScan;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
-  DWORD uMsg;
-  WORD wParamL;
-  WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
-  DWORD type;
-  _ANONYMOUS_UNION union {
-               MOUSEINPUT mi;
-               KEYBDINPUT ki;
-               HARDWAREINPUT hi;
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
+typedef struct tagMOUSEINPUT
+{ LONG                         dx;
+  LONG                         dy;
+  DWORD                        mouseData;
+  DWORD                        dwFlags;
+  DWORD                        time;
+  ULONG_PTR                    dwExtraInfo;
+} MOUSEINPUT, *PMOUSEINPUT;
+
+typedef struct tagKEYBDINPUT
+{ WORD                         wVk;
+  WORD                         wScan;
+  DWORD                        dwFlags;
+  DWORD                        time;
+  ULONG_PTR                    dwExtraInfo;
+} KEYBDINPUT, *PKEYBDINPUT;
+
+typedef struct tagHARDWAREINPUT
+{ DWORD                        uMsg;
+  WORD                         wParamL;
+  WORD                         wParamH;
+} HARDWAREINPUT, *PHARDWAREINPUT;
+
+typedef struct tagINPUT
+{ DWORD                        type;
+  _ANONYMOUS_UNION union
+  { MOUSEINPUT                   mi;
+    KEYBDINPUT                   ki;
+    HARDWAREINPUT                hi;
   } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (_WIN32_WINNT >= 0x0601)
-typedef struct _TOUCHINPUT {
-  LONG x;
-  LONG y;
-  HANDLE hSource;
-  DWORD dwID;
-  DWORD dwFlags;
-  DWORD dwMask;
-  DWORD dwTime;
-  ULONG_PTR dwExtraInfo;
-  DWORD cxContact;
-  DWORD cyContact;
-} TOUCHINPUT,
- *PTOUCHINPUT;
-#endif /* (_WIN32_WINNT >= 0x0601) */
-#if (WINVER >= 0x0500)
-typedef struct tagGUITHREADINFO {
-       DWORD cbSize;
-       DWORD flags;
-       HWND hwndActive;
-       HWND hwndFocus;
-       HWND hwndCapture;
-       HWND hwndMenuOwner;
-       HWND hwndMoveSize;
-       HWND hwndCaret;
-       RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-       UINT  cbSize;
-       HDESK hdesk;
-       HWND  hwnd;
-       LUID  luid;
-} BSMINFO,*PBSMINFO;
+} INPUT, *PINPUT, *LPINPUT;
+#endif /* >= _WIN32_WINNT_NT4SP3 */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
+typedef struct _TOUCHINPUT
+{ LONG                         x;
+  LONG                         y;
+  HANDLE                       hSource;
+  DWORD                        dwID;
+  DWORD                        dwFlags;
+  DWORD                        dwMask;
+  DWORD                        dwTime;
+  ULONG_PTR                    dwExtraInfo;
+  DWORD                        cxContact;
+  DWORD                        cyContact;
+} TOUCHINPUT, *PTOUCHINPUT;
+#endif /* >= _WIN32_WINNT_WIN7 */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+typedef struct tagGUITHREADINFO
+{ DWORD                        cbSize;
+  DWORD                        flags;
+  HWND                         hwndActive;
+  HWND                         hwndFocus;
+  HWND                         hwndCapture;
+  HWND                         hwndMenuOwner;
+  HWND                         hwndMoveSize;
+  HWND                         hwndCaret;
+  RECT                         rcCaret;
+} GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
+
+typedef VOID (CALLBACK *WINEVENTPROC) (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD);
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+typedef struct
+{ UINT                         cbSize;
+  HDESK                        hdesk;
+  HWND                         hwnd;
+  LUID                         luid;
+} BSMINFO, *PBSMINFO;
+
 DECLARE_HANDLE(HRAWINPUT);
-typedef struct tagRAWINPUTHEADER {
-       DWORD dwType;
-       DWORD dwSize;
-       HANDLE hDevice;
-       WPARAM wParam;
-} RAWINPUTHEADER,*PRAWINPUTHEADER;
-typedef struct tagRAWMOUSE {
-       USHORT usFlags;
-       _ANONYMOUS_UNION union {
-               ULONG ulButtons;
-               _ANONYMOUS_STRUCT struct {
-                       USHORT usButtonFlags;
-                       USHORT usButtonData;
-               };
-       };
-       ULONG ulRawButtons;
-       LONG lLastX;
-       LONG lLastY;
-       ULONG ulExtraInformation;
-} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
-typedef struct tagRAWKEYBOARD {
-       USHORT MakeCode;
-       USHORT Flags;
-       USHORT Reserved;
-       USHORT VKey;
-       UINT Message;
-       ULONG ExtraInformation;
-} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
-typedef struct tagRAWHID {
-       DWORD dwSizeHid;
-       DWORD dwCount;
-       BYTE bRawData;
-} RAWHID,*PRAWHID,*LPRAWHID;
-typedef struct tagRAWINPUT {
-       RAWINPUTHEADER header;
-       union {
-               RAWMOUSE    mouse;
-               RAWKEYBOARD keyboard;
-               RAWHID      hid;
-       } data;
-} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
-typedef struct tagRAWINPUTDEVICE {
-       USHORT usUsagePage;
-       USHORT usUsage;
-       DWORD dwFlags;
-       HWND hwndTarget;
-} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
+
+typedef struct tagRAWINPUTHEADER
+{ DWORD                        dwType;
+  DWORD                        dwSize;
+  HANDLE                       hDevice;
+  WPARAM                       wParam;
+} RAWINPUTHEADER, *PRAWINPUTHEADER;
+
+typedef struct tagRAWMOUSE
+{ USHORT                       usFlags;
+  _ANONYMOUS_UNION union
+  { ULONG                        ulButtons;
+    _ANONYMOUS_STRUCT struct
+    { USHORT                       usButtonFlags;
+      USHORT                       usButtonData;
+    };
+  };
+  ULONG                        ulRawButtons;
+  LONG                         lLastX;
+  LONG                         lLastY;
+  ULONG                        ulExtraInformation;
+} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
+
+typedef struct tagRAWKEYBOARD
+{ USHORT                       MakeCode;
+  USHORT                       Flags;
+  USHORT                       Reserved;
+  USHORT                       VKey;
+  UINT                         Message;
+  ULONG                        ExtraInformation;
+} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
+
+typedef struct tagRAWHID
+{ DWORD                        dwSizeHid;
+  DWORD                        dwCount;
+  BYTE                         bRawData;
+} RAWHID, *PRAWHID, *LPRAWHID;
+
+typedef struct tagRAWINPUT
+{ RAWINPUTHEADER               header;
+  union
+  { RAWMOUSE                     mouse;
+    RAWKEYBOARD                  keyboard;
+    RAWHID                       hid;
+  }                            data;
+} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
+
+typedef struct tagRAWINPUTDEVICE
+{ USHORT                       usUsagePage;
+  USHORT                       usUsage;
+  DWORD                        dwFlags;
+  HWND                         hwndTarget;
+} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;
+
 typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
-typedef struct tagRAWINPUTDEVICELIST {
-       HANDLE hDevice;
-       DWORD dwType;
-} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
-typedef struct tagRID_DEVICE_INFO_MOUSE {
-       DWORD dwId;
-       DWORD dwNumberOfButtons;
-       DWORD dwSampleRate;
-       BOOL fHasHorizontalWheel;
+
+typedef struct tagRAWINPUTDEVICELIST
+{ HANDLE                       hDevice;
+  DWORD                        dwType;
+} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
+
+typedef struct tagRID_DEVICE_INFO_MOUSE
+{ DWORD                        dwId;
+  DWORD                        dwNumberOfButtons;
+  DWORD                        dwSampleRate;
+  BOOL                         fHasHorizontalWheel;
 } RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
-typedef struct tagRID_DEVICE_INFO_KEYBOARD {
-       DWORD dwType;
-       DWORD dwSubType;
-       DWORD dwKeyboardMode;
-       DWORD dwNumberOfFunctionKeys;
-       DWORD dwNumberOfIndicators;
-       DWORD dwNumberOfKeysTotal;
+
+typedef struct tagRID_DEVICE_INFO_KEYBOARD
+{ DWORD                        dwType;
+  DWORD                        dwSubType;
+  DWORD                        dwKeyboardMode;
+  DWORD                        dwNumberOfFunctionKeys;
+  DWORD                        dwNumberOfIndicators;
+  DWORD                        dwNumberOfKeysTotal;
 } RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
-typedef struct tagRID_DEVICE_INFO_HID {
-       DWORD dwVendorId;
-       DWORD dwProductId;
-       DWORD dwVersionNumber;
-       USHORT usUsagePage;
-       USHORT usUsage;
+
+typedef struct tagRID_DEVICE_INFO_HID
+{ DWORD                        dwVendorId;
+  DWORD                        dwProductId;
+  DWORD                        dwVersionNumber;
+  USHORT                       usUsagePage;
+  USHORT                       usUsage;
 } RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
-typedef struct tagRID_DEVICE_INFO {
-       DWORD    cbSize;
-       DWORD    dwType;
-       _ANONYMOUS_UNION union {
-               RID_DEVICE_INFO_MOUSE     mouse;
-               RID_DEVICE_INFO_KEYBOARD  keyboard;
-               RID_DEVICE_INFO_HID       hid;
-       } DUMMYUNIONNAME;
+
+typedef struct tagRID_DEVICE_INFO
+{ DWORD                        cbSize;
+  DWORD                        dwType;
+  _ANONYMOUS_UNION union
+  { RID_DEVICE_INFO_MOUSE        mouse;
+    RID_DEVICE_INFO_KEYBOARD     keyboard;
+    RID_DEVICE_INFO_HID          hid;
+  } DUMMYUNIONNAME;
 } RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-typedef struct {
-       POINT pt;
-       DWORD mouseData;
-       DWORD flags;
-       DWORD time;
-       ULONG_PTR dwExtraInfo;
+#endif /* >= _WIN32_WINNT_WINXP */
+
+typedef struct
+{ POINT                        pt;
+  DWORD                        mouseData;
+  DWORD                        flags;
+  DWORD                        time;
+  ULONG_PTR                    dwExtraInfo;
 } MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
 
 #define AnsiToOem CharToOemA
@@ -3424,27 +3698,28 @@ typedef struct {
 #define AnsiLowerBuff CharLowerBuffA
 #define AnsiNext CharNextA
 #define AnsiPrev CharPrevA
-#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h))
-#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h))
-#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h))
-#define POINTSTOPOINT(p,ps) { \
-  (p).x=LOWORD(*(DWORD *)&ps); \
-  (p).y=HIWORD(*(DWORD *)&ps); \
+#define MAKELPARAM(l, h)       ((LPARAM)(MAKELONG(l, h)))
+#define MAKEWPARAM(l, h)       ((WPARAM)(MAKELONG(l, h)))
+#define MAKELRESULT(l, h)      ((LRESULT)(MAKELONG(l, h)))
+
+#define POINTSTOPOINT(p, ps)    \
+{ (p).x=LOWORD(*(DWORD *)(&ps)); \
+  (p).y=HIWORD(*(DWORD *)(&ps)); \
 }
-#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y))
+#define POINTTOPOINTS(p)       ((POINTS)(MAKELONG((p).x,(p).y)))
 
 #ifndef _LPCGUID_DEFINED
 #define _LPCGUID_DEFINED
 typedef const GUID *LPCGUID;
 #endif
 
-#if (_WIN32_WINNT >= 0x0600)
+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
 typedef HANDLE HPOWERNOTIFY;
 
-typedef struct {
-       GUID PowerSetting;
-       DWORD DataLength;
-       UCHAR Data[1];
+typedef struct
+{ GUID                         PowerSetting;
+  DWORD                        DataLength;
+  UCHAR                        Data[1];
 } POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
 
 extern const GUID GUID_POWERSCHEME_PERSONALITY;
@@ -3458,747 +3733,838 @@ extern const GUID GUID_SYSTEM_AWAYMODE;
 extern const GUID GUID_MONITOR_POWER_ON;
 #endif
 
-WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
-WINUSERAPI BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
-WINUSERAPI BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI AnyPopup(void);
-WINUSERAPI BOOL WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
-WINUSERAPI BOOL WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
-WINUSERAPI UINT WINAPI ArrangeIconicWindows(HWND);
-WINUSERAPI BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
-WINUSERAPI HDWP WINAPI BeginDeferWindowPos(int);
-WINUSERAPI HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
-WINUSERAPI BOOL WINAPI BringWindowToTop(HWND);
-WINUSERAPI long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0400)
-WINUSERAPI long WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-#endif /* (_WIN32_WINNT >= 0x0501) */
-WINUSERAPI BOOL WINAPI CallMsgFilterA(LPMSG,INT);
-WINUSERAPI BOOL WINAPI CallMsgFilterW(LPMSG,INT);
-WINUSERAPI LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
-WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND);
+WINUSERAPI HKL WINAPI ActivateKeyboardLayout (HKL, UINT);
+WINUSERAPI BOOL WINAPI AdjustWindowRect (LPRECT, DWORD, BOOL);
+WINUSERAPI BOOL WINAPI AdjustWindowRectEx (LPRECT, DWORD, BOOL, DWORD);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI AnimateWindow (HWND, DWORD, DWORD);
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+WINUSERAPI BOOL WINAPI AnyPopup (void);
+WINUSERAPI BOOL WINAPI AppendMenuA (HMENU, UINT, UINT_PTR, LPCSTR);
+WINUSERAPI BOOL WINAPI AppendMenuW (HMENU, UINT, UINT_PTR, LPCWSTR);
+WINUSERAPI UINT WINAPI ArrangeIconicWindows (HWND);
+WINUSERAPI BOOL WINAPI AttachThreadInput (DWORD, DWORD, BOOL);
+WINUSERAPI HDWP WINAPI BeginDeferWindowPos (int);
+WINUSERAPI HDC WINAPI BeginPaint (HWND, LPPAINTSTRUCT);
+WINUSERAPI BOOL WINAPI BringWindowToTop (HWND);
+WINUSERAPI long WINAPI BroadcastSystemMessage (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+WINUSERAPI long WINAPI BroadcastSystemMessageA (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
+WINUSERAPI long WINAPI BroadcastSystemMessageW (DWORD, LPDWORD, UINT, WPARAM, LPARAM);
+#endif /* >= _WIN32_WINNT_NT4 */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI long WINAPI BroadcastSystemMessageExA (DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO);
+WINUSERAPI long WINAPI BroadcastSystemMessageExW (DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO);
+#endif /* >= _WIN32_WINNT_WINXP */
+
+WINUSERAPI BOOL WINAPI CallMsgFilterA (LPMSG, INT);
+WINUSERAPI BOOL WINAPI CallMsgFilterW (LPMSG, INT);
+WINUSERAPI LRESULT WINAPI CallNextHookEx (HHOOK, int, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI CallWindowProcA (WNDPROC, HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI CallWindowProcW (WNDPROC, HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI WORD WINAPI CascadeWindows (HWND, UINT, LPCRECT, UINT, const HWND *);
+WINUSERAPI BOOL WINAPI ChangeClipboardChain (HWND, HWND);
+
 #ifndef NOGDI
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
+WINUSERAPI LONG WINAPI ChangeDisplaySettingsA (PDEVMODEA, DWORD);
+WINUSERAPI LONG WINAPI ChangeDisplaySettingsW (PDEVMODEW, DWORD);
+WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA (LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID);
+WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW (LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID);
 #endif
-WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
-WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
-WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharNextA(LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharNextW(LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharUpperA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI CheckDlgButton(HWND,int,UINT);
-WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckRadioButton(HWND,int,int,int);
-WINUSERAPI HWND WINAPI ChildWindowFromPoint(HWND,POINT);
-WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
-WINUSERAPI BOOL WINAPI ClientToScreen(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ClipCursor(LPCRECT);
-WINUSERAPI BOOL WINAPI CloseClipboard(void);
-WINUSERAPI BOOL WINAPI CloseDesktop(HDESK);
-WINUSERAPI BOOL WINAPI CloseWindow(HWND);
-WINUSERAPI BOOL WINAPI CloseWindowStation(HWINSTA);
-WINUSERAPI int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int);
-WINUSERAPI int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int);
-#define CopyCursor(c) ((HCURSOR)CopyIcon((HICON)(c)))
-WINUSERAPI HICON WINAPI CopyIcon(HICON);
-WINUSERAPI HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT);
-WINUSERAPI BOOL WINAPI CopyRect(LPRECT,LPCRECT);
-WINUSERAPI int WINAPI CountClipboardFormats(void);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int);
-WINUSERAPI BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int);
-WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
+
+WINUSERAPI BOOL WINAPI ChangeMenuA (HMENU, UINT, LPCSTR, UINT, UINT);
+WINUSERAPI BOOL WINAPI ChangeMenuW (HMENU, UINT, LPCWSTR, UINT, UINT);
+WINUSERAPI LPSTR WINAPI CharLowerA (LPSTR);
+WINUSERAPI LPWSTR WINAPI CharLowerW (LPWSTR);
+WINUSERAPI DWORD WINAPI CharLowerBuffA (LPSTR, DWORD);
+WINUSERAPI DWORD WINAPI CharLowerBuffW (LPWSTR, DWORD);
+WINUSERAPI LPSTR WINAPI CharNextA (LPCSTR);
+WINUSERAPI LPWSTR WINAPI CharNextW (LPCWSTR);
+WINUSERAPI LPSTR WINAPI CharNextExA (WORD, LPCSTR, DWORD);
+WINUSERAPI LPSTR WINAPI CharPrevA (LPCSTR, LPCSTR);
+WINUSERAPI LPWSTR WINAPI CharPrevW (LPCWSTR, LPCWSTR);
+WINUSERAPI LPSTR WINAPI CharPrevExA (WORD, LPCSTR, LPCSTR, DWORD);
+WINUSERAPI BOOL WINAPI CharToOemA (LPCSTR, LPSTR);
+WINUSERAPI BOOL WINAPI CharToOemW (LPCWSTR, LPSTR);
+WINUSERAPI BOOL WINAPI CharToOemBuffA (LPCSTR, LPSTR, DWORD);
+WINUSERAPI BOOL WINAPI CharToOemBuffW (LPCWSTR, LPSTR, DWORD);
+WINUSERAPI LPSTR WINAPI CharUpperA (LPSTR);
+WINUSERAPI LPWSTR WINAPI CharUpperW (LPWSTR);
+WINUSERAPI DWORD WINAPI CharUpperBuffA (LPSTR, DWORD);
+WINUSERAPI DWORD WINAPI CharUpperBuffW (LPWSTR, DWORD);
+WINUSERAPI BOOL WINAPI CheckDlgButton (HWND, int, UINT);
+WINUSERAPI DWORD WINAPI CheckMenuItem (HMENU, UINT, UINT);
+WINUSERAPI BOOL WINAPI CheckMenuRadioItem (HMENU, UINT, UINT, UINT, UINT);
+WINUSERAPI BOOL WINAPI CheckRadioButton (HWND, int, int, int);
+WINUSERAPI HWND WINAPI ChildWindowFromPoint (HWND, POINT);
+WINUSERAPI HWND WINAPI ChildWindowFromPointEx (HWND, POINT, UINT);
+WINUSERAPI BOOL WINAPI ClientToScreen (HWND, LPPOINT);
+WINUSERAPI BOOL WINAPI ClipCursor (LPCRECT);
+WINUSERAPI BOOL WINAPI CloseClipboard (void);
+WINUSERAPI BOOL WINAPI CloseDesktop (HDESK);
+WINUSERAPI BOOL WINAPI CloseWindow (HWND);
+WINUSERAPI BOOL WINAPI CloseWindowStation (HWINSTA);
+WINUSERAPI int WINAPI CopyAcceleratorTableA (HACCEL, LPACCEL, int);
+WINUSERAPI int WINAPI CopyAcceleratorTableW (HACCEL, LPACCEL, int);
+#define CopyCursor(c) ((HCURSOR)(CopyIcon ((HICON)(c))))
+WINUSERAPI HICON WINAPI CopyIcon (HICON);
+WINUSERAPI HANDLE WINAPI CopyImage (HANDLE, UINT, int, int, UINT);
+WINUSERAPI BOOL WINAPI CopyRect (LPRECT, LPCRECT);
+WINUSERAPI int WINAPI CountClipboardFormats (void);
+WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA (LPACCEL, int);
+WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW (LPACCEL, int);
+WINUSERAPI BOOL WINAPI CreateCaret (HWND, HBITMAP, int, int);
+WINUSERAPI HCURSOR WINAPI CreateCursor (HINSTANCE, int, int, int, int, PCVOID, PCVOID);
+
 #ifndef NOGDI
-WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
+WINUSERAPI HDESK WINAPI CreateDesktopA (LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES);
+WINUSERAPI HDESK WINAPI CreateDesktopW (LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES);
 #endif
-#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
-#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
-#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
-#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*);
-WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
-WINUSERAPI HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
-WINUSERAPI HICON WINAPI CreateIconIndirect(PICONINFO);
-WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HMENU WINAPI CreateMenu(void);
-WINUSERAPI HMENU WINAPI CreatePopupMenu(void);
-#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k)
-#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k)
-WINUSERAPI HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
-#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
-WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
+
+#define CreateDialogA(h, n, w, f)         CreateDialogParamA (h, n, w, f, 0)
+#define CreateDialogW(h, n, w, f)         CreateDialogParamW (h, n, w, f, 0)
+#define CreateDialogIndirectA(h, t, w, f)  CreateDialogIndirectParamA (h, t, w, f, 0)
+#define CreateDialogIndirectW(h, t, w, f)  CreateDialogIndirectParamW (h, t, w, f, 0)
+
+WINUSERAPI HWND WINAPI CreateDialogIndirectParamA (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+WINUSERAPI HWND WINAPI CreateDialogIndirectParamW (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+WINUSERAPI HWND WINAPI CreateDialogParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
+WINUSERAPI HWND WINAPI CreateDialogParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
+WINUSERAPI HICON WINAPI CreateIcon (HINSTANCE, int, int, BYTE, BYTE, const BYTE *, const BYTE *);
+WINUSERAPI HICON WINAPI CreateIconFromResource (PBYTE, DWORD, BOOL, DWORD);
+WINUSERAPI HICON WINAPI CreateIconFromResourceEx (PBYTE, DWORD, BOOL, DWORD, int, int, UINT);
+WINUSERAPI HICON WINAPI CreateIconIndirect (PICONINFO);
+WINUSERAPI HWND WINAPI CreateMDIWindowA (LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM);
+WINUSERAPI HWND WINAPI CreateMDIWindowW (LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM);
+WINUSERAPI HMENU WINAPI CreateMenu (void);
+WINUSERAPI HMENU WINAPI CreatePopupMenu (void);
+#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k) CreateWindowExA (0, a, b, c, d, e, f, g, h, i, j, k)
+#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k) CreateWindowExW (0, a, b, c, d, e, f, g, h, i, j, k)
+WINUSERAPI HWND WINAPI CreateWindowExA (DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID);
+WINUSERAPI HWND WINAPI CreateWindowExW (DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID);
+WINUSERAPI HWINSTA WINAPI CreateWindowStationA (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+WINUSERAPI HWINSTA WINAPI CreateWindowStationW (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+WINUSERAPI LRESULT WINAPI DefDlgProcA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI DefDlgProcW (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI HDWP WINAPI DeferWindowPos (HDWP, HWND, HWND, int, int, int, int, UINT);
+WINUSERAPI LRESULT WINAPI DefFrameProcA (HWND, HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI DefFrameProcW (HWND, HWND, UINT, WPARAM, LPARAM);
+#define DefHookProc(c, p, lp, h)       CallNextHookEx ((HHOOK)(*(h)), c, p, lp)
+WINUSERAPI LRESULT WINAPI DefMDIChildProcA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI DefMDIChildProcW (HWND, UINT, WPARAM, LPARAM);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI LRESULT WINAPI DefRawInputProc (PRAWINPUT *, INT, UINT);
 #endif
-WINUSERAPI LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI DeregisterShellHookWindow(HWND);
-WINUSERAPI BOOL WINAPI DestroyAcceleratorTable(HACCEL);
-WINUSERAPI BOOL WINAPI DestroyCaret(void);
-WINUSERAPI BOOL WINAPI DestroyCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI DestroyIcon(HICON);
-WINUSERAPI BOOL WINAPI DestroyMenu(HMENU);
-WINUSERAPI BOOL WINAPI DestroyWindow(HWND);
-#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0)
-#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0)
-#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0)
-#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
-WINUSERAPI int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
+
+WINUSERAPI LRESULT WINAPI DefWindowProcA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI LRESULT WINAPI DefWindowProcW (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI DeleteMenu (HMENU, UINT, UINT);
+WINUSERAPI BOOL WINAPI DeregisterShellHookWindow (HWND);
+WINUSERAPI BOOL WINAPI DestroyAcceleratorTable (HACCEL);
+WINUSERAPI BOOL WINAPI DestroyCaret (void);
+WINUSERAPI BOOL WINAPI DestroyCursor (HCURSOR);
+WINUSERAPI BOOL WINAPI DestroyIcon (HICON);
+WINUSERAPI BOOL WINAPI DestroyMenu (HMENU);
+WINUSERAPI BOOL WINAPI DestroyWindow (HWND);
+#define DialogBoxA(i, t, p, f) DialogBoxParamA (i, t, p, f, 0)
+#define DialogBoxW(i, t, p, f) DialogBoxParamW (i, t, p, f, 0)
+#define DialogBoxIndirectA(i, t, p, f) DialogBoxIndirectParamA (i, t, p, f, 0)
+#define DialogBoxIndirectW(i, t, p, f) DialogBoxIndirectParamW (i, t, p, f, 0)
+WINUSERAPI int WINAPI DialogBoxIndirectParamA (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+WINUSERAPI int WINAPI DialogBoxIndirectParamW (HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+
 #ifdef _WIN32_WCE
-extern int DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-extern int DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
+extern int DialogBoxParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
+extern int DialogBoxParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
 #else
-WINUSERAPI int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
+WINUSERAPI int WINAPI DialogBoxParamA (HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM);
+WINUSERAPI int WINAPI DialogBoxParamW (HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM);
 #endif
-WINUSERAPI LONG WINAPI DispatchMessageA(const MSG*);
-WINUSERAPI LONG WINAPI DispatchMessageW(const MSG*);
-WINUSERAPI int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DragDetect(HWND,POINT);
-WINUSERAPI DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
-WINUSERAPI BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT);
-WINUSERAPI BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawFocusRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawIcon(HDC,int,int,HICON);
-WINUSERAPI BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT);
-WINUSERAPI BOOL WINAPI DrawMenuBar(HWND);
-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);
-WINUSERAPI int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI BOOL WINAPI EmptyClipboard(void);
-WINUSERAPI BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableScrollBar(HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableWindow(HWND,BOOL);
-WINUSERAPI BOOL WINAPI EndDeferWindowPos(HDWP);
-WINUSERAPI BOOL WINAPI EndDialog(HWND,int);
-WINUSERAPI BOOL WINAPI EndMenu(void);
-WINUSERAPI BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI EndTask(HWND,BOOL,BOOL);
+
+WINUSERAPI LONG WINAPI DispatchMessageA (const MSG *);
+WINUSERAPI LONG WINAPI DispatchMessageW (const MSG *);
+WINUSERAPI int WINAPI DlgDirListA (HWND, LPSTR, int, int, UINT);
+WINUSERAPI int WINAPI DlgDirListW (HWND, LPWSTR, int, int, UINT);
+WINUSERAPI int WINAPI DlgDirListComboBoxA (HWND, LPSTR, int, int, UINT);
+WINUSERAPI int WINAPI DlgDirListComboBoxW (HWND, LPWSTR, int, int, UINT);
+WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExA (HWND, LPSTR, int, int);
+WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExW (HWND, LPWSTR, int, int);
+WINUSERAPI BOOL WINAPI DlgDirSelectExA (HWND, LPSTR, int, int);
+WINUSERAPI BOOL WINAPI DlgDirSelectExW (HWND, LPWSTR, int, int);
+WINUSERAPI BOOL WINAPI DragDetect (HWND, POINT);
+WINUSERAPI DWORD WINAPI DragObject (HWND, HWND, UINT, DWORD, HCURSOR);
+WINUSERAPI BOOL WINAPI DrawAnimatedRects (HWND, int, LPCRECT, LPCRECT);
+WINUSERAPI BOOL WINAPI DrawCaption (HWND, HDC, LPCRECT, UINT);
+WINUSERAPI BOOL WINAPI DrawEdge (HDC, LPRECT, UINT, UINT);
+WINUSERAPI BOOL WINAPI DrawFocusRect (HDC, LPCRECT);
+WINUSERAPI BOOL WINAPI DrawFrameControl (HDC, LPRECT, UINT, UINT);
+WINUSERAPI BOOL WINAPI DrawIcon (HDC, int, int, HICON);
+WINUSERAPI BOOL WINAPI DrawIconEx (HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT);
+WINUSERAPI BOOL WINAPI DrawMenuBar (HWND);
+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);
+WINUSERAPI int WINAPI DrawTextA (HDC, LPCSTR, int, LPRECT, UINT);
+WINUSERAPI int WINAPI DrawTextW (HDC, LPCWSTR, int, LPRECT, UINT);
+WINUSERAPI int WINAPI DrawTextExA (HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+WINUSERAPI int WINAPI DrawTextExW (HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+WINUSERAPI BOOL WINAPI EmptyClipboard (void);
+WINUSERAPI BOOL WINAPI EnableMenuItem (HMENU, UINT, UINT);
+WINUSERAPI BOOL WINAPI EnableScrollBar (HWND, UINT, UINT);
+WINUSERAPI BOOL WINAPI EnableWindow (HWND, BOOL);
+WINUSERAPI BOOL WINAPI EndDeferWindowPos (HDWP);
+WINUSERAPI BOOL WINAPI EndDialog (HWND, int);
+WINUSERAPI BOOL WINAPI EndMenu (void);
+WINUSERAPI BOOL WINAPI EndPaint (HWND, const PAINTSTRUCT *);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI EndTask (HWND, BOOL, BOOL);
 #endif
-WINUSERAPI BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT);
-WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
+
+WINUSERAPI BOOL WINAPI EnumChildWindows (HWND, ENUMWINDOWSPROC, LPARAM);
+WINUSERAPI UINT WINAPI EnumClipboardFormats (UINT);
+WINUSERAPI BOOL WINAPI EnumDesktopsA (HWINSTA, DESKTOPENUMPROCA, LPARAM);
+WINUSERAPI BOOL WINAPI EnumDesktopsW (HWINSTA, DESKTOPENUMPROCW, LPARAM);
+WINUSERAPI BOOL WINAPI EnumDesktopWindows (HDESK, ENUMWINDOWSPROC, LPARAM);
+WINUSERAPI BOOL WINAPI EnumDisplayMonitors (HDC, LPCRECT, MONITORENUMPROC, LPARAM);
+
 #ifndef NOGDI
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsA (LPCSTR, DWORD, PDEVMODEA);
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsW (LPCWSTR, DWORD, PDEVMODEW);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA (LPCSTR, DWORD, LPDEVMODEA, DWORD);
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW (LPCWSTR, DWORD, LPDEVMODEW, DWORD);
 #endif
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD);
+
+WINUSERAPI BOOL WINAPI EnumDisplayDevicesA (LPCSTR, DWORD, PDISPLAY_DEVICEA, DWORD);
+WINUSERAPI BOOL WINAPI EnumDisplayDevicesW (LPCWSTR, DWORD, PDISPLAY_DEVICEW, DWORD);
 #endif
-WINUSERAPI int WINAPI EnumPropsA(HWND,PROPENUMPROCA);
-WINUSERAPI int WINAPI EnumPropsW(HWND,PROPENUMPROCW);
-WINUSERAPI int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
-WINUSERAPI int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
-#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p)
-WINUSERAPI BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EqualRect(LPCRECT,LPCRECT);
-#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
-WINUSERAPI BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-WINUSERAPI HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
-WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
-WINUSERAPI BOOL WINAPI FlashWindow(HWND,BOOL);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI FlashWindowEx(PFLASHWINFO);
+
+WINUSERAPI int WINAPI EnumPropsA (HWND, PROPENUMPROCA);
+WINUSERAPI int WINAPI EnumPropsW (HWND, PROPENUMPROCW);
+WINUSERAPI int WINAPI EnumPropsExA (HWND, PROPENUMPROCEXA, LPARAM);
+WINUSERAPI int WINAPI EnumPropsExW (HWND, PROPENUMPROCEXW, LPARAM);
+#define EnumTaskWindows(h, f, p) EnumThreadWindows ((DWORD)h, f, p)
+WINUSERAPI BOOL WINAPI EnumThreadWindows (DWORD, WNDENUMPROC, LPARAM);
+WINUSERAPI BOOL WINAPI EnumWindows (WNDENUMPROC, LPARAM);
+WINUSERAPI BOOL WINAPI EnumWindowStationsA (WINSTAENUMPROCA, LPARAM);
+WINUSERAPI BOOL WINAPI EnumWindowStationsW (WINSTAENUMPROCW, LPARAM);
+WINUSERAPI BOOL WINAPI EqualRect (LPCRECT, LPCRECT);
+#define ExitWindows(r, c) ExitWindowsEx (EWX_LOGOFF, 0)
+WINUSERAPI BOOL WINAPI ExitWindowsEx (UINT, DWORD);
+WINUSERAPI HWND WINAPI FindWindowA (LPCSTR, LPCSTR);
+WINUSERAPI HWND WINAPI FindWindowExA (HWND, HWND, LPCSTR, LPCSTR);
+WINUSERAPI HWND WINAPI FindWindowExW (HWND, HWND, LPCWSTR, LPCWSTR);
+WINUSERAPI HWND WINAPI FindWindowW (LPCWSTR, LPCWSTR);
+WINUSERAPI BOOL WINAPI FlashWindow (HWND, BOOL);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI BOOL WINAPI FlashWindowEx (PFLASHWINFO);
 #endif
-int WINAPI FrameRect(HDC,LPCRECT,HBRUSH);
-WINUSERAPI BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int);
-WINUSERAPI HWND WINAPI GetActiveWindow(void);
-WINUSERAPI HWND WINAPI GetAncestor(HWND,UINT);
-WINUSERAPI SHORT WINAPI GetAsyncKeyState(int);
-WINUSERAPI HWND WINAPI GetCapture(void);
-WINUSERAPI UINT WINAPI GetCaretBlinkTime(void);
-WINUSERAPI BOOL WINAPI GetCaretPos(LPPOINT);
-WINUSERAPI BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,LPWNDCLASSA);
-WINUSERAPI BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,LPWNDCLASSEXA);
-WINUSERAPI BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
-WINUSERAPI BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
-WINUSERAPI DWORD WINAPI GetClassLongA(HWND,int);
-WINUSERAPI DWORD WINAPI GetClassLongW(HWND,int);
+
+int WINAPI FrameRect (HDC, LPCRECT, HBRUSH);
+WINUSERAPI BOOL WINAPI FrameRgn (HDC, HRGN, HBRUSH, int, int);
+WINUSERAPI HWND WINAPI GetActiveWindow (void);
+WINUSERAPI HWND WINAPI GetAncestor (HWND, UINT);
+WINUSERAPI SHORT WINAPI GetAsyncKeyState (int);
+WINUSERAPI HWND WINAPI GetCapture (void);
+WINUSERAPI UINT WINAPI GetCaretBlinkTime (void);
+WINUSERAPI BOOL WINAPI GetCaretPos (LPPOINT);
+WINUSERAPI BOOL WINAPI GetClassInfoA (HINSTANCE, LPCSTR, LPWNDCLASSA);
+WINUSERAPI BOOL WINAPI GetClassInfoExA (HINSTANCE, LPCSTR, LPWNDCLASSEXA);
+WINUSERAPI BOOL WINAPI GetClassInfoW (HINSTANCE, LPCWSTR, LPWNDCLASSW);
+WINUSERAPI BOOL WINAPI GetClassInfoExW (HINSTANCE, LPCWSTR, LPWNDCLASSEXW);
+WINUSERAPI DWORD WINAPI GetClassLongA (HWND, int);
+WINUSERAPI DWORD WINAPI GetClassLongW (HWND, int);
+
 #ifdef _WIN64
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND,int);
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND,int);
+WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA (HWND, int);
+WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW (HWND, int);
 #else
 #define GetClassLongPtrA GetClassLongA
 #define GetClassLongPtrW GetClassLongW
 #endif
-WINUSERAPI int WINAPI GetClassNameA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetClassNameW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetClassWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetClientRect(HWND,LPRECT);
-WINUSERAPI HANDLE WINAPI GetClipboardData(UINT);
-WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int);
-WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int);
-WINUSERAPI HWND WINAPI GetClipboardOwner(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(void);
+
+WINUSERAPI int WINAPI GetClassNameA (HWND, LPSTR, int);
+WINUSERAPI int WINAPI GetClassNameW (HWND, LPWSTR, int);
+WINUSERAPI WORD WINAPI GetClassWord (HWND, int);
+WINUSERAPI BOOL WINAPI GetClientRect (HWND, LPRECT);
+WINUSERAPI HANDLE WINAPI GetClipboardData (UINT);
+WINUSERAPI int WINAPI GetClipboardFormatNameA (UINT, LPSTR, int);
+WINUSERAPI int WINAPI GetClipboardFormatNameW (UINT, LPWSTR, int);
+WINUSERAPI HWND WINAPI GetClipboardOwner (void);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber (void);
 #endif
-HWND WINAPI GetClipboardViewer(void);
-WINUSERAPI BOOL WINAPI GetClipCursor(LPRECT);
-WINUSERAPI BOOL WINAPI GetCursorPos(LPPOINT);
-WINUSERAPI HDC WINAPI GetDC(HWND);
-WINUSERAPI HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
-WINUSERAPI HWND WINAPI GetDesktopWindow(void);
-WINUSERAPI long WINAPI GetDialogBaseUnits(void);
-WINUSERAPI int WINAPI GetDlgCtrlID(HWND);
-WINUSERAPI HWND WINAPI GetDlgItem(HWND,int);
-WINUSERAPI UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL);
-WINUSERAPI UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int);
-WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int);
-WINUSERAPI UINT WINAPI GetDoubleClickTime(void);
-WINUSERAPI HWND WINAPI GetFocus(void);
-WINUSERAPI HWND WINAPI GetForegroundWindow(void);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
+
+HWND WINAPI GetClipboardViewer (void);
+WINUSERAPI BOOL WINAPI GetClipCursor (LPRECT);
+WINUSERAPI BOOL WINAPI GetCursorPos (LPPOINT);
+WINUSERAPI HDC WINAPI GetDC (HWND);
+WINUSERAPI HDC WINAPI GetDCEx (HWND, HRGN, DWORD);
+WINUSERAPI HWND WINAPI GetDesktopWindow (void);
+WINUSERAPI long WINAPI GetDialogBaseUnits (void);
+WINUSERAPI int WINAPI GetDlgCtrlID (HWND);
+WINUSERAPI HWND WINAPI GetDlgItem (HWND, int);
+WINUSERAPI UINT WINAPI GetDlgItemInt (HWND, int, PBOOL, BOOL);
+WINUSERAPI UINT WINAPI GetDlgItemTextA (HWND, int, LPSTR, int);
+WINUSERAPI UINT WINAPI GetDlgItemTextW (HWND, int, LPWSTR, int);
+WINUSERAPI UINT WINAPI GetDoubleClickTime (void);
+WINUSERAPI HWND WINAPI GetFocus (void);
+WINUSERAPI HWND WINAPI GetForegroundWindow (void);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI DWORD WINAPI GetGuiResources (HANDLE, DWORD);
 #endif
-WINUSERAPI BOOL WINAPI GetIconInfo(HICON,PICONINFO);
-WINUSERAPI BOOL WINAPI GetInputState(void);
-WINUSERAPI UINT WINAPI GetKBCodePage(void);
-WINUSERAPI HKL WINAPI GetKeyboardLayout(DWORD);
-WINUSERAPI UINT WINAPI GetKeyboardLayoutList(int,HKL*);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameA(LPSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardState(PBYTE);
-WINUSERAPI int WINAPI GetKeyboardType(int);
-WINUSERAPI int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
-WINUSERAPI int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
-WINUSERAPI SHORT WINAPI GetKeyState(int);
-WINUSERAPI HWND WINAPI GetLastActivePopup(HWND);
-WINUSERAPI HMENU WINAPI GetMenu(HWND);
-WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(void);
-WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
-WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuItemCount(HMENU);
-WINUSERAPI UINT WINAPI GetMenuItemID(HMENU,int);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW);
-WINUSERAPI BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
-WINUSERAPI UINT WINAPI GetMenuState(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT);
-WINUSERAPI int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT);
-WINUSERAPI BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
-WINUSERAPI LONG WINAPI GetMessageExtraInfo(void);
-WINUSERAPI DWORD WINAPI GetMessagePos(void);
-WINUSERAPI LONG WINAPI GetMessageTime(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT,LPMOUSEMOVEPOINT,LPMOUSEMOVEPOINT,int,DWORD);
+
+WINUSERAPI BOOL WINAPI GetIconInfo (HICON, PICONINFO);
+WINUSERAPI BOOL WINAPI GetInputState (void);
+WINUSERAPI UINT WINAPI GetKBCodePage (void);
+WINUSERAPI HKL WINAPI GetKeyboardLayout (DWORD);
+WINUSERAPI UINT WINAPI GetKeyboardLayoutList (int, HKL *);
+WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameA (LPSTR);
+WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameW (LPWSTR);
+WINUSERAPI BOOL WINAPI GetKeyboardState (PBYTE);
+WINUSERAPI int WINAPI GetKeyboardType (int);
+WINUSERAPI int WINAPI GetKeyNameTextA (LONG, LPSTR, int);
+WINUSERAPI int WINAPI GetKeyNameTextW (LONG, LPWSTR, int);
+WINUSERAPI SHORT WINAPI GetKeyState (int);
+WINUSERAPI HWND WINAPI GetLastActivePopup (HWND);
+WINUSERAPI HMENU WINAPI GetMenu (HWND);
+WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions (void);
+WINUSERAPI DWORD WINAPI GetMenuContextHelpId (HMENU);
+WINUSERAPI UINT WINAPI GetMenuDefaultItem (HMENU, UINT, UINT);
+WINUSERAPI int WINAPI GetMenuItemCount (HMENU);
+WINUSERAPI UINT WINAPI GetMenuItemID (HMENU, int);
+WINUSERAPI BOOL WINAPI GetMenuItemInfoA (HMENU, UINT, BOOL, LPMENUITEMINFOA);
+WINUSERAPI BOOL WINAPI GetMenuItemInfoW (HMENU, UINT, BOOL, LPMENUITEMINFOW);
+WINUSERAPI BOOL WINAPI GetMenuItemRect (HWND, HMENU, UINT, LPRECT);
+WINUSERAPI UINT WINAPI GetMenuState (HMENU, UINT, UINT);
+WINUSERAPI int WINAPI GetMenuStringA (HMENU, UINT, LPSTR, int, UINT);
+WINUSERAPI int WINAPI GetMenuStringW (HMENU, UINT, LPWSTR, int, UINT);
+WINUSERAPI BOOL WINAPI GetMessageA (LPMSG, HWND, UINT, UINT);
+WINUSERAPI BOOL WINAPI GetMessageW (LPMSG, HWND, UINT, UINT);
+WINUSERAPI LONG WINAPI GetMessageExtraInfo (void);
+WINUSERAPI DWORD WINAPI GetMessagePos (void);
+WINUSERAPI LONG WINAPI GetMessageTime (void);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
+WINUSERAPI int WINAPI GetMouseMovePointsEx (UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD);
 #endif
-WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
-WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
-#define GetNextWindow(h,c) GetWindow(h,c)
-WINUSERAPI HWND WINAPI GetOpenClipboardWindow(void);
-WINUSERAPI HWND WINAPI GetParent(HWND);
-WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT*,int);
-WINUSERAPI HANDLE WINAPI GetPropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI GetPropW(HWND,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT);
+
+WINUSERAPI HWND WINAPI GetNextDlgGroupItem (HWND, HWND, BOOL);
+WINUSERAPI HWND WINAPI GetNextDlgTabItem (HWND, HWND, BOOL);
+#define GetNextWindow(h, c) GetWindow (h, c)
+WINUSERAPI HWND WINAPI GetOpenClipboardWindow (void);
+WINUSERAPI HWND WINAPI GetParent (HWND);
+WINUSERAPI int WINAPI GetPriorityClipboardFormat (UINT *, int);
+WINUSERAPI HANDLE WINAPI GetPropA (HWND, LPCSTR);
+WINUSERAPI HANDLE WINAPI GetPropW (HWND, LPCWSTR);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI UINT WINAPI GetRawInputBuffer (PRAWINPUT, PUINT, UINT);
+WINUSERAPI UINT WINAPI GetRawInputData (HRAWINPUT, UINT, LPVOID, PUINT, UINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA (HANDLE, UINT, LPVOID, PUINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW (HANDLE, UINT, LPVOID, PUINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceList (PRAWINPUTDEVICELIST, PUINT, UINT);
+WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices (PRAWINPUTDEVICE, PUINT, UINT);
 #endif
-WINUSERAPI DWORD WINAPI GetQueueStatus(UINT);
-WINUSERAPI BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO);
-WINUSERAPI int WINAPI GetScrollPos(HWND,int);
-WINUSERAPI BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI HWND WINAPI GetShellWindow(void);
+
+WINUSERAPI DWORD WINAPI GetQueueStatus (UINT);
+WINUSERAPI BOOL WINAPI GetScrollInfo (HWND, int, LPSCROLLINFO);
+WINUSERAPI int WINAPI GetScrollPos (HWND, int);
+WINUSERAPI BOOL WINAPI GetScrollRange (HWND, int, LPINT, LPINT);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI HWND WINAPI GetShellWindow (void);
 #endif
-WINUSERAPI HMENU WINAPI GetSubMenu(HMENU,int);
-WINUSERAPI DWORD WINAPI GetSysColor(int);
-WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int);
+
+WINUSERAPI HMENU WINAPI GetSubMenu (HMENU, int);
+WINUSERAPI DWORD WINAPI GetSysColor (int);
+WINUSERAPI HBRUSH WINAPI GetSysColorBrush (int);
 #define GetSysModalWindow() (NULL)
-WINUSERAPI HMENU WINAPI GetSystemMenu(HWND,BOOL);
-WINUSERAPI int WINAPI GetSystemMetrics(int);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
-WINUSERAPI LONG WINAPI GetWindowLongA(HWND,int);
-WINUSERAPI LONG WINAPI GetWindowLongW(HWND,int);
+WINUSERAPI HMENU WINAPI GetSystemMenu (HWND, BOOL);
+WINUSERAPI int WINAPI GetSystemMetrics (int);
+WINUSERAPI DWORD WINAPI GetTabbedTextExtentA (HDC, LPCSTR, int, int, LPINT);
+WINUSERAPI DWORD WINAPI GetTabbedTextExtentW (HDC, LPCWSTR, int, int, LPINT);
+WINUSERAPI LONG WINAPI GetWindowLongA (HWND, int);
+WINUSERAPI LONG WINAPI GetWindowLongW (HWND, int);
+
 #ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND,int);
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
+WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA (HWND, int);
+WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW (HWND, int);
 #else
 #define GetWindowLongPtrA GetWindowLongA
 #define GetWindowLongPtrW GetWindowLongW
 #endif
-WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD);
-WINUSERAPI HWND WINAPI GetTopWindow(HWND);
-WINUSERAPI BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
-WINUSERAPI int WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINUSERAPI HWND WINAPI GetWindow(HWND,UINT);
-WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
-WINUSERAPI HDC WINAPI GetWindowDC(HWND);
-WINUSERAPI BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI GetWindowRect(HWND,LPRECT);
-WINUSERAPI int WINAPI GetWindowRgn(HWND,HRGN);
-#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-WINUSERAPI int WINAPI GetWindowTextA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetWindowTextLengthA(HWND);
-WINUSERAPI int WINAPI GetWindowTextLengthW(HWND);
-WINUSERAPI int WINAPI GetWindowTextW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetWindowWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
-WINUSERAPI BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
-WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
+
+WINUSERAPI HDESK WINAPI GetThreadDesktop (DWORD);
+WINUSERAPI HWND WINAPI GetTopWindow (HWND);
+WINUSERAPI BOOL WINAPI GetUpdateRect (HWND, LPRECT, BOOL);
+WINUSERAPI int WINAPI GetUpdateRgn (HWND, HRGN, BOOL);
+WINUSERAPI BOOL WINAPI GetUserObjectInformationA (HANDLE, int, PVOID, DWORD, PDWORD);
+WINUSERAPI BOOL WINAPI GetUserObjectInformationW (HANDLE, int, PVOID, DWORD, PDWORD);
+WINUSERAPI BOOL WINAPI GetUserObjectSecurity (HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
+WINUSERAPI HWND WINAPI GetWindow (HWND, UINT);
+WINUSERAPI DWORD WINAPI GetWindowContextHelpId (HWND);
+WINUSERAPI HDC WINAPI GetWindowDC (HWND);
+WINUSERAPI BOOL WINAPI GetWindowPlacement (HWND, WINDOWPLACEMENT *);
+WINUSERAPI BOOL WINAPI GetWindowRect (HWND, LPRECT);
+WINUSERAPI int WINAPI GetWindowRgn (HWND, HRGN);
+#define GetWindowTask(hWnd)    ((HANDLE)(GetWindowThreadProcessId(hWnd, NULL)))
+WINUSERAPI int WINAPI GetWindowTextA (HWND, LPSTR, int);
+WINUSERAPI int WINAPI GetWindowTextLengthA (HWND);
+WINUSERAPI int WINAPI GetWindowTextLengthW (HWND);
+WINUSERAPI int WINAPI GetWindowTextW (HWND, LPWSTR, int);
+WINUSERAPI WORD WINAPI GetWindowWord (HWND, int);
+WINUSERAPI BOOL WINAPI GetAltTabInfoA (HWND, int, PALTTABINFO, LPSTR, UINT);
+WINUSERAPI BOOL WINAPI GetAltTabInfoW (HWND, int, PALTTABINFO, LPWSTR, UINT);
+WINUSERAPI BOOL WINAPI GetComboBoxInfo (HWND, PCOMBOBOXINFO);
+WINUSERAPI BOOL WINAPI GetCursorInfo (PCURSORINFO);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI GetGUIThreadInfo (DWORD, LPGUITHREADINFO);
 #endif
-WINUSERAPI BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
-WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND);
-WINUSERAPI BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
-WINUSERAPI BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
+
+WINUSERAPI BOOL WINAPI GetLastInputInfo (PLASTINPUTINFO);
+WINUSERAPI DWORD WINAPI GetListBoxInfo (HWND);
+WINUSERAPI BOOL WINAPI GetMenuBarInfo (HWND, LONG, LONG, PMENUBARINFO);
+WINUSERAPI BOOL WINAPI GetMenuInfo (HMENU, LPMENUINFO);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI GetProcessDefaultLayout (DWORD *);
 #endif
-WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
-#if (_WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
+
+WINUSERAPI BOOL WINAPI GetScrollBarInfo (HWND, LONG, PSCROLLBARINFO);
+
+#if _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI BOOL WINAPI GetTitleBarInfo (HWND, PTITLEBARINFO);
 #endif
-WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI HideCaret(HWND);
-WINUSERAPI BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI InflateRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI InSendMessage(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
+
+WINUSERAPI BOOL WINAPI GetWindowInfo (HWND, PWINDOWINFO);
+WINUSERAPI BOOL WINAPI GetMonitorInfoA (HMONITOR, LPMONITORINFO);
+WINUSERAPI BOOL WINAPI GetMonitorInfoW (HMONITOR, LPMONITORINFO);
+WINUSERAPI UINT WINAPI GetWindowModuleFileNameA (HWND, LPSTR, UINT);
+WINUSERAPI UINT WINAPI GetWindowModuleFileNameW (HWND, LPWSTR, UINT);
+WINUSERAPI BOOL WINAPI GrayStringA (HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
+WINUSERAPI BOOL WINAPI GrayStringW (HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
+WINUSERAPI BOOL WINAPI HideCaret (HWND);
+WINUSERAPI BOOL WINAPI HiliteMenuItem (HWND, HMENU, UINT, UINT);
+WINUSERAPI BOOL WINAPI InflateRect (LPRECT, int, int);
+WINUSERAPI BOOL WINAPI InSendMessage (void);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI DWORD WINAPI InSendMessageEx (LPVOID);
 #endif
-WINUSERAPI BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-WINUSERAPI BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
-WINUSERAPI BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
-WINUSERAPI BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI InvertRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI IsCharAlphaA(CHAR ch);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperW(WCHAR);
-WINUSERAPI BOOL WINAPI IsChild(HWND,HWND);
-WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable(UINT);
-WINUSERAPI BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
-WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND,int);
-#if(_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
+
+WINUSERAPI BOOL WINAPI InsertMenuA (HMENU, UINT, UINT, UINT, LPCSTR);
+WINUSERAPI BOOL WINAPI InsertMenuW (HMENU, UINT, UINT, UINT, LPCWSTR);
+WINUSERAPI BOOL WINAPI InsertMenuItemA (HMENU, UINT, BOOL, LPCMENUITEMINFOA);
+WINUSERAPI BOOL WINAPI InsertMenuItemW (HMENU, UINT, BOOL, LPCMENUITEMINFOW);
+WINUSERAPI INT WINAPI InternalGetWindowText (HWND, LPWSTR, INT);
+WINUSERAPI BOOL WINAPI IntersectRect (LPRECT, LPCRECT, LPCRECT);
+WINUSERAPI BOOL WINAPI InvalidateRect (HWND, LPCRECT, BOOL);
+WINUSERAPI BOOL WINAPI InvalidateRgn (HWND, HRGN, BOOL);
+WINUSERAPI BOOL WINAPI InvertRect (HDC, LPCRECT);
+WINUSERAPI BOOL WINAPI IsCharAlphaA (CHAR ch);
+WINUSERAPI BOOL WINAPI IsCharAlphaNumericA (CHAR);
+WINUSERAPI BOOL WINAPI IsCharAlphaNumericW (WCHAR);
+WINUSERAPI BOOL WINAPI IsCharAlphaW (WCHAR);
+WINUSERAPI BOOL WINAPI IsCharLowerA (CHAR);
+WINUSERAPI BOOL WINAPI IsCharLowerW (WCHAR);
+WINUSERAPI BOOL WINAPI IsCharUpperA (CHAR);
+WINUSERAPI BOOL WINAPI IsCharUpperW (WCHAR);
+WINUSERAPI BOOL WINAPI IsChild (HWND, HWND);
+WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable (UINT);
+WINUSERAPI BOOL WINAPI IsDialogMessageA (HWND, LPMSG);
+WINUSERAPI BOOL WINAPI IsDialogMessageW (HWND, LPMSG);
+WINUSERAPI UINT WINAPI IsDlgButtonChecked (HWND, int);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI BOOL WINAPI IsGUIThread (BOOL);
 #endif
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI IsHungAppWindow (HWND);
 #endif
-WINUSERAPI BOOL WINAPI IsIconic(HWND);
-WINUSERAPI BOOL WINAPI IsMenu(HMENU);
-WINUSERAPI BOOL WINAPI IsRectEmpty(LPCRECT);
-WINUSERAPI BOOL WINAPI IsWindow(HWND);
-WINUSERAPI BOOL WINAPI IsWindowEnabled(HWND);
-WINUSERAPI BOOL WINAPI IsWindowUnicode(HWND);
-WINUSERAPI BOOL WINAPI IsWindowVisible(HWND);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD);
+
+WINUSERAPI BOOL WINAPI IsIconic (HWND);
+WINUSERAPI BOOL WINAPI IsMenu (HMENU);
+WINUSERAPI BOOL WINAPI IsRectEmpty (LPCRECT);
+WINUSERAPI BOOL WINAPI IsWindow (HWND);
+WINUSERAPI BOOL WINAPI IsWindowEnabled (HWND);
+WINUSERAPI BOOL WINAPI IsWindowUnicode (HWND);
+WINUSERAPI BOOL WINAPI IsWindowVisible (HWND);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI BOOL WINAPI IsWinEventHookInstalled (DWORD);
 #endif
-WINUSERAPI BOOL WINAPI IsZoomed(HWND);
-WINUSERAPI VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
-WINUSERAPI BOOL WINAPI KillTimer(HWND,UINT);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
-WINUSERAPI HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
-WINUSERAPI HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
-WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT);
-WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
-WINUSERAPI HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
-WINUSERAPI int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int);
-WINUSERAPI int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int);
-WINUSERAPI BOOL WINAPI LockWindowUpdate(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI LockWorkStation(void);
+
+WINUSERAPI BOOL WINAPI IsZoomed (HWND);
+WINUSERAPI VOID WINAPI keybd_event (BYTE, BYTE, DWORD, DWORD);
+WINUSERAPI BOOL WINAPI KillTimer (HWND, UINT_PTR);
+WINUSERAPI HACCEL WINAPI LoadAcceleratorsA (HINSTANCE, LPCSTR);
+WINUSERAPI HACCEL WINAPI LoadAcceleratorsW (HINSTANCE, LPCWSTR);
+WINUSERAPI HBITMAP WINAPI LoadBitmapA (HINSTANCE, LPCSTR);
+WINUSERAPI HBITMAP WINAPI LoadBitmapW (HINSTANCE, LPCWSTR);
+WINUSERAPI HCURSOR WINAPI LoadCursorA (HINSTANCE, LPCSTR);
+WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA (LPCSTR);
+WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW (LPCWSTR);
+WINUSERAPI HCURSOR WINAPI LoadCursorW (HINSTANCE, LPCWSTR);
+WINUSERAPI HICON WINAPI LoadIconA (HINSTANCE, LPCSTR);
+WINUSERAPI HICON WINAPI LoadIconW (HINSTANCE, LPCWSTR);
+WINUSERAPI HANDLE WINAPI LoadImageA (HINSTANCE, LPCSTR, UINT, int, int, UINT);
+WINUSERAPI HANDLE WINAPI LoadImageW (HINSTANCE, LPCWSTR, UINT, int, int, UINT);
+WINUSERAPI HKL WINAPI LoadKeyboardLayoutA (LPCSTR, UINT);
+WINUSERAPI HKL WINAPI LoadKeyboardLayoutW (LPCWSTR, UINT);
+WINUSERAPI HMENU WINAPI LoadMenuA (HINSTANCE, LPCSTR);
+WINUSERAPI HMENU WINAPI LoadMenuIndirectA (const MENUTEMPLATE *);
+WINUSERAPI HMENU WINAPI LoadMenuIndirectW (const MENUTEMPLATE *);
+WINUSERAPI HMENU WINAPI LoadMenuW (HINSTANCE, LPCWSTR);
+WINUSERAPI int WINAPI LoadStringA (HINSTANCE, UINT, LPSTR, int);
+WINUSERAPI int WINAPI LoadStringW (HINSTANCE, UINT, LPWSTR, int);
+WINUSERAPI BOOL WINAPI LockWindowUpdate (HWND);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI LockWorkStation (void);
 #endif
-WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL);
-WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
-WINUSERAPI BOOL WINAPI MapDialogRect(HWND,LPRECT);
-WINUSERAPI UINT WINAPI MapVirtualKeyA(UINT,UINT);
-WINUSERAPI UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyW(UINT,UINT);
-WINUSERAPI int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
-WINUSERAPI int WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
-WINUSERAPI BOOL WINAPI MessageBeep(UINT);
-WINUSERAPI int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA*);
-WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW*);
-WINUSERAPI BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
+
+WINUSERAPI int WINAPI LookupIconIdFromDirectory (PBYTE, BOOL);
+WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx (PBYTE, BOOL, int, int, UINT);
+WINUSERAPI BOOL WINAPI MapDialogRect (HWND, LPRECT);
+WINUSERAPI UINT WINAPI MapVirtualKeyA (UINT, UINT);
+WINUSERAPI UINT WINAPI MapVirtualKeyExA (UINT, UINT, HKL);
+WINUSERAPI UINT WINAPI MapVirtualKeyExW (UINT, UINT, HKL);
+WINUSERAPI UINT WINAPI MapVirtualKeyW (UINT, UINT);
+WINUSERAPI int WINAPI MapWindowPoints (HWND, HWND, LPPOINT, UINT);
+WINUSERAPI int WINAPI MenuItemFromPoint (HWND, HMENU, POINT);
+WINUSERAPI BOOL WINAPI MessageBeep (UINT);
+WINUSERAPI int WINAPI MessageBoxA (HWND, LPCSTR, LPCSTR, UINT);
+WINUSERAPI int WINAPI MessageBoxW (HWND, LPCWSTR, LPCWSTR, UINT);
+WINUSERAPI int WINAPI MessageBoxExA (HWND, LPCSTR, LPCSTR, UINT, WORD);
+WINUSERAPI int WINAPI MessageBoxExW (HWND, LPCWSTR, LPCWSTR, UINT, WORD);
+WINUSERAPI int WINAPI MessageBoxIndirectA (CONST MSGBOXPARAMSA *);
+WINUSERAPI int WINAPI MessageBoxIndirectW (CONST MSGBOXPARAMSW *);
+WINUSERAPI BOOL WINAPI ModifyMenuA (HMENU, UINT, UINT, UINT, LPCSTR);
+WINUSERAPI BOOL WINAPI ModifyMenuW (HMENU, UINT, UINT, UINT, LPCWSTR);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI HMONITOR WINAPI MonitorFromPoint (POINT, DWORD);
+WINUSERAPI HMONITOR WINAPI MonitorFromRect (LPCRECT, DWORD);
+WINUSERAPI HMONITOR WINAPI MonitorFromWindow (HWND, DWORD);
 #endif
-WINUSERAPI void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,ULONG_PTR);
-WINUSERAPI BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
-#if (WINVER >= 0x0500)
-WINUSERAPI void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
+
+WINUSERAPI void WINAPI mouse_event (DWORD, DWORD, DWORD, DWORD, ULONG_PTR);
+WINUSERAPI BOOL WINAPI MoveWindow (HWND, int, int, int, int, BOOL);
+WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects (DWORD, CONST HANDLE *, BOOL, DWORD, DWORD);
+WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx (DWORD, CONST HANDLE *, DWORD, DWORD, DWORD);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI void WINAPI NotifyWinEvent (DWORD, HWND, LONG, LONG);
 #endif
-WINUSERAPI DWORD WINAPI OemKeyScan(WORD);
-WINUSERAPI BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
-WINUSERAPI BOOL WINAPI OffsetRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI OpenClipboard(HWND);
-WINUSERAPI HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD);
-WINUSERAPI HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI OpenIcon(HWND);
-WINUSERAPI HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI PaintDesktop(HDC);
-WINUSERAPI BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
-#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l)
-#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l)
-WINUSERAPI BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI void WINAPI PostQuitMessage(int);
-WINUSERAPI BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI PrintWindow(HWND,HDC,UINT);
+
+WINUSERAPI DWORD WINAPI OemKeyScan (WORD);
+WINUSERAPI BOOL WINAPI OemToCharA (LPCSTR, LPSTR);
+WINUSERAPI BOOL WINAPI OemToCharBuffA (LPCSTR, LPSTR, DWORD);
+WINUSERAPI BOOL WINAPI OemToCharBuffW (LPCSTR, LPWSTR, DWORD);
+WINUSERAPI BOOL WINAPI OemToCharW (LPCSTR, LPWSTR);
+WINUSERAPI BOOL WINAPI OffsetRect (LPRECT, int, int);
+WINUSERAPI BOOL WINAPI OpenClipboard (HWND);
+WINUSERAPI HDESK WINAPI OpenDesktopA (LPSTR, DWORD, BOOL, DWORD);
+WINUSERAPI HDESK WINAPI OpenDesktopW (LPWSTR, DWORD, BOOL, DWORD);
+WINUSERAPI BOOL WINAPI OpenIcon (HWND);
+WINUSERAPI HDESK WINAPI OpenInputDesktop (DWORD, BOOL, DWORD);
+WINUSERAPI HWINSTA WINAPI OpenWindowStationA (LPSTR, BOOL, DWORD);
+WINUSERAPI HWINSTA WINAPI OpenWindowStationW (LPWSTR, BOOL, DWORD);
+WINUSERAPI BOOL WINAPI PaintDesktop (HDC);
+WINUSERAPI BOOL WINAPI PeekMessageA (LPMSG, HWND, UINT, UINT, UINT);
+WINUSERAPI BOOL WINAPI PeekMessageW (LPMSG, HWND, UINT, UINT, UINT);
+#define PostAppMessageA(t, m, w, l) PostThreadMessageA ((DWORD)t, m, w, l)
+#define PostAppMessageW(t, m, w, l) PostThreadMessageW ((DWORD)t, m, w, l)
+WINUSERAPI BOOL WINAPI PostMessageA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI PostMessageW (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI void WINAPI PostQuitMessage (int);
+WINUSERAPI BOOL WINAPI PostThreadMessageA (DWORD, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI PostThreadMessageW (DWORD, UINT, WPARAM, LPARAM);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI BOOL WINAPI PrintWindow (HWND, HDC, UINT);
 #endif
-WINUSERAPI BOOL WINAPI PtInRect(LPCRECT,POINT);
-WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND,POINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT);
-WINUSERAPI ATOM WINAPI RegisterClassA(CONST WNDCLASSA*);
-WINUSERAPI ATOM WINAPI RegisterClassW(CONST WNDCLASSW*);
-WINUSERAPI ATOM WINAPI RegisterClassExA(CONST WNDCLASSEXA*);
-WINUSERAPI ATOM WINAPI RegisterClassExW(CONST WNDCLASSEXW*);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
+
+WINUSERAPI BOOL WINAPI PtInRect (LPCRECT, POINT);
+WINUSERAPI HWND WINAPI RealChildWindowFromPoint (HWND, POINT);
+WINUSERAPI UINT WINAPI RealGetWindowClassA (HWND, LPSTR, UINT);
+WINUSERAPI UINT WINAPI RealGetWindowClassW (HWND, LPWSTR, UINT);
+WINUSERAPI BOOL WINAPI RedrawWindow (HWND, LPCRECT, HRGN, UINT);
+WINUSERAPI ATOM WINAPI RegisterClassA (CONST WNDCLASSA *);
+WINUSERAPI ATOM WINAPI RegisterClassW (CONST WNDCLASSW *);
+WINUSERAPI ATOM WINAPI RegisterClassExA (CONST WNDCLASSEXA *);
+WINUSERAPI ATOM WINAPI RegisterClassExW (CONST WNDCLASSEXW *);
+WINUSERAPI UINT WINAPI RegisterClipboardFormatA (LPCSTR);
+WINUSERAPI UINT WINAPI RegisterClipboardFormatW (LPCWSTR);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA (HANDLE, LPVOID, DWORD);
+WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW (HANDLE, LPVOID, DWORD);
 #endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification (HANDLE, LPCGUID, DWORD);
 #endif
-WINUSERAPI BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
+
+WINUSERAPI BOOL WINAPI RegisterHotKey (HWND, int, UINT, UINT);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI BOOL WINAPI RegisterRawInputDevices (PCRAWINPUTDEVICE, UINT, UINT);
 #endif
-WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR);
-WINUSERAPI BOOL WINAPI ReleaseCapture(void);
-WINUSERAPI int WINAPI ReleaseDC(HWND,HDC);
-WINUSERAPI BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
-WINUSERAPI HANDLE WINAPI RemovePropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
-WINUSERAPI BOOL WINAPI ReplyMessage(LRESULT);
-WINUSERAPI BOOL WINAPI ScreenToClient(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT);
-WINUSERAPI BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
-WINUSERAPI int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
-WINUSERAPI LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
-WINUSERAPI LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0403)
-WINUSERAPI UINT WINAPI SendInput(UINT,LPINPUT,int);
+
+WINUSERAPI UINT WINAPI RegisterWindowMessageA (LPCSTR);
+WINUSERAPI UINT WINAPI RegisterWindowMessageW (LPCWSTR);
+WINUSERAPI BOOL WINAPI ReleaseCapture (void);
+WINUSERAPI int WINAPI ReleaseDC (HWND, HDC);
+WINUSERAPI BOOL WINAPI RemoveMenu (HMENU, UINT, UINT);
+WINUSERAPI HANDLE WINAPI RemovePropA (HWND, LPCSTR);
+WINUSERAPI HANDLE WINAPI RemovePropW (HWND, LPCWSTR);
+WINUSERAPI BOOL WINAPI ReplyMessage (LRESULT);
+WINUSERAPI BOOL WINAPI ScreenToClient (HWND, LPPOINT);
+WINUSERAPI BOOL WINAPI ScrollDC (HDC, int, int, LPCRECT, LPCRECT, HRGN, LPRECT);
+WINUSERAPI BOOL WINAPI ScrollWindow (HWND, int, int, LPCRECT, LPCRECT);
+WINUSERAPI int WINAPI ScrollWindowEx (HWND, int, int, LPCRECT, LPCRECT, HRGN, LPRECT, UINT);
+WINUSERAPI LONG WINAPI SendDlgItemMessageA (HWND, int, UINT, WPARAM, LPARAM);
+WINUSERAPI LONG WINAPI SendDlgItemMessageW (HWND, int, UINT, WPARAM, LPARAM);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4SP3
+WINUSERAPI UINT WINAPI SendInput (UINT, LPINPUT, int);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+BOOL WINAPI BlockInput(BOOL);
 #endif
-WINUSERAPI LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
-WINUSERAPI LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HWND WINAPI SetActiveWindow(HWND);
-WINUSERAPI HWND WINAPI SetCapture(HWND hWnd);
-WINUSERAPI BOOL WINAPI SetCaretBlinkTime(UINT);
-WINUSERAPI BOOL WINAPI SetCaretPos(int,int);
-WINUSERAPI DWORD WINAPI SetClassLongA(HWND,int,LONG);
-WINUSERAPI DWORD WINAPI SetClassLongW(HWND,int,LONG);
+#endif
+
+WINUSERAPI LRESULT WINAPI SendMessageA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI SendMessageCallbackA (HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
+WINUSERAPI BOOL WINAPI SendMessageCallbackW (HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
+WINUSERAPI LRESULT WINAPI SendMessageTimeoutA (HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR);
+WINUSERAPI LRESULT WINAPI SendMessageTimeoutW (HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR);
+WINUSERAPI LRESULT WINAPI SendMessageW (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI SendNotifyMessageA (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI BOOL WINAPI SendNotifyMessageW (HWND, UINT, WPARAM, LPARAM);
+WINUSERAPI HWND WINAPI SetActiveWindow (HWND);
+WINUSERAPI HWND WINAPI SetCapture (HWND hWnd);
+WINUSERAPI BOOL WINAPI SetCaretBlinkTime (UINT);
+WINUSERAPI BOOL WINAPI SetCaretPos (int, int);
+WINUSERAPI DWORD WINAPI SetClassLongA (HWND, int, LONG);
+WINUSERAPI DWORD WINAPI SetClassLongW (HWND, int, LONG);
+
 #ifdef _WIN64
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND,int,LONG_PTR);
+WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA (HWND, int, LONG_PTR);
+WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW (HWND, int, LONG_PTR);
 #else
 #define SetClassLongPtrA SetClassLongA
 #define SetClassLongPtrW SetClassLongW
 #endif
-WINUSERAPI WORD WINAPI SetClassWord(HWND,int,WORD);
-WINUSERAPI HANDLE WINAPI SetClipboardData(UINT,HANDLE);
-WINUSERAPI HWND WINAPI SetClipboardViewer(HWND);
-WINUSERAPI HCURSOR WINAPI SetCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI SetCursorPos(int,int);
-WINUSERAPI VOID WINAPI SetDebugErrorLevel(DWORD);
-WINUSERAPI BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL);
-WINUSERAPI BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR);
-WINUSERAPI BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR);
-WINUSERAPI BOOL WINAPI SetDoubleClickTime(UINT);
-WINUSERAPI HWND WINAPI SetFocus(HWND);
-WINUSERAPI BOOL WINAPI SetForegroundWindow(HWND);
-WINUSERAPI BOOL WINAPI SetKeyboardState(PBYTE);
-WINUSERAPI BOOL WINAPI SetMenu(HWND,HMENU);
-WINUSERAPI BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
-WINUSERAPI BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
-WINUSERAPI BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM);
-WINUSERAPI BOOL WINAPI SetMessageQueue(int);
-WINUSERAPI HWND WINAPI SetParent(HWND,HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SetProcessWindowStation(HWINSTA);
-WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetRect(LPRECT,int,int,int,int);
-WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT);
-WINUSERAPI int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL);
-WINUSERAPI int WINAPI SetScrollPos(HWND,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *);
+
+WINUSERAPI WORD WINAPI SetClassWord (HWND, int, WORD);
+WINUSERAPI HANDLE WINAPI SetClipboardData (UINT, HANDLE);
+WINUSERAPI HWND WINAPI SetClipboardViewer (HWND);
+WINUSERAPI HCURSOR WINAPI SetCursor (HCURSOR);
+WINUSERAPI BOOL WINAPI SetCursorPos (int, int);
+WINUSERAPI VOID WINAPI SetDebugErrorLevel (DWORD);
+WINUSERAPI BOOL WINAPI SetDlgItemInt (HWND, int, UINT, BOOL);
+WINUSERAPI BOOL WINAPI SetDlgItemTextA (HWND, int, LPCSTR);
+WINUSERAPI BOOL WINAPI SetDlgItemTextW (HWND, int, LPCWSTR);
+WINUSERAPI BOOL WINAPI SetDoubleClickTime (UINT);
+WINUSERAPI HWND WINAPI SetFocus (HWND);
+WINUSERAPI BOOL WINAPI SetForegroundWindow (HWND);
+WINUSERAPI BOOL WINAPI SetKeyboardState (PBYTE);
+WINUSERAPI BOOL WINAPI SetMenu (HWND, HMENU);
+WINUSERAPI BOOL WINAPI SetMenuContextHelpId (HMENU, DWORD);
+WINUSERAPI BOOL WINAPI SetMenuDefaultItem (HMENU, UINT, UINT);
+WINUSERAPI BOOL WINAPI SetMenuInfo (HMENU, LPCMENUINFO);
+WINUSERAPI BOOL WINAPI SetMenuItemBitmaps (HMENU, UINT, UINT, HBITMAP, HBITMAP);
+WINUSERAPI BOOL WINAPI SetMenuItemInfoA (HMENU, UINT, BOOL, LPCMENUITEMINFOA);
+WINUSERAPI BOOL WINAPI SetMenuItemInfoW ( HMENU, UINT, BOOL, LPCMENUITEMINFOW);
+WINUSERAPI LPARAM WINAPI SetMessageExtraInfo (LPARAM);
+WINUSERAPI BOOL WINAPI SetMessageQueue (int);
+WINUSERAPI HWND WINAPI SetParent (HWND, HWND);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI SetProcessDefaultLayout (DWORD);
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+WINUSERAPI BOOL WINAPI SetProcessWindowStation (HWINSTA);
+WINUSERAPI BOOL WINAPI SetPropA (HWND, LPCSTR, HANDLE);
+WINUSERAPI BOOL WINAPI SetPropW (HWND, LPCWSTR, HANDLE);
+WINUSERAPI BOOL WINAPI SetRect (LPRECT, int, int, int, int);
+WINUSERAPI BOOL WINAPI SetRectEmpty (LPRECT);
+WINUSERAPI int WINAPI SetScrollInfo (HWND, int, LPCSCROLLINFO, BOOL);
+WINUSERAPI int WINAPI SetScrollPos (HWND, int, int, BOOL);
+WINUSERAPI BOOL WINAPI SetScrollRange (HWND, int, int, int, BOOL);
+WINUSERAPI BOOL WINAPI SetSysColors (int, const INT *, const COLORREF *);
 #define SetSysModalWindow(h) (NULL)
-WINUSERAPI BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
-WINUSERAPI BOOL WINAPI SetThreadDesktop(HDESK);
-WINUSERAPI UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
+WINUSERAPI BOOL WINAPI SetSystemCursor (HCURSOR, DWORD);
+WINUSERAPI BOOL WINAPI SetThreadDesktop (HDESK);
+WINUSERAPI UINT WINAPI SetTimer (HWND, UINT_PTR, UINT, TIMERPROC);
+WINUSERAPI BOOL WINAPI SetUserObjectInformationA (HANDLE, int, PVOID, DWORD);
+WINUSERAPI BOOL WINAPI SetUserObjectInformationW (HANDLE, int, PVOID, DWORD);
+WINUSERAPI BOOL WINAPI SetUserObjectSecurity (HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook (UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT);
 #endif
-WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
-WINUSERAPI LONG WINAPI SetWindowLongA(HWND,int,LONG);
-WINUSERAPI LONG WINAPI SetWindowLongW(HWND,int,LONG);
+
+WINUSERAPI BOOL WINAPI SetWindowContextHelpId (HWND, DWORD);
+WINUSERAPI LONG WINAPI SetWindowLongA (HWND, int, LONG);
+WINUSERAPI LONG WINAPI SetWindowLongW (HWND, int, LONG);
+
 #ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
+WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA (HWND, int, LONG_PTR);
+WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW (HWND, int, LONG_PTR);
 #else
 #define SetWindowLongPtrA SetWindowLongA
 #define SetWindowLongPtrW SetWindowLongW
 #endif
-WINUSERAPI BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-WINUSERAPI HHOOK WINAPI SetWindowsHookA(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookW(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
-WINUSERAPI BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
-WINUSERAPI WORD WINAPI SetWindowWord(HWND,int,WORD);
-WINUSERAPI BOOL WINAPI ShowCaret(HWND);
-WINUSERAPI int WINAPI ShowCursor(BOOL);
-WINUSERAPI BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
-WINUSERAPI BOOL WINAPI ShowScrollBar(HWND,int,BOOL);
-WINUSERAPI BOOL WINAPI ShowWindow(HWND,int);
-WINUSERAPI BOOL WINAPI ShowWindowAsync(HWND,int);
-WINUSERAPI BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI SwapMouseButton(BOOL);
-WINUSERAPI BOOL WINAPI SwitchDesktop(HDESK);
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND,BOOL);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT);
-WINUSERAPI BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT);
-WINUSERAPI LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
-WINUSERAPI LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int);
-WINUSERAPI WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *);
-WINUSERAPI int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT);
-WINUSERAPI int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL);
-WINUSERAPI int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
-WINUSERAPI int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL);
-WINUSERAPI BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
-WINUSERAPI BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
-WINUSERAPI int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
-WINUSERAPI int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMessage(const MSG*);
-WINUSERAPI BOOL WINAPI UnhookWindowsHook(int,HOOKPROC);
-WINUSERAPI BOOL WINAPI UnhookWindowsHookEx(HHOOK);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif
-WINUSERAPI BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI UnloadKeyboardLayout(HKL);
-WINUSERAPI BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
-WINUSERAPI BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HANDLE);
+
+WINUSERAPI BOOL WINAPI SetWindowPlacement (HWND hWnd, const WINDOWPLACEMENT *);
+WINUSERAPI BOOL WINAPI SetWindowPos (HWND, HWND, int, int, int, int, UINT);
+WINUSERAPI int WINAPI SetWindowRgn (HWND, HRGN, BOOL);
+WINUSERAPI HHOOK WINAPI SetWindowsHookA (int, HOOKPROC);
+WINUSERAPI HHOOK WINAPI SetWindowsHookW (int, HOOKPROC);
+WINUSERAPI HHOOK WINAPI SetWindowsHookExA (int, HOOKPROC, HINSTANCE, DWORD);
+WINUSERAPI HHOOK WINAPI SetWindowsHookExW (int, HOOKPROC, HINSTANCE, DWORD);
+WINUSERAPI BOOL WINAPI SetWindowTextA (HWND, LPCSTR);
+WINUSERAPI BOOL WINAPI SetWindowTextW (HWND, LPCWSTR);
+WINUSERAPI WORD WINAPI SetWindowWord (HWND, int, WORD);
+WINUSERAPI BOOL WINAPI ShowCaret (HWND);
+WINUSERAPI int WINAPI ShowCursor (BOOL);
+WINUSERAPI BOOL WINAPI ShowOwnedPopups (HWND, BOOL);
+WINUSERAPI BOOL WINAPI ShowScrollBar (HWND, int, BOOL);
+WINUSERAPI BOOL WINAPI ShowWindow (HWND, int);
+WINUSERAPI BOOL WINAPI ShowWindowAsync (HWND, int);
+WINUSERAPI BOOL WINAPI SubtractRect (LPRECT, LPCRECT, LPCRECT);
+WINUSERAPI BOOL WINAPI SwapMouseButton (BOOL);
+WINUSERAPI BOOL WINAPI SwitchDesktop (HDESK);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI VOID WINAPI SwitchToThisWindow (HWND, BOOL);
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+WINUSERAPI BOOL WINAPI SystemParametersInfoA (UINT, UINT, PVOID, UINT);
+WINUSERAPI BOOL WINAPI SystemParametersInfoW (UINT, UINT, PVOID, UINT);
+WINUSERAPI LONG WINAPI TabbedTextOutA (HDC, int, int, LPCSTR, int, int, LPINT, int);
+WINUSERAPI LONG WINAPI TabbedTextOutW (HDC, int, int, LPCWSTR, int, int, LPINT, int);
+WINUSERAPI WORD WINAPI TileWindows (HWND, UINT, LPCRECT, UINT, const HWND *);
+WINUSERAPI int WINAPI ToAscii (UINT, UINT, PBYTE, LPWORD, UINT);
+WINUSERAPI int WINAPI ToAsciiEx (UINT, UINT, PBYTE, LPWORD, UINT, HKL);
+WINUSERAPI int WINAPI ToUnicode (UINT, UINT, PBYTE, LPWSTR, int, UINT);
+WINUSERAPI int WINAPI ToUnicodeEx (UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL);
+WINUSERAPI BOOL WINAPI TrackMouseEvent (LPTRACKMOUSEEVENT);
+WINUSERAPI BOOL WINAPI TrackPopupMenu (HMENU, UINT, int, int, int, HWND, LPCRECT);
+WINUSERAPI BOOL WINAPI TrackPopupMenuEx (HMENU, UINT, int, int, HWND, LPTPMPARAMS);
+WINUSERAPI int WINAPI TranslateAcceleratorA (HWND, HACCEL, LPMSG);
+WINUSERAPI int WINAPI TranslateAcceleratorW (HWND, HACCEL, LPMSG);
+WINUSERAPI BOOL WINAPI TranslateMDISysAccel (HWND, LPMSG);
+WINUSERAPI BOOL WINAPI TranslateMessage (const MSG *);
+WINUSERAPI BOOL WINAPI UnhookWindowsHook (int, HOOKPROC);
+WINUSERAPI BOOL WINAPI UnhookWindowsHookEx (HHOOK);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI UnhookWinEvent (HWINEVENTHOOK);
+#endif /* >= _WIN32_WINNT_WIN2K */
+
+WINUSERAPI BOOL WINAPI UnionRect (LPRECT, LPCRECT, LPCRECT);
+WINUSERAPI BOOL WINAPI UnloadKeyboardLayout (HKL);
+WINUSERAPI BOOL WINAPI UnregisterClassA (LPCSTR, HINSTANCE);
+WINUSERAPI BOOL WINAPI UnregisterClassW (LPCWSTR, HINSTANCE);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_98
+WINUSERAPI BOOL WINAPI UnregisterDeviceNotification (HANDLE);
 #endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification (HPOWERNOTIFY);
 #endif
-WINUSERAPI BOOL WINAPI UnregisterHotKey(HWND,int);
-WINUSERAPI BOOL WINAPI UpdateWindow(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);
+
+WINUSERAPI BOOL WINAPI UnregisterHotKey (HWND, int);
+WINUSERAPI BOOL WINAPI UpdateWindow (HWND);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI UserHandleGrantAccess (HANDLE, HANDLE, BOOL);
 #endif
-WINUSERAPI BOOL WINAPI ValidateRect(HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI ValidateRgn(HWND,HRGN);
-WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR);
-WINUSERAPI SHORT WINAPI VkKeyScanExA(CHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanExW(WCHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanW(WCHAR);
-WINUSERAPI DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
-WINUSERAPI BOOL WINAPI WaitMessage(void);
-WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC);
-WINUSERAPI HWND WINAPI WindowFromPoint(POINT);
-WINUSERAPI UINT WINAPI WinExec(LPCSTR,UINT);
-WINUSERAPI BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
-WINUSERAPI BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
-WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
-WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
-WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
-WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
-WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
+
+WINUSERAPI BOOL WINAPI ValidateRect (HWND, LPCRECT);
+WINUSERAPI BOOL WINAPI ValidateRgn (HWND, HRGN);
+WINUSERAPI SHORT WINAPI VkKeyScanA (CHAR);
+WINUSERAPI SHORT WINAPI VkKeyScanExA (CHAR, HKL);
+WINUSERAPI SHORT WINAPI VkKeyScanExW (WCHAR, HKL);
+WINUSERAPI SHORT WINAPI VkKeyScanW (WCHAR);
+WINUSERAPI DWORD WINAPI WaitForInputIdle (HANDLE, DWORD);
+WINUSERAPI BOOL WINAPI WaitMessage (void);
+WINUSERAPI HWND WINAPI WindowFromDC (HDC hDC);
+WINUSERAPI HWND WINAPI WindowFromPoint (POINT);
+WINUSERAPI UINT WINAPI WinExec (LPCSTR, UINT);
+WINUSERAPI BOOL WINAPI WinHelpA (HWND, LPCSTR, UINT, DWORD);
+WINUSERAPI BOOL WINAPI WinHelpW (HWND, LPCWSTR, UINT, DWORD);
+WINUSERAPI int WINAPIV wsprintfA (LPSTR, LPCSTR,...);
+WINUSERAPI int WINAPIV wsprintfW (LPWSTR, LPCWSTR,...);
+WINUSERAPI int WINAPI wvsprintfA (LPSTR, LPCSTR, va_list arglist);
+WINUSERAPI int WINAPI wvsprintfW (LPWSTR, LPCWSTR, va_list arglist);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || _WIN32_WINDOWS >= _WIN32_WINDOWS_ME
+WINUSERAPI BOOL WINAPI AllowSetForegroundWindow (DWORD);
+WINUSERAPI BOOL WINAPI LockSetForegroundWindow (UINT);
 #endif
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes (HWND, COLORREF, BYTE, DWORD);
+
 #ifndef NOGDI
-WINUSERAPI BOOL WINAPI UpdateLayeredWindow(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
+WINUSERAPI BOOL WINAPI UpdateLayeredWindow (HWND, HDC, POINT *, SIZE *, HDC, POINT *, COLORREF, BLENDFUNCTION *, DWORD);
 #endif
 #endif
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes (HWND, COLORREF *, BYTE *, DWORD *);
 #endif
 
-#if (_WIN32_WINNT >= 0x0601)
-BOOL WINAPI CloseTouchInputHandle(HANDLE hTouchInput);
-BOOL WINAPI GetTouchInputInfo(HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
-BOOL WINAPI IsTouchWindow(HWND hWnd, PULONG pulFlags);
-BOOL WINAPI RegisterTouchWindow(HWND hWnd, ULONG ulFlags);
-BOOL WINAPI UnregisterTouchWindow(HWND hWnd);
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN7
+BOOL WINAPI CloseTouchInputHandle (HANDLE hTouchInput);
+BOOL WINAPI GetTouchInputInfo (HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
+BOOL WINAPI IsTouchWindow (HWND hWnd, PULONG pulFlags);
+BOOL WINAPI RegisterTouchWindow (HWND hWnd, ULONG ulFlags);
+BOOL WINAPI UnregisterTouchWindow (HWND hWnd);
 #endif
 
 #ifdef UNICODE
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
-#define WINSTAENUMPROC WINSTAENUMPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define MAKEINTRESOURCE MAKEINTRESOURCEW
-typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
+#define EDITWORDBREAKPROC      EDITWORDBREAKPROCW
+#define PROPENUMPROC           PROPENUMPROCW
+#define PROPENUMPROCEX         PROPENUMPROCEXW
+#define DEKSTOPENUMPROC        DEKSTOPENUMPROCW
+#define WINSTAENUMPROC         WINSTAENUMPROCW
+#define PROPENUMPROC           PROPENUMPROCW
+#define PROPENUMPROCEX         PROPENUMPROCEXW
+#define MAKEINTRESOURCE        MAKEINTRESOURCEW
+
+typedef WNDCLASSW WNDCLASS, *LPWNDCLASS, *PWNDCLASS;
+typedef WNDCLASSEXW WNDCLASSEX, *LPWNDCLASSEX, *PWNDCLASSEX;
+typedef MENUITEMINFOW MENUITEMINFO, *LPMENUITEMINFO;
 typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
+typedef MSGBOXPARAMSW MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
+typedef HIGHCONTRASTW HIGHCONTRAST, *LPHIGHCONTRAST;
+typedef SERIALKEYSW SERIALKEYS, *LPSERIALKEYS;
+typedef SOUNDSENTRYW SOUNDSENTRY, *LPSOUNDSENTRY;
 typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
 typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
+typedef MDICREATESTRUCTW MDICREATESTRUCT, *LPMDICREATESTRUCT;
+typedef MULTIKEYHELPW MULTIKEYHELP, *PMULTIKEYHELP, *LPMULTIKEYHELP;
 typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
+
 #define AppendMenu AppendMenuW
 #define BroadcastSystemMessage BroadcastSystemMessageW
 #define BroadcastSystemMessageEx BroadcastSystemMessageExW
@@ -4332,37 +4698,40 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
 #define WinHelp WinHelpW
 #define wsprintf wsprintfW
 #define wvsprintf wvsprintfW
+
 #ifndef NOGDI
-typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
+typedef ICONMETRICSW ICONMETRICS, *LPICONMETRICS;
+typedef NONCLIENTMETRICSW NONCLIENTMETRICS, *LPNONCLIENTMETRICS;
 #define ChangeDisplaySettings ChangeDisplaySettingsW
 #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
 #define CreateDesktop CreateDesktopW
 #define EnumDisplaySettings EnumDisplaySettingsW
 #define EnumDisplaySettingsEx EnumDisplaySettingsExW
 #define EnumDisplayDevices EnumDisplayDevicesW
-#endif /* NOGDI */
-#else /* UNICODE */
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
-#define WINSTAENUMPROC WINSTAENUMPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define MAKEINTRESOURCE MAKEINTRESOURCEA
-typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
+#endif /* NOGDI */
+
+#else  /* UNICODE */
+#define EDITWORDBREAKPROC      EDITWORDBREAKPROCA
+#define PROPENUMPROC           PROPENUMPROCA
+#define PROPENUMPROCEX         PROPENUMPROCEXA
+#define DEKSTOPENUMPROC        DEKSTOPENUMPROCA
+#define WINSTAENUMPROC         WINSTAENUMPROCA
+#define PROPENUMPROC           PROPENUMPROCA
+#define PROPENUMPROCEX         PROPENUMPROCEXA
+#define MAKEINTRESOURCE        MAKEINTRESOURCEA
+
+typedef WNDCLASSA WNDCLASS, *LPWNDCLASS, *PWNDCLASS;
+typedef WNDCLASSEXA WNDCLASSEX, *LPWNDCLASSEX, *PWNDCLASSEX;
+typedef MENUITEMINFOA MENUITEMINFO, *LPMENUITEMINFO;
 typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
-typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
+typedef MSGBOXPARAMSA MSGBOXPARAMS, *PMSGBOXPARAMS, *LPMSGBOXPARAMS;
+typedef HIGHCONTRASTA HIGHCONTRAST, *LPHIGHCONTRAST;
+typedef SERIALKEYSA SERIALKEYS, *LPSERIALKEYS;
+typedef SOUNDSENTRYA SOUNDSENTRY, *LPSOUNDSENTRY;
 typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
 typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
+typedef MDICREATESTRUCTA MDICREATESTRUCT, *LPMDICREATESTRUCT;
+typedef MULTIKEYHELPA MULTIKEYHELP, *PMULTIKEYHELP, *LPMULTIKEYHELP;
 typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
 #define AppendMenu AppendMenuA
 #define BroadcastSystemMessage BroadcastSystemMessageA
@@ -4497,20 +4866,24 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
 #define WinHelp WinHelpA
 #define wsprintf wsprintfA
 #define wvsprintf wvsprintfA
+
 #ifndef NOGDI
-typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
+typedef ICONMETRICSA  ICONMETRICS, *LPICONMETRICS;
+typedef NONCLIENTMETRICSA  NONCLIENTMETRICS, *LPNONCLIENTMETRICS;
 #define ChangeDisplaySettings ChangeDisplaySettingsA
 #define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
 #define CreateDesktop CreateDesktopA
 #define EnumDisplaySettings EnumDisplaySettingsA
 #define EnumDisplaySettingsEx EnumDisplaySettingsExA
 #define EnumDisplayDevices EnumDisplayDevicesA
-#endif /* NOGDI */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
+#endif /* NOGDI */
+#endif /* UNICODE */
+#endif /* RC_INVOKED */
 
-#ifdef __cplusplus
-}
-#endif
-#endif
+_END_C_DECLS
+
+/* End selective inclusion on behalf of <winuser.h>, when done with
+ * inclusion of <winuser.h> itself.
+ */
+#undef __WINUSER_H_SOURCED__
+#endif /* !_WINUSER_H: $RCSfile$: end of file */