OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
authorEarnie Boyd <earnie@users.sourceforge.net>
Sat, 8 Sep 2012 19:14:16 +0000 (15:14 -0400)
committerEarnie Boyd <earnie@users.sourceforge.net>
Sat, 8 Sep 2012 19:14:16 +0000 (15:14 -0400)
* include/_mingw.h: Add include of sdkddkver.h.
* include/accctrl.h (_WIN32_WINNT): Use MACRO constant for comparison
instead of integer.
* include/cmnquery.h (_WIN32_WINNT): Ditto.
* include/aclapi.h: Include _mingw.h.
(_WIN32_WINNT): Use MACRO constant for comparison instead of integer
and move filters to the end of the file.
(UNICODE): Use __AW() macro for mapping non-specific symbols.
* include/adsprop.h: Ditto.
* include/aclui.h: Include _mingw.h.
* include/afxres.h: Ditto.
* include/amaudio.h: Ditto.
* include/amvideo.h: Ditto.
* include/amdevcod.h: Ditto.
* include/aviriff.h: Ditto.
* include/aygshell.h: Ditto.
* include/basetsd.h: Ditto.
* include/basetyps.h: Ditto.
* include/bdatypes.h: Ditto.
* include cderr.h: Ditto.
* include/cguid.h: Ditto.
* include/comcat.h: Ditto.
* include/commctrl.h (_WIN32_IE): Remove commented out definition.
(_WIN32_IE): Move filters to the end of the file.
(UNICODE): Use __AW() macro for mapping non-specific symbols.
(_WIN32_WINNT): Use MACRO constant for comparison instead of integer.

20 files changed:
ChangeLog
include/_mingw.h
include/accctrl.h
include/aclapi.h
include/aclui.h
include/adsprop.h
include/afxres.h
include/amaudio.h
include/amvideo.h
include/audevcod.h
include/aviriff.h
include/aygshell.h
include/basetsd.h
include/basetyps.h
include/bdatypes.h
include/cderr.h
include/cguid.h
include/cmnquery.h
include/comcat.h
include/commctrl.h

index 50ea711..cc6ca07 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+2012-09-08  Earnie Boyd  <earnie@users.sourceforge.net>
+
+       Redo the filters based on assumptions discussed in mingw-dvlpr list.
+
+       * include/_mingw.h: Add include of sdkddkver.h.
+       * include/accctrl.h (_WIN32_WINNT): Use MACRO constant for comparison
+       instead of integer.
+       * include/cmnquery.h (_WIN32_WINNT): Ditto.
+       * include/aclapi.h: Include _mingw.h.
+       (_WIN32_WINNT): Use MACRO constant for comparison instead of integer
+       and move filters to the end of the file.
+       (UNICODE): Use __AW() macro for mapping non-specific symbols.
+       * include/adsprop.h: Ditto.
+       * include/aclui.h: Include _mingw.h.
+       * include/afxres.h: Ditto.
+       * include/amaudio.h: Ditto.
+       * include/amvideo.h: Ditto.
+       * include/amdevcod.h: Ditto.
+       * include/aviriff.h: Ditto.
+       * include/aygshell.h: Ditto.
+       * include/basetsd.h: Ditto.
+       * include/basetyps.h: Ditto.
+       * include/bdatypes.h: Ditto.
+       * include cderr.h: Ditto.
+       * include/cguid.h: Ditto.
+       * include/comcat.h: Ditto.
+       * include/commctrl.h (_WIN32_IE): Remove commented out definition.
+       (_WIN32_IE): Move filters to the end of the file.
+       (UNICODE): Use __AW() macro for mapping non-specific symbols.
+       (_WIN32_WINNT): Use MACRO constant for comparison instead of integer.
+
 2012-09-07  Earnie Boyd  <earnie@users.sourceforge.net>
 
        Redo the filters based on assumptions discussed in mingw-dvlpr list.
index dbde59e..8c37121 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _MINGW_H
 #define _MINGW_H
 #pragma GCC system_header
+#include <sdkddkver.h>
 
 /*
  * Mingw specific macros.
index 9780093..5dd3044 100644 (file)
@@ -313,7 +313,7 @@ typedef __AW(EXPLICIT_ACCESS) EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
 typedef __AW(TRUSTEE_ACCESS) TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
 typedef __AW(OBJECTS_AND_NAME_) OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
 
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
 typedef struct {
        LONG     GenerationGap;
        LPSTR    AncestorName;
@@ -324,7 +324,7 @@ typedef struct {
 } INHERITED_FROMW, *PINHERITED_FROMW;
 
 typedef __AW(INHERITED_FROM) INHERITED_FROM, *PINHERITED_FROM;
-#endif /* (_WIN32_WINNT >= 0x0501) */
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
 #ifdef __cplusplus
 }
index 7e1324b..395bb31 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _ACLAPI_H
 #define _ACLAPI_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <windows.h>
 #include <accctrl.h>
@@ -54,10 +55,6 @@ WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
 WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
 WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
 WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
-#if (_WIN32_WINNT >= 0x0501)
-WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
-WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
-#endif
 WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
 WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
@@ -88,49 +85,31 @@ WINADVAPI PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
 WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
 WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
 
-#ifdef UNICODE
-#define BuildExplicitAccessWithName  BuildExplicitAccessWithNameW
-#define BuildSecurityDescriptor  BuildSecurityDescriptorW
-#define BuildTrusteeWithName  BuildTrusteeWithNameW
-#define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameW
-#define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidW
-#define BuildTrusteeWithSid  BuildTrusteeWithSidW
-#define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclW
-#define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclW
-#define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclW
-#define GetNamedSecurityInfo  GetNamedSecurityInfoW
-#define GetTrusteeForm  GetTrusteeFormW
-#define GetTrusteeName  GetTrusteeNameW
-#define GetTrusteeType  GetTrusteeTypeW
-#define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsW
-#define SetEntriesInAcl  SetEntriesInAclW
-#define SetNamedSecurityInfo  SetNamedSecurityInfoW
-#define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameW
-#define BuildImpersonateTrustee  BuildImpersonateTrusteeW
-#define GetMultipleTrustee  GetMultipleTrusteeW
-#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationW
-#else
-#define BuildExplicitAccessWithName  BuildExplicitAccessWithNameA
-#define BuildSecurityDescriptor  BuildSecurityDescriptorA
-#define BuildTrusteeWithName  BuildTrusteeWithNameA
-#define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameA
-#define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidA
-#define BuildTrusteeWithSid  BuildTrusteeWithSidA
-#define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclA
-#define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclA
-#define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclA
-#define GetNamedSecurityInfo  GetNamedSecurityInfoA
-#define GetTrusteeForm  GetTrusteeFormA
-#define GetTrusteeName  GetTrusteeNameA
-#define GetTrusteeType  GetTrusteeTypeA
-#define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsA
-#define SetEntriesInAcl  SetEntriesInAclA
-#define SetNamedSecurityInfo  SetNamedSecurityInfoA
-#define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameA
-#define BuildImpersonateTrustee  BuildImpersonateTrusteeA
-#define GetMultipleTrustee  GetMultipleTrusteeA
-#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationA
-#endif /* UNICODE */
+#define BuildExplicitAccessWithName  __AW(BuildExplicitAccessWithName)
+#define BuildSecurityDescriptor  __AW(BuildSecurityDescriptor)
+#define BuildTrusteeWithName  __AW(BuildTrusteeWithName)
+#define BuildTrusteeWithObjectsAndName  __AW(BuildTrusteeWithObjectsAndName)
+#define BuildTrusteeWithObjectsAndSid  __AW(BuildTrusteeWithObjectsAndSid)
+#define BuildTrusteeWithSid  __AW(BuildTrusteeWithSid)
+#define GetAuditedPermissionsFromAcl  __AW(GetAuditedPermissionsFromAcl)
+#define GetEffectiveRightsFromAcl  __AW(GetEffectiveRightsFromAcl)
+#define GetExplicitEntriesFromAcl  __AW(GetExplicitEntriesFromAcl)
+#define GetNamedSecurityInfo  __AW(GetNamedSecurityInfo)
+#define GetTrusteeForm  __AW(GetTrusteeForm)
+#define GetTrusteeName  __AW(GetTrusteeName)
+#define GetTrusteeType  __AW(GetTrusteeType)
+#define LookupSecurityDescriptorParts  __AW(LookupSecurityDescriptorParts)
+#define SetEntriesInAcl  __AW(SetEntriesInAcl)
+#define SetNamedSecurityInfo  __AW(SetNamedSecurityInfo)
+#define BuildImpersonateExplicitAccessWithName  __AW(BuildImpersonateExplicitAccessWithName)
+#define BuildImpersonateTrustee  __AW(BuildImpersonateTrustee)
+#define GetMultipleTrustee  __AW(GetMultipleTrustee)
+#define GetMultipleTrusteeOperation  __AW(GetMultipleTrusteeOperation)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
+WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
+#endif
 
 #ifdef __cplusplus
 }
index 3c8df99..0cc5e5e 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _ACLUI_H
 #define _ACLUI_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef _OBJC_NO_COM
 #include <objbase.h>
index 42ee824..d75a6dd 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _ADSPROP_H
 #define _ADSPROP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -39,17 +40,7 @@ extern "C" {
 #define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER+1101)
 #define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER+1105)
 /*--- Active Directory Reference - Active Directory Structures - Active Directory MMC Property Page Structures */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-       HWND hwndPage;
-       PWSTR pszPageTitle;
-       PWSTR pszObjPath;
-       PWSTR pszObjClass;
-       HRESULT hr;
-       PWSTR pszError;
-} ADSPROPERROR,*PADSPROPERROR;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
 typedef struct {
        DWORD dwSize;
        DWORD dwFlags;
@@ -58,7 +49,17 @@ typedef struct {
        LPWSTR pwzCN;
        PADS_ATTR_INFO pWritableAttrs;
 } ADSPROPINITPARAMS,*PADSPROPINITPARAMS;
-#endif /* (_WIN32_WINNT >= 0x0500) */
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+typedef struct {
+       HWND hwndPage;
+       PWSTR pszPageTitle;
+       PWSTR pszObjPath;
+       PWSTR pszObjClass;
+       HRESULT hr;
+       PWSTR pszError;
+} ADSPROPERROR,*PADSPROPERROR;
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
 #ifdef __cplusplus
 }
index 1814461..d6a935b 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AFXRES_H
 #define _AFXRES_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
index 9a68c60..9ba78f4 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AMAUDIO_H
 #define _AMAUDIO_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <dsound.h>
 
index f8c927d..5e53d33 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AMVIDEO_H
 #define _AMVIDEO_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <ddraw.h>
 #include <strmif.h>
index da333dd..299823b 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AUDEVCOD_H
 #define _AUDEVCOD_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
index 48831ae..e7f6699 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AVIRIFF_H
 #define _AVIRIFF_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <mmsystem.h>
 #include <wingdi.h>
index 5b5095b..5f31fe6 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _AYGSHELL_H
 #define _AYGSHELL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #if _WIN32_WCE >= 400
 
index f6fbe47..a4fbf5c 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _BASETSD_H
 #define _BASETSD_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef __int64
 #define __int64 long long
index 7b5ded1..b4359ee 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _BASETYPS_H
 #define _BASETYPS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef _OBJC_NO_COM_
 # ifdef __cplusplus
index 74ac527..b6ce7df 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _BDATYPES_H
 #define _BDATYPES_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
index 18835ab..c8d3458 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _CDERR_H
 #define _CDERR_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #define CDERR_DIALOGFAILURE    0xFFFF
 #define CDERR_GENERALCODES     0x0000
index b3e11c9..221b4ff 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _CGUID_H
 #define _CGUID_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
index c0944e7..87fb1d9 100644 (file)
 #ifndef _CMNQUERY_H
 #define _CMNQUERY_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
-#if (_WIN32_WINNT >= 0x0500)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
 typedef struct {
        DWORD cbStruct;
        DWORD dwFlags;
@@ -80,7 +81,7 @@ typedef struct {
 typedef HRESULT (CALLBACK* CQAddFormsProc)(LPARAM,LPCQFORM);
 typedef HRESULT (CALLBACK* CQAddPagesProc)(LPARAM,REFCLSID,LPCQPAGE);
 typedef HRESULT (CALLBACK* CQPageProc)(LPCQPAGE,HWND,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0500) */
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
 
 #ifdef __cplusplus
 }
index 06656cf..129ab65 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _COMCAT_H
 #define _COMCAT_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef COM_NO_WINDOWS_H
 #include <windows.h>
index 3643190..efc035e 100644 (file)
 #ifndef _COMMCTRL_H
 #define _COMMCTRL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <prsht.h>
 #ifdef __cplusplus
 extern "C" {
 #endif
-#ifndef _WIN32_IE
-/* define _WIN32_IE if you really want it */
-#if 0
-#define _WIN32_IE      0x0300
-#endif
-#endif
 
 #ifndef COMMCTRLAPI
 #ifdef __W32API_USE_DLLIMPORT__
@@ -107,69 +102,32 @@ extern "C" {
 #define WC_LINKA       "SysLink"
 #define WC_LINKW       L"SysLink"
 
-#ifdef UNICODE
-#define HOTKEY_CLASS HOTKEY_CLASSW
-#define PROGRESS_CLASS PROGRESS_CLASSW
-#define STATUSCLASSNAME STATUSCLASSNAMEW
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSW
-#define TRACKBAR_CLASS TRACKBAR_CLASSW
-#define UPDOWN_CLASS UPDOWN_CLASSW
-#define ANIMATE_CLASS ANIMATE_CLASSW
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
-#define MONTHCAL_CLASS MONTHCAL_CLASSW
-#define REBARCLASSNAME REBARCLASSNAMEW
-#define WC_COMBOBOXEX WC_COMBOBOXEXW
-#define WC_HEADER WC_HEADERW
-#define WC_IPADDRESS WC_IPADDRESSW
-#define WC_LISTVIEW WC_LISTVIEWW
-#define WC_TABCONTROL WC_TABCONTROLW
-#define WC_TREEVIEW WC_TREEVIEWW
-#define WC_PAGESCROLLER WC_PAGESCROLLERW
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLW
-#define WC_BUTTON WC_BUTTONW
-#define WC_STATIC WC_STATICW
-#define WC_EDIT WC_EDITW
-#define WC_LISTBOX WC_LISTBOXW
-#define WC_COMBOBOX WC_COMBOBOXW
-#define WC_SCROLLBAR WC_SCROLLBARW
-#define WC_LINK WC_LINKW
-#else
-#define ANIMATE_CLASS ANIMATE_CLASSA
-#define HOTKEY_CLASS HOTKEY_CLASSA
-#define PROGRESS_CLASS PROGRESS_CLASSA
-#define STATUSCLASSNAME STATUSCLASSNAMEA
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSA
-#define TRACKBAR_CLASS TRACKBAR_CLASSA
-#define UPDOWN_CLASS UPDOWN_CLASSA
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
-#define MONTHCAL_CLASS MONTHCAL_CLASSA
-#define REBARCLASSNAME REBARCLASSNAMEA
-#define WC_COMBOBOXEX WC_COMBOBOXEXA
-#define WC_HEADER WC_HEADERA
-#define WC_IPADDRESS WC_IPADDRESSA
-#define WC_LISTVIEW WC_LISTVIEWA
-#define WC_TABCONTROL WC_TABCONTROLA
-#define WC_TREEVIEW WC_TREEVIEWA
-#define WC_PAGESCROLLER WC_PAGESCROLLERA
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLA
-#define WC_BUTTON WC_BUTTONA
-#define WC_STATIC WC_STATICA
-#define WC_EDIT WC_EDITA
-#define WC_LISTBOX WC_LISTBOXA
-#define WC_COMBOBOX WC_COMBOBOXA
-#define WC_SCROLLBAR WC_SCROLLBARA
-#define WC_LINK WC_LINKA
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-#if (_WIN32_WINNT >= 0x0501)
-#define COMCTL32_VERSION 6
-#else
-#define COMCTL32_VERSION 5
-#endif
-#endif
+#define HOTKEY_CLASS __AW(HOTKEY_CLASS)
+#define PROGRESS_CLASS __AW(PROGRESS_CLASS)
+#define STATUSCLASSNAME __AW(STATUSCLASSNAME)
+#define TOOLBARCLASSNAME __AW(TOOLBARCLASSNAME)
+#define TOOLTIPS_CLASS __AW(TOOLTIPS_CLASS)
+#define TRACKBAR_CLASS __AW(TRACKBAR_CLASS)
+#define UPDOWN_CLASS __AW(UPDOWN_CLASS)
+#define ANIMATE_CLASS __AW(ANIMATE_CLASS)
+#define DATETIMEPICK_CLASS __AW(DATETIMEPICK_CLASS)
+#define MONTHCAL_CLASS __AW(MONTHCAL_CLASS)
+#define REBARCLASSNAME __AW(REBARCLASSNAME)
+#define WC_COMBOBOXEX __AW(WC_COMBOBOXEX)
+#define WC_HEADER __AW(WC_HEADER)
+#define WC_IPADDRESS __AW(WC_IPADDRESS)
+#define WC_LISTVIEW __AW(WC_LISTVIEW)
+#define WC_TABCONTROL __AW(WC_TABCONTROL)
+#define WC_TREEVIEW __AW(WC_TREEVIEW)
+#define WC_PAGESCROLLER __AW(WC_PAGESCROLLER)
+#define WC_NATIVEFONTCTL __AW(WC_NATIVEFONTCTL)
+#define WC_BUTTON __AW(WC_BUTTON)
+#define WC_STATIC __AW(WC_STATIC)
+#define WC_EDIT __AW(WC_EDIT)
+#define WC_LISTBOX __AW(WC_LISTBOX)
+#define WC_COMBOBOX __AW(WC_COMBOBOX)
+#define WC_SCROLLBAR __AW(WC_SCROLLBAR)
+#define WC_LINK __AW(WC_LINK)
 
 #define LVM_FIRST 0x1000
 #define TV_FIRST 0x1100
@@ -212,12 +170,6 @@ extern "C" {
 #define CCS_NOPARENTALIGN      8
 #define CCS_ADJUSTABLE 32
 #define CCS_NODIVIDER  64
-#if (_WIN32_IE >= 0x0300)
-#define CCS_VERT 128
-#define CCS_LEFT 129
-#define CCS_NOMOVEX 130
-#define CCS_RIGHT 131
-#endif
 #define ACS_CENTER     0x0001
 #define ACS_TRANSPARENT        0x0002
 #define ACS_AUTOPLAY   0x0004
@@ -281,14 +233,6 @@ extern "C" {
 #define HDS_HORZ       0
 #define HDS_BUTTONS    2
 #define HDS_HIDDEN     8
-#if (_WIN32_IE > 0x0300)
-#define HDS_HOTTRACK   4
-#define HDS_DRAGDROP   0x0040
-#define HDS_FULLDRAG   0x0080
-#endif /* _WIN32_IE > 0x0300 */
-#if (_WIN32_IE >= 0x0500)
-#define HDS_FILTERBAR  0x0100
-#endif /* _WIN32_IE >= 0x0500 */
 #define NM_FIRST       0
 #define NM_LAST        ((UINT)-99)
 #define LVN_FIRST      ((UINT)-100)
@@ -309,52 +253,15 @@ extern "C" {
 #define TBN_LAST       ((UINT)-720)
 #define UDN_FIRST      ((UINT)-721)
 #define UDN_LAST       ((UINT)-740)
-#if (_WIN32_IE >= 0x0300)
-#define RBN_FIRST      ((UINT)-831)
-#define RBN_LAST       ((UINT)-859)
-#define MCN_FIRST      ((UINT)-750)
-#define MCN_LAST       ((UINT)-759)
-#define DTN_FIRST      ((UINT)-760)
-#define DTN_LAST       ((UINT)-799)
-#define CBEN_FIRST     ((UINT)-800)
-#define CBEN_LAST      ((UINT)-830)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define IPN_FIRST      ((UINT)-860)
-#define IPN_LAST       ((UINT)-879)
-#define IPN_FIELDCHANGED       (IPN_FIRST-0)
-#define SBN_FIRST      ((UINT)-880U)
-#define SBN_LAST       ((UINT)-899U)
-#define PGN_FIRST      ((UINT)-900U)
-#define PGN_LAST       ((UINT)-950U)
-#define PGN_SCROLL     (PGN_FIRST-1)
-#define PGN_CALCSIZE   (PGN_FIRST-2)
-#endif /* _WIN32_IE >= 0x0400 */
 #define HDI_WIDTH      1
 #define HDI_HEIGHT     1
 #define HDI_TEXT       2
 #define HDI_FORMAT     4
 #define HDI_LPARAM     8
 #define HDI_BITMAP     16
-#if (_WIN32_IE >= 0x0300)
-#define HDI_IMAGE      32
-#define HDI_DI_SETITEM 64
-#define HDI_ORDER      128
-#endif
 #define CBES_EX_NOEDITIMAGE    0x00000001
 #define CBES_EX_NOEDITIMAGEINDENT      0x00000002
 #define CBES_EX_PATHWORDBREAKPROC      0x00000004
-#if (_WIN32_IE >= 0x0400)
-#define CBES_EX_NOSIZELIMIT    0x00000008
-#define CBES_EX_CASESENSITIVE  0x00000010
-#define CBEN_GETDISPINFOA      (CBEN_FIRST - 0)
-#define CBEN_GETDISPINFOW      (CBEN_FIRST - 7)
-#define CBEN_DRAGBEGINA        (CBEN_FIRST - 8)
-#define CBEN_DRAGBEGINW        (CBEN_FIRST - 9)
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0500)
-#define HDI_FILTER     256
-#endif
 #define HDF_LEFT       0
 #define HDF_RIGHT      1
 #define HDF_CENTER     2
@@ -363,10 +270,6 @@ extern "C" {
 #define HDF_OWNERDRAW  0x8000
 #define HDF_STRING     0x4000
 #define HDF_BITMAP     0x2000
-#if (_WIN32_IE >= 0x0300)
-#define HDF_BITMAP_ON_RIGHT    0x1000
-#define HDF_IMAGE      0x0800
-#endif
 #define HDM_GETITEMCOUNT       HDM_FIRST
 #define HDM_INSERTITEMA        (HDM_FIRST+1)
 #define HDM_INSERTITEMW        (HDM_FIRST+10)
@@ -376,20 +279,6 @@ extern "C" {
 #define HDM_SETITEMA   (HDM_FIRST+4)
 #define HDM_SETITEMW   (HDM_FIRST+12)
 #define HDM_LAYOUT     (HDM_FIRST+5)
-#if (_WIN32_IE >= 0x0300)
-#define HDM_GETITEMRECT (HDM_FIRST+7)
-#define HDM_SETIMAGELIST       (HDM_FIRST+8)
-#define HDM_GETIMAGELIST       (HDM_FIRST+9)
-#define HDM_ORDERTOINDEX       (HDM_FIRST+15)
-#define HDM_CREATEDRAGIMAGE    (HDM_FIRST+16)
-#define HDM_GETORDERARRAY      (HDM_FIRST+17)
-#define HDM_SETORDERARRAY      (HDM_FIRST+18)
-#define HDM_SETHOTDIVIDER      (HDM_FIRST+19)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HDM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
-#define HDM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
-#endif
 #define HHT_NOWHERE    1
 #define HHT_ONHEADER   2
 #define HHT_ONDIVIDER  4
@@ -415,34 +304,12 @@ extern "C" {
 #define HDN_ENDTRACKW  (HDN_FIRST-27)
 #define HDN_TRACKA     (HDN_FIRST-8)
 #define HDN_TRACKW     (HDN_FIRST-28)
-#if _WIN32_IE >= 0x0300
-#define HDN_ENDDRAG    (HDN_FIRST-11)
-#define HDN_BEGINDRAG  (HDN_FIRST-10)
-#define HDN_GETDISPINFOA (HDN_FIRST-9)
-#define HDN_GETDISPINFOW (HDN_FIRST-29)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HICF_OTHER 0x00
-#define HICF_MOUSE 0x01
-#define HICF_ARROWKEYS 0x02
-#define HICF_ACCELERATOR 0x04
-#define HICF_DUPACCEL 0x08
-#define HICF_ENTERING 0x10
-#define HICF_LEAVING 0x20
-#define HICF_RESELECT 0x40
-#define HICF_LMOUSE 0x80
-#define HICF_TOGGLEDROPDOWN 0x100
-#endif /* _WIN32_IE >= 0x0400 */
 #define IPM_CLEARADDRESS       (WM_USER+100)
 #define IPM_SETADDRESS (WM_USER+101)
 #define IPM_GETADDRESS (WM_USER+102)
 #define IPM_SETRANGE   (WM_USER+103)
 #define IPM_SETFOCUS   (WM_USER+104)
 #define IPM_ISBLANK    (WM_USER+105)
-#if (_WIN32_IE >= 0x0500)
-#define I_INDENTCALLBACK (-1)
-#define I_IMAGENONE (-2)
-#endif
 #define CMB_MASKED 2
 #define TBSTATE_CHECKED        1
 #define TBSTATE_PRESSED        2
@@ -450,74 +317,19 @@ extern "C" {
 #define TBSTATE_HIDDEN 8
 #define TBSTATE_INDETERMINATE  16
 #define TBSTATE_WRAP   32
-#if (_WIN32_IE >= 0x0300)
-#define TBSTATE_ELLIPSES 0x40
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTATE_MARKED 0x0080
-#endif
 #define TBSTYLE_BUTTON 0
 #define TBSTYLE_SEP    1
 #define TBSTYLE_CHECK  2
 #define TBSTYLE_GROUP  4
 #define TBSTYLE_CHECKGROUP     (TBSTYLE_GROUP|TBSTYLE_CHECK)
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_DROPDOWN       8
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_AUTOSIZE       16
-#define TBSTYLE_NOPREFIX       32
-#endif
 #define TBSTYLE_TOOLTIPS       256
 #define TBSTYLE_WRAPABLE       512
 #define TBSTYLE_ALTDRAG        1024
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_FLAT 2048
-#define TBSTYLE_LIST 4096
-#define TBSTYLE_CUSTOMERASE 8192
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_REGISTERDROP   0x4000
-#define TBSTYLE_TRANSPARENT    0x8000
-#define TBSTYLE_EX_DRAWDDARROWS        0x00000001
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0501)
-#define TBSTYLE_EX_MIXEDBUTTONS 8
-#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
-#endif /* _WIN32_IE >= 0x0501 */
-#if (_WIN32_WINNT >= 0x0501)
-#define TBSTYLE_EX_DOUBLEBUFFER        0x80
-#endif /* _WIN32_WINNT >= 0x0501 */
-#if (_WIN32_IE >= 0x0500)
-#define BTNS_BUTTON    TBSTYLE_BUTTON
-#define BTNS_SEP       TBSTYLE_SEP
-#define BTNS_CHECK     TBSTYLE_CHECK
-#define BTNS_GROUP     TBSTYLE_GROUP
-#define BTNS_CHECKGROUP        TBSTYLE_CHECKGROUP
-#define BTNS_DROPDOWN  TBSTYLE_DROPDOWN
-#define BTNS_AUTOSIZE  TBSTYLE_AUTOSIZE
-#define BTNS_NOPREFIX  TBSTYLE_NOPREFIX
-#define BTNS_WHOLEDROPDOWN     0x0080
-#endif  /* _WIN32_IE >= 0x0500 */
-#if _WIN32_IE >= 0x0501
-#define BTNS_SHOWTEXT  0x0040
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBCDRF_NOEDGES 0x10000
-#define TBCDRF_HILITEHOTTRACK  0x20000
-#define TBCDRF_NOOFFSET        0x40000
-#define TBCDRF_NOMARK  0x80000
-#define TBCDRF_NOETCHEDEFFECT  0x100000
-#endif /* _WIN32_IE >= 0x0400 */
 #define HINST_COMMCTRL ((HINSTANCE)-1)
 #define IDB_STD_SMALL_COLOR    0
 #define IDB_STD_LARGE_COLOR    1
 #define IDB_VIEW_SMALL_COLOR   4
 #define IDB_VIEW_LARGE_COLOR   5
-#if (_WIN32_IE >= 0x0300)
-#define IDB_HIST_SMALL_COLOR   8
-#define IDB_HIST_LARGE_COLOR   9
-#endif
 #define STD_CUT        0
 #define STD_COPY       1
 #define STD_PASTE      2
@@ -550,27 +362,16 @@ extern "C" {
 #define TB_PRESSBUTTON (WM_USER+3)
 #define TB_HIDEBUTTON  (WM_USER+4)
 #define TB_INDETERMINATE       (WM_USER+5)
-#if (_WIN32_IE >= 0x0400)
-#define TB_MARKBUTTON           (WM_USER+6)
-#endif
 #define TB_ISBUTTONENABLED     (WM_USER+9)
 #define TB_ISBUTTONCHECKED     (WM_USER+10)
 #define TB_ISBUTTONPRESSED     (WM_USER+11)
 #define TB_ISBUTTONHIDDEN      (WM_USER+12)
 #define TB_ISBUTTONINDETERMINATE       (WM_USER+13)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
-#endif
 #define TB_SETSTATE    (WM_USER+17)
 #define TB_GETSTATE    (WM_USER+18)
 #define TB_ADDBITMAP   (WM_USER+19)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ADDBUTTONSA (WM_USER+20)
-#define TB_INSERTBUTTONA       (WM_USER+21)
-#else
 #define TB_ADDBUTTONS  (WM_USER+20)
 #define TB_INSERTBUTTON        (WM_USER+21)
-#endif
 #define TB_DELETEBUTTON        (WM_USER+22)
 #define TB_GETBUTTON   (WM_USER+23)
 #define TB_BUTTONCOUNT (WM_USER+24)
@@ -599,59 +400,6 @@ extern "C" {
 #define TB_REPLACEBITMAP       (WM_USER+46)
 #define TB_GETBUTTONSIZE       (WM_USER+58)
 #define TB_SETBUTTONWIDTH      (WM_USER+59)
-#if (_WIN32_IE >= 0x0300)
-#define TB_SETINDENT   (WM_USER+47)
-#define TB_SETIMAGELIST        (WM_USER+48)
-#define TB_GETIMAGELIST        (WM_USER+49)
-#define TB_LOADIMAGES  (WM_USER+50)
-#define TB_GETRECT     (WM_USER+51)
-#define TB_SETHOTIMAGELIST     (WM_USER+52)
-#define TB_GETHOTIMAGELIST     (WM_USER+53)
-#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
-#define TB_GETDISABLEDIMAGELIST        (WM_USER+55)
-#define TB_SETSTYLE    (WM_USER+56)
-#define TB_GETSTYLE    (WM_USER+57)
-#define TB_GETBUTTONSIZE       (WM_USER+58)
-#define TB_SETBUTTONWIDTH      (WM_USER+59)
-#define TB_SETMAXTEXTROWS      (WM_USER+60)
-#define TB_GETTEXTROWS (WM_USER+61)
-#endif
-#if _WIN32_IE >= 0x400
-#define TB_GETOBJECT   (WM_USER+62)
-#define TB_GETBUTTONINFOW      (WM_USER+63)
-#define TB_SETBUTTONINFOW      (WM_USER+64)
-#define TB_GETBUTTONINFOA      (WM_USER+65)
-#define TB_SETBUTTONINFOA      (WM_USER+66)
-#define TB_INSERTBUTTONW       (WM_USER+67)
-#define TB_ADDBUTTONSW (WM_USER+68)
-#define TB_HITTEST     (WM_USER+69)
-#define TB_SETEXTENDEDSTYLE    (WM_USER+84)
-#define TB_GETEXTENDEDSTYLE    (WM_USER+85)
-#define TB_SETDRAWTEXTFLAGS    (WM_USER+70)
-#define TB_GETHOTITEM  (WM_USER+71)
-#define TB_SETHOTITEM  (WM_USER+72)
-#define TB_SETANCHORHIGHLIGHT  (WM_USER+73)
-#define TB_GETANCHORHIGHLIGHT  (WM_USER+74)
-#define TB_MAPACCELERATORA     (WM_USER+78)
-#define TB_GETINSERTMARK       (WM_USER+79)
-#define TB_SETINSERTMARK       (WM_USER+80)
-#define TB_INSERTMARKHITTEST   (WM_USER+81)
-#define TB_MOVEBUTTON          (WM_USER+82)
-#define TB_GETMAXSIZE          (WM_USER+83)
-#define TB_SETEXTENDEDSTYLE    (WM_USER+84)
-#define TB_GETEXTENDEDSTYLE    (WM_USER+85)
-#define TB_GETPADDING          (WM_USER+86)
-#define TB_SETPADDING          (WM_USER+87)
-#define TB_SETINSERTMARKCOLOR  (WM_USER+88)
-#define TB_GETINSERTMARKCOLOR  (WM_USER+89)
-#define TB_MAPACCELERATORW     (WM_USER+90)
-#define TB_GETSTRINGW          (WM_USER+91)
-#define TB_GETSTRINGA          (WM_USER+92)
-#define TB_SETCOLORSCHEME      CCM_SETCOLORSCHEME
-#define TB_GETCOLORSCHEME      CCM_GETCOLORSCHEME
-#define TB_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
-#define TB_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
-#endif
 #define TBBF_LARGE 1
 #define TBN_GETBUTTONINFOA     (TBN_FIRST-0)
 #define TBN_BEGINDRAG  (TBN_FIRST-1)
@@ -663,60 +411,12 @@ extern "C" {
 #define TBN_QUERYDELETE        (TBN_FIRST-7)
 #define TBN_TOOLBARCHANGE      (TBN_FIRST-8)
 #define TBN_CUSTHELP   (TBN_FIRST-9)
-#if (_WIN32_IE >= 0x0300)
-#define TBN_DROPDOWN   (TBN_FIRST-10)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBN_HOTITEMCHANGE      (TBN_FIRST-13)
-#define TBN_DRAGOUT    (TBN_FIRST-14)
-#define TBN_DELETINGBUTTON     (TBN_FIRST-15)
-#define TBN_GETDISPINFOA       (TBN_FIRST-16)
-#define TBN_GETDISPINFOW       (TBN_FIRST-17)
-#define TBN_GETINFOTIPA        (TBN_FIRST-18)
-#define TBN_GETINFOTIPW        (TBN_FIRST-19)
-#define TBN_GETBUTTONINFOW     (TBN_FIRST-20)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBN_RESTORE    (TBN_FIRST-21)
-#define TBN_SAVE       (TBN_FIRST-22)
-#define TBN_INITCUSTOMIZE      (TBN_FIRST-23)
-#define TBNRF_HIDEHELP 1
-#define TBNRF_ENDCUSTOMIZE     2
-#define TBNF_IMAGE     1
-#define TBNF_TEXT      2
-#define TBNF_DI_SETITEM        0x10000000
-#endif /* _WIN32_IE >= 0x0500 */
 #define TTS_ALWAYSTIP  1
 #define TTS_NOPREFIX   2
-#if( _WIN32_IE >= 0x0500 )
-#define TTS_NOANIMATE  0x10
-#define TTS_NOFADE     0x20
-#define TTS_BALLOON    0x40
-#define TTS_CLOSE      0x80
-#endif /* _WIN32_IE >= 0x0500 */
 #define TTF_IDISHWND   1
 #define TTF_CENTERTIP  2
 #define TTF_RTLREADING 4
 #define TTF_SUBCLASS   16
-#if (_WIN32_IE >= 0x0300)
-#define TTF_TRACK 0x0020
-#define TTF_ABSOLUTE 0x0080
-#define TTF_TRANSPARENT 0x0100
-#if (_WIN32_IE >= 0x0501)
-#define TTF_PARSELINKS 0x1000
-#endif
-#define TTF_DI_SETITEM 0x8000
-#define TBCD_TICS 1
-#define TBCD_THUMB 2
-#define TBCD_CHANNEL 3
-#endif /* _WIN32_IE >= 0x0300 */
-#if (_WIN32_IE >= 0x0400)
-#define TBDDRET_DEFAULT 0
-#define TBDDRET_NODEFAULT 1
-#define TBDDRET_TREATPRESSED 2
-#define TBIMHT_AFTER 1
-#define TBIMHT_BACKGROUND 2
-#endif
 #define TTDT_AUTOMATIC 0
 #define TTDT_RESHOW    1
 #define TTDT_AUTOPOP   2
@@ -746,27 +446,6 @@ extern "C" {
 #define TTM_GETCURRENTTOOLA    (WM_USER+15)
 #define TTM_GETCURRENTTOOLW    (WM_USER+59)
 #define TTM_WINDOWFROMPOINT    (WM_USER+16)
-#if (_WIN32_IE >= 0x0300)
-#define TTM_TRACKACTIVATE        (WM_USER+17)  
-#define TTM_TRACKPOSITION        (WM_USER+18)  
-#define TTM_SETTIPBKCOLOR        (WM_USER+19)
-#define TTM_SETTIPTEXTCOLOR    (WM_USER+20)
-#define TTM_GETDELAYTIME          (WM_USER+21)
-#define TTM_GETTIPBKCOLOR        (WM_USER+22)
-#define TTM_GETTIPTEXTCOLOR    (WM_USER+23)
-#define TTM_SETMAXTIPWIDTH      (WM_USER+24)
-#define TTM_GETMAXTIPWIDTH      (WM_USER+25)
-#define TTM_SETMARGIN           (WM_USER+26)  
-#define TTM_GETMARGIN           (WM_USER+27)  
-#define TTM_POP                          (WM_USER+28)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)                      /* IE4.0 ??? */
-#define TTM_UPDATE                 (WM_USER+29)
-#define TTM_GETBUBBLESIZE      (WM_USER+30)
-#define TTM_ADJUSTRECT (WM_USER+31)
-#define TTM_SETTITLEA  (WM_USER+32)
-#define TTM_SETTITLEW  (WM_USER+33)
-#endif
 #define TTN_GETDISPINFOA    (TTN_FIRST - 0)
 #define TTN_GETDISPINFOW    (TTN_FIRST - 10)
 #define TTN_NEEDTEXTA  TTN_GETDISPINFOA
@@ -784,9 +463,6 @@ extern "C" {
 #define UDS_ARROWKEYS  32
 #define UDS_HORZ       64
 #define UDS_NOTHOUSANDS        128
-#if ( _WIN32_IE >= 0x0300 )
-#define UDS_HOTTRACK   0x0100
-#endif /* _WIN32_IE >= 0x0300 */
 #define UDM_SETRANGE   (WM_USER+101)
 #define UDM_GETRANGE   (WM_USER+102)
 #define UDM_SETPOS     (WM_USER+103)
@@ -797,16 +473,6 @@ extern "C" {
 #define UDM_GETACCEL   (WM_USER+108)
 #define UDM_SETBASE    (WM_USER+109)
 #define UDM_GETBASE    (WM_USER+110)
-#if (_WIN32_IE >= 0x0400)
-#define UDM_SETRANGE32 (WM_USER+111)
-#define UDM_GETRANGE32 (WM_USER+112)
-#define UDM_SETPOS32   (WM_USER+113)
-#define UDM_GETPOS32   (WM_USER+114)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define UDM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
-#define UDM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
-#endif
 #define SB_SETTEXTA    (WM_USER+1)
 #define SB_SETTEXTW    (WM_USER+11)
 #define SB_GETTEXTA    (WM_USER+2)
@@ -823,10 +489,6 @@ extern "C" {
 #define SBT_NOBORDERS  256
 #define SBT_POPOUT     512
 #define SBT_RTLREADING 1024
-#if( _WIN32_IE >= 0x0400 )
-#define SBT_TOOLTIPS   0x0800
-#define SBN_SIMPLEMODECHANGE   (SBN_FIRST)
-#endif /* _WIN32_IE >= 0x0400 */
 #define TBS_AUTOTICKS  1
 #define TBS_VERT       2
 #define TBS_HORZ       0
@@ -839,29 +501,6 @@ extern "C" {
 #define TBS_ENABLESELRANGE     32
 #define TBS_FIXEDLENGTH        64
 #define TBS_NOTHUMB    128
-#if (_WIN32_IE >= 0x0300)
-#define TBS_TOOLTIPS 0x0100
-#define TBTS_TOP 0
-#define TBTS_LEFT 1
-#define TBTS_BOTTOM 2
-#define TBTS_RIGHT 3
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBS_REVERSED 0x0200
-#endif
-#if (_WIN32_IE >= 0x0501)
-#define TBS_DOWNISLEFT 0x0400
-#endif
-#if _WIN32_IE >= 0x400
-#define TBIF_BYINDEX 0x80000000
-#define TBIF_COMMAND 32
-#define TBIF_IMAGE 1
-#define TBIF_LPARAM 16
-#define TBIF_SIZE 64
-#define TBIF_STATE 4
-#define TBIF_STYLE 8
-#define TBIF_TEXT 2
-#endif
 #define TBM_GETPOS     (WM_USER)
 #define TBM_GETRANGEMIN        (WM_USER+1)
 #define TBM_GETRANGEMAX        (WM_USER+2)
@@ -954,76 +593,6 @@ extern "C" {
 #define LVS_OWNERDRAWFIXED     0x400
 #define LVS_NOCOLUMNHEADER     0x4000
 #define LVS_NOSORTHEADER       0x8000
-#if (_WIN32_IE >= 0x0300)
-#define CDIS_CHECKED 8
-#define CDIS_DEFAULT 32
-#define CDIS_DISABLED 4
-#define CDIS_FOCUS 16
-#define CDIS_GRAYED 2
-#define CDIS_HOT 64
-#define CDIS_SELECTED 1
-#define CDIS_MARKED 128
-#define CDIS_INDETERMINATE 256
-#if (_WIN32_WINNT >= 0x0501)
-#define CDIS_SHOWKEYBOARDCUES 512
-#endif
-#define CDDS_POSTERASE 4
-#define CDDS_POSTPAINT 2
-#define CDDS_PREERASE 3
-#define CDDS_PREPAINT 1
-#define CDDS_ITEM 65536
-#define CDDS_ITEMPOSTERASE 65540
-#define CDDS_ITEMPOSTPAINT 65538
-#define CDDS_ITEMPREERASE 65539
-#define CDDS_ITEMPREPAINT 65537
-#if (_WIN32_IE >= 0x0400)
-#define CDDS_SUBITEM 0x20000
-#endif
-#define CDRF_DODEFAULT 0x00
-#define CDRF_NOTIFYITEMDRAW 0x20
-#define CDRF_NOTIFYSUBITEMDRAW 0x20
-#define CDRF_NOTIFYITEMERASE 0x80
-#define CDRF_NOTIFYPOSTERASE 0x40
-#define CDRF_NOTIFYPOSTPAINT 0x10
-#define CDRF_NEWFONT 0x02
-#define CDRF_SKIPDEFAULT 0x04
-#if (_WIN32_IE >= 0x0400)
-#define LVBKIF_SOURCE_NONE      0x00000000
-#define LVBKIF_SOURCE_HBITMAP   0x00000001
-#define LVBKIF_SOURCE_URL       0x00000002
-#define LVBKIF_SOURCE_MASK      0x00000003
-#define LVBKIF_STYLE_NORMAL     0x00000000
-#define LVBKIF_STYLE_TILE       0x00000010
-#define LVBKIF_STYLE_MASK       0x00000010
-#endif /* _WIN32_IE >=0x0400 */
-#if (_WIN32_WINNT >= 0x501)
-#define LVBKIF_FLAG_TILEOFFSET  0x00000100
-#define LVBKIF_TYPE_WATERMARK   0x10000000
-#endif /* _WIN32_WINNT >= 0x501 */
-#define LVS_OWNERDATA 4096
-#define LVS_EX_CHECKBOXES 4
-#define LVS_EX_FULLROWSELECT 32
-#define LVS_EX_GRIDLINES 1
-#define LVS_EX_HEADERDRAGDROP 16
-#define LVS_EX_ONECLICKACTIVATE 64
-#define LVS_EX_SUBITEMIMAGES 2
-#define LVS_EX_TRACKSELECT 8
-#define LVS_EX_TWOCLICKACTIVATE 128
-#define LVSICF_NOINVALIDATEALL 0x00000001
-#define LVSICF_NOSCROLL        0x00000002
-#if( _WIN32_IE >= 0x0400 )
-#define LVS_EX_FLATSB  0x00000100
-#define LVS_EX_REGIONAL        0x00000200
-#define LVS_EX_INFOTIP 0x00000400
-#define LVS_EX_UNDERLINEHOT    0x00000800
-#define LVS_EX_UNDERLINECOLD   0x00001000
-#define LVS_EX_MULTIWORKAREAS  0x00002000
-#endif /* _WIN32_IE >=0x0400 */
-#if( _WIN32_IE >= 0x0500 )
-#define LVS_EX_LABELTIP        0x00004000
-#define LVS_EX_BORDERSELECT    0x00008000
-#endif  /* _WIN32_IE >= 0x0500 */
-#endif  /* _WIN32_IE >= 0x0300 */
 #define LVSIL_NORMAL   0
 #define LVSIL_SMALL    1
 #define LVSIL_STATE    2
@@ -1033,9 +602,6 @@ extern "C" {
 #define LVM_SETIMAGELIST       (LVM_FIRST+3)
 #define LVM_GETITEMCOUNT       (LVM_FIRST+4)
 #define LVM_SORTITEMSEX                (LVM_FIRST+81)
-#if (_WIN32_WINNT >= 0x501)
-#define LVM_SETSELECTEDCOLUMN  (LVM_FIRST+140)
-#endif
 #define LVM_SETVIEW            (LVM_FIRST+142)
 #define LVM_GETVIEW            (LVM_FIRST+143)
 #define LVM_INSERTGROUP                (LVM_FIRST+145)
@@ -1071,14 +637,6 @@ extern "C" {
 #define LVIF_IMAGE     2
 #define LVIF_PARAM     4
 #define LVIF_STATE     8
-#if (_WIN32_IE >= 0x0300)
-#define LVIF_INDENT 16
-#define LVIF_NORECOMPUTE 2048
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define LVIF_GROUPID 256
-#define LVIF_COLUMNS 512
-#endif
 #define LVIS_FOCUSED   1
 #define LVIS_SELECTED  2
 #define LVIS_CUT       4
@@ -1098,24 +656,6 @@ extern "C" {
 #define LVM_DELETEALLITEMS     (LVM_FIRST+9)
 #define LVM_GETCALLBACKMASK    (LVM_FIRST+10)
 #define LVM_SETCALLBACKMASK    (LVM_FIRST+11)
-#if( _WIN32_IE >= 0x0400 )
-#define LVM_SETBKIMAGEA        (LVM_FIRST + 68)
-#define LVM_SETBKIMAGEW        (LVM_FIRST + 138)
-#define LVM_GETBKIMAGEA        (LVM_FIRST + 69)
-#define LVM_GETBKIMAGEW        (LVM_FIRST + 139)
-#define LV_MAX_WORKAREAS       16
-#define LVM_SETWORKAREAS       (LVM_FIRST+65)
-#define LVM_GETWORKAREAS       (LVM_FIRST+70)
-#define LVM_GETNUMBEROFWORKAREAS       (LVM_FIRST+73)
-#define LVM_GETSELECTIONMARK   (LVM_FIRST+66)
-#define LVM_SETSELECTIONMARK   (LVM_FIRST+67)
-#define LVM_SETHOVERTIME       (LVM_FIRST+71)
-#define LVM_GETHOVERTIME       (LVM_FIRST+72)
-#define LVM_SETTOOLTIPS        (LVM_FIRST+74)
-#define LVM_GETTOOLTIPS        (LVM_FIRST+78)
-#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
 #define LVNI_ALL       0
 #define LVNI_FOCUSED   1
 #define LVNI_SELECTED  2
@@ -1168,19 +708,10 @@ extern "C" {
 #define LVCF_WIDTH     2
 #define LVCF_TEXT      4
 #define LVCF_SUBITEM   8
-#if (_WIN32_IE >= 0x0300)
-#define LVCF_IMAGE 16
-#define LVCF_ORDER 32
-#endif
 #define LVCFMT_LEFT    0
 #define LVCFMT_RIGHT   1
 #define LVCFMT_CENTER  2
 #define LVCFMT_JUSTIFYMASK     3
-#if (_WIN32_IE >= 0x0300)
-#define LVCFMT_BITMAP_ON_RIGHT 4096
-#define LVCFMT_COL_HAS_IMAGES  32768
-#define LVCFMT_IMAGE 2048 
-#endif
 #define LVM_GETCOLUMNA (LVM_FIRST+25)
 #define LVM_GETCOLUMNW (LVM_FIRST+95)
 #define LVM_SETCOLUMNA (LVM_FIRST+26)
@@ -1216,21 +747,6 @@ extern "C" {
 #define LVM_GETITEMSPACING     (LVM_FIRST+51)
 #define LVM_GETISEARCHSTRINGA  (LVM_FIRST+52)
 #define LVM_GETISEARCHSTRINGW  (LVM_FIRST+117)
-#if (_WIN32_IE >= 0x0300)
-#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
-#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
-#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
-#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
-#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
-#define LVM_GETHEADER (LVM_FIRST+31)
-#define LVM_GETHOTCURSOR (LVM_FIRST+63)
-#define LVM_GETHOTITEM (LVM_FIRST+61)
-#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
-#define LVM_SETHOTCURSOR (LVM_FIRST+62)
-#define LVM_SETHOTITEM (LVM_FIRST+60)
-#define LVM_SETICONSPACING (LVM_FIRST+53)
-#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
-#endif
 #define LVN_ITEMCHANGING       LVN_FIRST
 #define LVN_ITEMCHANGED        (LVN_FIRST-1)
 #define LVN_INSERTITEM (LVN_FIRST-2)
@@ -1248,37 +764,12 @@ extern "C" {
 #define LVN_SETDISPINFOA       (LVN_FIRST-51)
 #define LVN_SETDISPINFOW       (LVN_FIRST-78)
 #define LVN_KEYDOWN    (LVN_FIRST-55)
-#if (_WIN32_IE >= 0x0400)
-#define LVN_MARQUEEBEGIN  (LVN_FIRST-56)
-#define LVN_GETINFOTIPA        (LVN_FIRST-57)
-#define LVN_GETINFOTIPW        (LVN_FIRST-58)
-#define LVKF_ALT       0x0001
-#define LVKF_CONTROL   0x0002
-#define LVKF_SHIFT     0x0004
-#define LVGIT_UNFOLDED  1
-#endif
 #define TVS_HASBUTTONS 1
 #define TVS_HASLINES   2
 #define TVS_LINESATROOT        4
 #define TVS_EDITLABELS 8
 #define TVS_DISABLEDRAGDROP    16
 #define TVS_SHOWSELALWAYS      32
-#if (_WIN32_IE >= 0x0300)
-#define TVS_CHECKBOXES 256
-#define TVS_NOTOOLTIPS 128
-#define TVS_RTLREADING 64
-#define TVS_TRACKSELECT 512
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVS_FULLROWSELECT 4096
-#define TVS_INFOTIP 2048
-#define TVS_NONEVENHEIGHT 16384
-#define TVS_NOSCROLL 8192
-#define TVS_SINGLEEXPAND 1024
-#endif
-#if( _WIN32_IE >= 0x0500 )
-#define TVS_NOHSCROLL  0x8000
-#endif /* _WIN32_IE >= 0x0500 */
 #define TVIF_TEXT      1
 #define TVIF_IMAGE     2
 #define TVIF_PARAM     4
@@ -1286,9 +777,6 @@ extern "C" {
 #define TVIF_HANDLE    16
 #define TVIF_SELECTEDIMAGE     32
 #define TVIF_CHILDREN  64
-#if (_WIN32_IE >= 0x0400)
-#define TVIF_INTEGRAL  0x0080
-#endif /* _WIN32_IE >= 0x0400 */
 #define TVIS_FOCUSED   1
 #define TVIS_SELECTED  2
 #define TVIS_CUT       4
@@ -1334,37 +822,10 @@ extern "C" {
 #define TVM_ENDEDITLABELNOW    (TV_FIRST+22)
 #define TVM_GETISEARCHSTRINGA  (TV_FIRST+23)
 #define TVM_GETISEARCHSTRINGW  (TV_FIRST+64)
-#if (_WIN32_IE >= 0x0300)
-#define TVM_GETTOOLTIPS (TV_FIRST+25)
-#define TVM_SETTOOLTIPS (TV_FIRST+24)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVM_GETBKCOLOR (TV_FIRST+31)
-#define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
-#define TVM_GETITEMHEIGHT (TV_FIRST+28)
-#define TVM_GETSCROLLTIME (TV_FIRST+34)
-#define TVM_GETTEXTCOLOR (TV_FIRST+32)
-#define TVM_SETBKCOLOR (TV_FIRST+29)
-#define TVM_SETINSERTMARK (TV_FIRST+26)
-#define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
-#define TVM_SETITEMHEIGHT (TV_FIRST+27)
-#define TVM_SETSCROLLTIME (TV_FIRST+33)
-#define TVM_SETTEXTCOLOR (TV_FIRST+30)
-#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TVM_GETITEMSTATE (TV_FIRST+39)
-#define TVM_SETLINECOLOR (TV_FIRST+40)
-#define TVM_GETLINECOLOR (TV_FIRST+41)
-#endif
 #define TVE_COLLAPSE   1
 #define TVE_EXPAND     2
 #define TVE_TOGGLE     3
 #define TVE_COLLAPSERESET      0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TVE_EXPANDPARTIAL      0x4000
-#endif
 #define TVC_UNKNOWN    0
 #define TVC_BYMOUSE    1
 #define TVC_BYKEYBOARD 2
@@ -1378,9 +839,6 @@ extern "C" {
 #define TVGN_PREVIOUSVISIBLE   7
 #define TVGN_DROPHILITE        8
 #define TVGN_CARET     9
-#if (_WIN32_IE >= 0x0400)
-#define TVGN_LASTVISIBLE       10
-#endif
 #define TVN_SELCHANGINGA       (TVN_FIRST-1)
 #define TVN_SELCHANGINGW       (TVN_FIRST-50)
 #define TVN_SELCHANGEDA        (TVN_FIRST-2)
@@ -1404,14 +862,6 @@ extern "C" {
 #define TVN_ENDLABELEDITA      (TVN_FIRST-11)
 #define TVN_ENDLABELEDITW      (TVN_FIRST-60)
 #define TVN_KEYDOWN    (TVN_FIRST-12)
-#if (_WIN32_IE >= 0x0400)
-#define TVN_GETINFOTIPA        (TVN_FIRST-13)
-#define TVN_GETINFOTIPW        (TVN_FIRST-14)
-#define TVN_SINGLEEXPAND       (TVN_FIRST-15)
-#define TVNRET_DEFAULT 0
-#define TVNRET_SKIPOLD 1
-#define TVNRET_SKIPNEW 2
-#endif /* _WIN32_IE >= 0x0400 */
 #define TVIF_DI_SETITEM        0x1000
 #define TVHT_NOWHERE   1
 #define TVHT_ONITEMICON        2
@@ -1442,30 +892,11 @@ extern "C" {
 #define TCS_OWNERDRAWFIXED     0x2000
 #define TCS_TOOLTIPS   0x4000
 #define TCS_FOCUSNEVER 0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TCS_BOTTOM     2
-#define TCS_RIGHT      2
-#define TCS_VERTICAL   128
-#define TCS_SCROLLOPPOSITE     0x0001
-#define TCS_HOTTRACK   0x0040
-#define TCS_MULTISELECT        0x0004
-#endif
-#if( _WIN32_IE >= 0x0400 )
-#define TCS_FLATBUTTONS        0x0008
-#define TCS_EX_FLATSEPARATORS  0x00000001
-#define TCS_EX_REGISTERDROP    0x00000002
-#endif /* _WIN32_IE >= 0x0400 */
 #define TCIF_TEXT      1
 #define TCIF_IMAGE     2
 #define TCIF_RTLREADING        4
 #define TCIF_PARAM     8
-#if (_WIN32_IE >= 0x0400)
-#define TCIF_STATE     16
-#endif
 #define TCIS_BUTTONPRESSED 1
-#if (_WIN32_IE >= 0x0400)
-#define TCIS_HIGHLIGHTED 2
-#endif
 #define TCM_FIRST      0x1300
 #define TCM_GETIMAGELIST       (TCM_FIRST+2)
 #define TCM_SETIMAGELIST       (TCM_FIRST+3)
@@ -1495,13 +926,6 @@ extern "C" {
 #define TCM_SETCURFOCUS        (TCM_FIRST+48)
 #define TCM_SETMINTABWIDTH     (TCM_FIRST + 49)
 #define TCM_DESELECTALL        (TCM_FIRST + 50)
-#if (_WIN32_IE >=0x0400)
-#define TCM_HIGHLIGHTITEM      (TCM_FIRST + 51)
-#define TCM_SETEXTENDEDSTYLE   (TCM_FIRST + 52)
-#define TCM_GETEXTENDEDSTYLE   (TCM_FIRST + 53)
-#define TCM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
-#define TCM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >=0x0400 */
 #define TCN_KEYDOWN    TCN_FIRST
 #define TCN_SELCHANGE  (TCN_FIRST-1)
 #define TCN_SELCHANGING        (TCN_FIRST-2)
@@ -1533,10 +957,6 @@ extern "C" {
 #define CCM_SETVERSION 0x2007
 #define CCM_GETVERSION 0x2008
 #define CCM_SETNOTIFYWINDOW 0x2009
-#if (_WIN32_WINNT >= 0x0501)
-#define CCM_SETWINDOWTHEME 0x200b
-#define CCM_DPISCALE 0x200c
-#endif 
 #define ICC_LISTVIEW_CLASSES 1
 #define ICC_TREEVIEW_CLASSES 2
 #define ICC_BAR_CLASSES        4
@@ -1549,16 +969,6 @@ extern "C" {
 #define ICC_DATE_CLASSES 256
 #define ICC_USEREX_CLASSES 512
 #define ICC_COOL_CLASSES 1024
-#if (_WIN32_IE >= 0x0400)
-#define ICC_INTERNET_CLASSES 2048
-#define ICC_PAGESCROLLER_CLASS 4096
-#define ICC_NATIVEFNTCTL_CLASS 8192
-#define INFOTIPSIZE 1024
-#endif /* _WIN32_IE */
-#if (_WIN32_WINNT >= 0x501)
-#define ICC_STANDARD_CLASSES   0x00004000
-#define ICC_LINK_CLASS         0x00008000
-#endif
 #define GDTR_MIN 1
 #define GDTR_MAX 2
 #define GMR_VISIBLE 0
@@ -1573,18 +983,10 @@ extern "C" {
 #define DTS_TIMEFORMAT 9
 #define DTS_APPCANPARSE 16
 #define DTS_RIGHTALIGN 32
-#if ( _WIN32_IE >= 0x500 )
-#define DTS_SHORTDATECENTURYFORMAT     0x000C
-#endif /* _WIN32_IE >= 0x500 */
 #define MCS_DAYSTATE 1
 #define MCS_MULTISELECT 2
 #define MCS_WEEKNUMBERS 4
-#if (_WIN32_IE >= 0x0400)
-#define MCS_NOTODAYCIRCLE      0x0008
-#define MCS_NOTODAY    0x0010
-#else /* _WIN32_IE >= 0x0400 */
 #define MCS_NOTODAY    0x0008
-#endif /* _WIN32_IE >= 0x0400 */
 #define DTM_GETSYSTEMTIME 0x1001
 #define DTM_SETSYSTEMTIME 0x1002
 #define DTM_GETRANGE 0x1003
@@ -1637,34 +1039,6 @@ extern "C" {
 #define ODT_TAB 101
 #define ODT_LISTVIEW 102
 #define SB_SETBKCOLOR  0x2001
-#if (_WIN32_IE >= 0x0300)
-#define SB_ISSIMPLE 1038
-#define MCSC_BACKGROUND 0
-#define MCSC_TEXT 1
-#define MCSC_TITLEBK 2
-#define MCSC_TITLETEXT 3
-#define MCSC_MONTHBK 4
-#define MCSC_TRAILINGTEXT 5
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define MCHT_TITLE 0x10000
-#define MCHT_CALENDAR 0x20000
-#define MCHT_TODAYLINK 0x30000
-#define MCHT_NEXT 0x1000000
-#define MCHT_PREV 0x2000000
-#define MCHT_NOWHERE 0x00
-#define MCHT_TITLEBK (MCHT_TITLE)
-#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
-#define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
-#define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
-#define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
-#define MCHT_CALENDARBK (MCHT_CALENDAR)
-#define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
-#define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
-#define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
-#define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
-#define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
-#endif /* _WIN32_IE >= 0x0400 */
 #define RBS_TOOLTIPS 256
 #define RBS_VARHEIGHT 512
 #define RBS_BANDBORDERS 1024
@@ -1681,13 +1055,6 @@ extern "C" {
 #define RBBS_VARIABLEHEIGHT    0x0040
 #define RBBS_GRIPPERALWAYS     0x0080
 #define RBBS_NOGRIPPER 0x0100
-#if (_WIN32_IE >= 0x0500)
-#define RBBS_USECHEVRON        0x0200
-#if (_WIN32_IE >= 0x0501)
-#define RBBS_HIDETITLE 0x0400
-#define RBBS_TOPALIGN  0x0800
-#endif /* _WIN32_IE >= 0x0501 */
-#endif /* _WIN32_IE >= 0x0500 */
 #define RBBIM_STYLE 1
 #define RBBIM_COLORS 2
 #define RBBIM_TEXT 4
@@ -1709,117 +1076,7 @@ extern "C" {
 #define RB_SETBANDINFOW (WM_USER+11)
 #define RB_SETPARENT (WM_USER+7)
 #define RBN_HEIGHTCHANGE RBN_FIRST
-#if (_WIN32_IE >= 0x0300)
-#define LVN_ODCACHEHINT (LVN_FIRST-13)
-#define LVN_ODFINDITEMA (LVN_FIRST-52)
-#define LVN_ODFINDITEMW (LVN_FIRST-79)
-#define LVN_ITEMACTIVATE (LVN_FIRST-14)
-#define LVN_ODSTATECHANGED (LVN_FIRST-15)
-#ifdef UNICODE
-#define LVN_ODFINDITEM LVN_ODFINDITEMW
-#else
-#define LVN_ODFINDITEM LVN_ODFINDITEMA
-#endif
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define SB_SETICON 1039
-#define SB_SETTIPTEXTA 1040
-#define SB_SETTIPTEXTW 1041
-#define SB_GETTIPTEXTA 1042
-#define SB_GETTIPTEXTW 1043
-#define SB_GETICON     1044
-#define SB_SETUNICODEFORMAT    0x2005
-#define SB_GETUNICODEFORMAT    0x2006
-#define PGF_INVISIBLE 0
-#define PGF_NORMAL 1
-#define PGF_GRAYED 2
-#define PGF_DEPRESSED 4
-#define PGF_HOT 8
-#define PGB_TOPORLEFT 0
-#define PGB_BOTTOMORRIGHT 1
-#define PGF_SCROLLUP 1
-#define PGF_SCROLLDOWN 2
-#define PGF_SCROLLLEFT 4
-#define PGF_SCROLLRIGHT 8
-#define PGK_SHIFT 1
-#define PGK_CONTROL 2
-#define PGK_MENU 4
-#define PGF_CALCWIDTH 1
-#define PGF_CALCHEIGHT 2
-#define PGM_FIRST 0x1400
-#define PGM_SETCHILD (PGM_FIRST+1)
-#define PGM_RECALCSIZE (PGM_FIRST+2)
-#define PGM_FORWARDMOUSE (PGM_FIRST+3)
-#define PGM_SETBKCOLOR (PGM_FIRST+4)
-#define PGM_GETBKCOLOR (PGM_FIRST+5)
-#define PGM_SETBORDER (PGM_FIRST+6)
-#define PGM_GETBORDER (PGM_FIRST+7)
-#define PGM_SETPOS (PGM_FIRST+8)
-#define PGM_GETPOS (PGM_FIRST+9)
-#define PGM_SETBUTTONSIZE (PGM_FIRST+10)
-#define PGM_GETBUTTONSIZE (PGM_FIRST+11)
-#define PGM_GETBUTTONSTATE (PGM_FIRST+12)
-#define PGM_GETDROPTARGET CCM_GETDROPTARGET
-#define RBS_REGISTERDROP 4096
-#define RBS_AUTOSIZE 8192
-#define RBS_VERTICALGRIPPER 16384
-#define RBS_DBLCLKTOGGLE  32768
-#define RBBIM_IDEALSIZE 512
-#define RBBIM_LPARAM 1024
-#define RBBIM_HEADERSIZE 2048
-#define RB_HITTEST (WM_USER+8)
-#define RB_GETRECT (WM_USER+9)
-#define RB_IDTOINDEX (WM_USER+16)
-#define RB_GETTOOLTIPS (WM_USER+17)
-#define RB_SETTOOLTIPS (WM_USER+18)
-#define RB_SETBKCOLOR (WM_USER+19)
-#define RB_GETBKCOLOR (WM_USER+20)
-#define RB_SETTEXTCOLOR (WM_USER+21)
-#define RB_GETTEXTCOLOR (WM_USER+22)
-#define RB_SIZETORECT (WM_USER+23)
-#define RB_BEGINDRAG (WM_USER+24)
-#define RB_ENDDRAG (WM_USER+25)
-#define RB_DRAGMOVE (WM_USER+26)
-#define RB_GETBARHEIGHT (WM_USER+27)
-#define RB_GETBANDINFOW (WM_USER+28)
-#define RB_GETBANDINFOA (WM_USER+29)
-#define RB_MINIMIZEBAND (WM_USER+30)
-#define RB_MAXIMIZEBAND (WM_USER+31)
-#define RB_GETDROPTARGET CCM_GETDROPTARGET
-#define RB_GETBANDBORDERS (WM_USER+34)
-#define RB_SHOWBAND (WM_USER+35)
-#define RB_SETPALETTE (WM_USER+37)
-#define RB_GETPALETTE (WM_USER+38)
-#define RB_MOVEBAND (WM_USER+39)
-#define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
-#define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
-#define RBN_GETOBJECT (RBN_FIRST-1)
-#define RBN_LAYOUTCHANGED (RBN_FIRST-2)
-#define RBN_AUTOSIZE (RBN_FIRST-3)
-#define RBN_BEGINDRAG (RBN_FIRST-4)
-#define RBN_ENDDRAG (RBN_FIRST-5)
-#define RBN_DELETINGBAND (RBN_FIRST-6)
-#define RBN_DELETEDBAND (RBN_FIRST-7)
-#define RBN_CHILDSIZE (RBN_FIRST-8)
-#define RBNM_ID 1
-#define RBNM_STYLE 2
-#define RBNM_LPARAM 4
-#define RBHT_NOWHERE 1
-#define RBHT_CAPTION 2
-#define RBHT_CLIENT 3
-#define RBHT_GRABBER 4
-#ifdef UNICODE
-#define SB_SETTIPTEXT  SB_SETTIPTEXTW
-#define SB_GETTIPTEXT  SB_GETTIPTEXTW
-#define RB_GETBANDINFO RB_GETBANDINFOW
-#else
-#define SB_SETTIPTEXT  SB_SETTIPTEXTA
-#define SB_GETTIPTEXT  SB_GETTIPTEXTA
-#define RB_GETBANDINFO RB_GETBANDINFOA
-#endif
-#else
 #define RB_GETBANDINFO (WM_USER+5)
-#endif /* _WIN32_IE >= 0x0400 */
 #define CBEM_INSERTITEMA       (WM_USER + 1)
 #define CBEM_SETIMAGELIST      (WM_USER + 2)
 #define CBEM_GETIMAGELIST      (WM_USER + 3)
@@ -1830,12 +1087,6 @@ extern "C" {
 #define CBEM_GETEDITCONTROL    (WM_USER + 7)
 #define CBEM_SETEXSTYLE        (WM_USER + 8)
 #define CBEM_GETEXSTYLE        (WM_USER + 9)
-#if (_WIN32_IE >= 0x0400)
-#define CBEM_SETEXTENDEDSTYLE  (WM_USER + 14)
-#define CBEM_GETEXTENDEDSTYLE  (WM_USER + 9)
-#define CBEM_SETUNICODEFORMAT  CCM_SETUNICODEFORMAT
-#define CBEM_GETUNICODEFORMAT  CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
 #define CBEM_HASEDITCHANGED    (WM_USER + 10)
 #define CBEM_INSERTITEMW       (WM_USER + 11)
 #define CBEM_SETITEMW  (WM_USER + 12)
@@ -1848,39 +1099,6 @@ extern "C" {
 #define DPAS_SORTED    1
 #define DPAS_INSERTBEFORE      2
 #define DPAS_INSERTAFTER       4
-#if (_WIN32_IE >= 0x400)
-#define WSB_PROP_CYVSCROLL     1
-#define WSB_PROP_CXHSCROLL     2
-#define WSB_PROP_CYHSCROLL     4
-#define WSB_PROP_CXVSCROLL     8
-#define WSB_PROP_CXHTHUMB      16
-#define WSB_PROP_CYVTHUMB      32
-#define WSB_PROP_VBKGCOLOR     64
-#define WSB_PROP_HBKGCOLOR     128
-#define WSB_PROP_VSTYLE        256
-#define WSB_PROP_HSTYLE        512
-#define WSB_PROP_WINSTYLE      1024
-#define WSB_PROP_PALETTE       2048
-#define WSB_PROP_MASK  0xfff
-#define FSB_FLAT_MODE  2
-#define FSB_ENCARTA_MODE       1
-#define FSB_REGULAR_MODE       0
-#endif /* _WIN32_IE >= 0x400 */
-#if (_WIN32_WINNT >= 0x0501)
-#define LIF_ITEMINDEX  0x00000001
-#define LIF_STATE      0x00000002
-#define LIF_ITEMID     0x00000004
-#define LIF_URL        0x00000008
-#define LIS_FOCUSED    0x00000001
-#define LIS_ENABLED    0x00000002
-#define LIS_VISITED    0x00000004
-#define LM_HITTEST     (WM_USER + 768)
-#define LM_GETIDEALHEIGHT      (WM_USER + 769)
-#define LM_SETITEM     (WM_USER + 770)
-#define LM_GETITEM     (WM_USER + 771)
-#define MAX_LINKID_TEXT        48
-#define L_MAX_URL_LENGTH       2084
-#endif
 
 typedef struct tagNMTCKEYDOWN {
   NMHDR hdr;
@@ -1913,202 +1131,52 @@ typedef struct tagCOMBOBOXEXITEMW{
        LPARAM lParam;
 } COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW;
 typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
-#if (_WIN32_IE >= 0x0400)
+typedef struct tagNMDATETIMECHANGE
+{
+       NMHDR nmhdr;
+       DWORD dwFlags;
+       SYSTEMTIME st;
+} NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
 typedef struct {
        NMHDR hdr;
-       COMBOBOXEXITEMA ceItem;
-} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
+       BOOL fChanged;
+       int iNewSelection;
+       WCHAR szText[CBEMAXSTRLEN];
+       int iWhy;
+} NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
 typedef struct {
        NMHDR hdr;
-       COMBOBOXEXITEMW ceItem;
-} NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
-typedef struct {
-       NMHDR   hdr;
-       int iItemid;
-       WCHAR   szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
+       BOOL fChanged;
+       int iNewSelection;
+       char szText[CBEMAXSTRLEN];
+       int iWhy;
+} NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
+typedef struct _COLORMAP {
+       COLORREF from;
+       COLORREF to;
+} COLORMAP,*LPCOLORMAP;
 typedef struct {
-       NMHDR   hdr;
-       int iItemid;
-       char    szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
-typedef struct tagNMIPADDRESS{
-       NMHDR hdr;
-       int iField;
-       int iValue;
-} NMIPADDRESS, *LPNMIPADDRESS;
-typedef struct tagLVKEYDOWN {
-       NMHDR hdr;
-       WORD wVKey;
-       UINT flags;
-} NMLVKEYDOWN, *LPNMLVKEYDOWN;
+       UINT uNotification;
+       HWND hWnd;
+       POINT ptCursor;
+} DRAGLISTINFO,*LPDRAGLISTINFO;
+typedef struct _TBBUTTON {
+       int iBitmap;
+       int idCommand;
+       BYTE fsState;
+       BYTE fsStyle;
+       BYTE bReserved[2];
+       DWORD dwData;
+       int iString;
+} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
+typedef const TBBUTTON *LPCTBBUTTON;
 typedef struct {
        NMHDR hdr;
-       DWORD dwFlag;
-       int iWidth;
-       int iHeight;
-} NMPGCALCSIZE, *LPNMPGCALCSIZE;
-typedef struct {
-       NMHDR hdr;
-       BOOL fwKeys;
-       RECT rcParent;
-       int iDir;
-       int iXpos;
-       int iYpos;
-       int iScroll;
-} NMPGSCROLL, *LPNMPGSCROLL;
-typedef struct tagNMSELCHANGE {
-       NMHDR nmhdr;
-       SYSTEMTIME stSelStart;
-       SYSTEMTIME stSelEnd;
-} NMSELCHANGE, *LPNMSELCHANGE;
-typedef struct tagNMTBHOTITEM {
-       NMHDR hdr;
-       int idOld;
-       int idNew;
-       DWORD dwFlags;
-} NMTBHOTITEM, *LPNMTBHOTITEM;
-typedef struct {
-       NMHDR hdr;
-       DWORD dwMask;
-       int idCommand;
-       DWORD_PTR lParam;
-       int iImage;
-       LPSTR pszText;
-       int cchText;
-} NMTBDISPINFOA, *LPNMTBDISPINFOA;
-typedef struct {
-       NMHDR hdr;
-       DWORD dwMask;
-       int idCommand;
-       DWORD_PTR lParam;
-       int iImage;
-       LPWSTR pszText;
-       int cchText;
-} NMTBDISPINFOW, *LPNMTBDISPINFOW;
-typedef struct tagNMTBGETINFOTIPA
-{
-       NMHDR hdr;
-       LPSTR pszText;
-       int cchTextMax;
-       int iItem;
-       LPARAM lParam;
-} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
-typedef struct tagNMTBGETINFOTIPW
-{
-       NMHDR hdr;
-       LPWSTR pszText;
-       int cchTextMax;
-       int iItem;
-       LPARAM lParam;
-} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
-typedef struct tagNMMOUSE {
-       NMHDR hdr;
-       DWORD_PTR dwItemSpec;
-       DWORD_PTR dwItemData;
-       POINT pt;
-       LPARAM dwHitInfo;
-} NMMOUSE, *LPNMMOUSE;
-#endif /*_WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0401)
-typedef struct tagNMTOOLTIPSCREATED
-{
-       NMHDR hdr;
-       HWND hwndToolTips;
-} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
-#endif
-typedef struct tagNMDATETIMECHANGE
-{
-       NMHDR nmhdr;
-       DWORD dwFlags;
-       SYSTEMTIME st;
-} NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
-typedef struct {
-       NMHDR hdr;
-       BOOL fChanged;
-       int iNewSelection;
-       WCHAR szText[CBEMAXSTRLEN];
-       int iWhy;
-} NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
-typedef struct {
-       NMHDR hdr;
-       BOOL fChanged;
-       int iNewSelection;
-       char szText[CBEMAXSTRLEN];
-       int iWhy;
-} NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
-typedef struct _COLORMAP {
-       COLORREF from;
-       COLORREF to;
-} COLORMAP,*LPCOLORMAP;
-typedef struct {
-       UINT uNotification;
-       HWND hWnd;
-       POINT ptCursor;
-} DRAGLISTINFO,*LPDRAGLISTINFO;
-typedef struct _TBBUTTON {
-       int iBitmap;
-       int idCommand;
-       BYTE fsState;
-       BYTE fsStyle;
-       BYTE bReserved[2];
-       DWORD dwData;
-       int iString;
-} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
-typedef const TBBUTTON *LPCTBBUTTON;
-#if _WIN32_IE >= 0x400
-typedef struct {
-       UINT cbSize;
-       DWORD dwMask;
-       int idCommand;
-       int iImage;
-       BYTE fsState;
-       BYTE fsStyle;
-       WORD cx;
-       DWORD lParam;
-       LPSTR pszText;
-       int cchText;
-} TBBUTTONINFOA, *LPTBBUTTONINFOA;
-typedef struct {
-       UINT cbSize;
-       DWORD dwMask;
-       int idCommand;
-       int iImage;
-       BYTE fsState;
-       BYTE fsStyle;
-       WORD cx;
-       DWORD lParam;
-       LPWSTR pszText;
-       int cchText;
-} TBBUTTONINFOW, *LPTBBUTTONINFOW;
-typedef struct {
-       int iButton;
-       DWORD dwFlags;
-} TBINSERTMARK, *LPTBINSERTMARK;
-typedef struct tagLVBKIMAGEA {
-       ULONG ulFlags;              
-       HBITMAP hbm;
-       LPSTR pszImage;
-       UINT cchImageMax;
-       int xOffsetPercent;
-       int yOffsetPercent;
-} LVBKIMAGEA, *LPLVBKIMAGEA;
-typedef struct tagLVBKIMAGEW {
-       ULONG ulFlags;             
-       HBITMAP hbm;
-       LPWSTR pszImage;
-       UINT cchImageMax;
-       int xOffsetPercent;
-       int yOffsetPercent;
-} LVBKIMAGEW, *LPLVBKIMAGEW;
-#endif /* _WIN32_IE >= 0x400 */
-typedef struct {
-       NMHDR hdr;
-       int iItem;
-       TBBUTTON tbButton;
-       int cchText;
-       LPTSTR pszText;
-} TBNOTIFY,*LPTBNOTIFY;
+       int iItem;
+       TBBUTTON tbButton;
+       int cchText;
+       LPTSTR pszText;
+} TBNOTIFY,*LPTBNOTIFY;
 typedef struct {
        HKEY hkr;
        LPCTSTR pszSubKey;
@@ -2198,13 +1266,8 @@ typedef struct _NMHEADERW {
     int     iButton;
     HD_ITEMW* pitem;
 }  NMHEADERW, *LPNMHEADERW;
-#ifdef UNICODE
-#define NMHEADER NMHEADERW
-#define LPNMHEADER LPNMHEADERW
-#else
-#define NMHEADER NMHEADERA
-#define LPNMHEADER LPNMHEADERA
-#endif
+#define NMHEADER __AW(NMHEADER)
+#define LPNMHEADER __AW(LPNMHEADER)
 /* End FIXME. */
 typedef struct tagNMHDDISPINFOA {
     NMHDR   hdr;
@@ -2241,28 +1304,6 @@ typedef struct tagNMLVCUSTOMDRAW {
     int          iSubItem;
 #endif
 } NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMLVGETINFOTIPA
-{
-       NMHDR hdr;
-       DWORD dwFlags;
-       LPSTR pszText;
-       int cchTextMax;
-       int iItem;
-       int iSubItem;
-       LPARAM lParam;
-} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
-typedef struct tagNMLVGETINFOTIPW
-{
-       NMHDR hdr;
-       DWORD dwFlags;
-       LPWSTR pszText;
-       int cchTextMax;
-       int iItem;
-       int iSubItem;
-       LPARAM lParam;
-} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
-#endif /* _WIN32_IE >= 0x0400 */
 typedef struct tagNMTVCUSTOMDRAW {
     NMCUSTOMDRAW nmcd;
     COLORREF     clrText;
@@ -2271,37 +1312,6 @@ typedef struct tagNMTVCUSTOMDRAW {
     int          iLevel;
 #endif
 } NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x400)
-typedef struct _NMTBCUSTOMDRAW {
-       NMCUSTOMDRAW nmcd;
-       HBRUSH hbrMonoDither;
-       HBRUSH hbrLines;
-       HPEN hpenLines;
-       COLORREF clrText;
-       COLORREF clrMark;
-       COLORREF clrTextHighlight;
-       COLORREF clrBtnFace;
-       COLORREF clrBtnHighlight;
-       COLORREF clrHighlightHotTrack;
-       RECT rcText;
-       int nStringBkMode;
-       int nHLStringBkMode;
-#if (_WIN32_WINNT >= 0x0501)
-       int iListGap;
-#endif
-} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
-typedef struct tagNMITEMACTIVATE {
-       NMHDR hdr;
-       int iItem;
-       int iSubItem;
-       UINT uNewState;
-       UINT uOldState;
-       UINT uChanged;
-       POINT ptAction;
-       LPARAM lParam;
-       UINT uKeyFlags;
-} NMITEMACTIVATE, *LPNMITEMACTIVATE;
-#endif /* _WIN32_IE >= 0x0400 */
 typedef struct tagTBADDBITMAP {
        HINSTANCE hInst;
        UINT nID;
@@ -2442,7 +1452,7 @@ typedef struct _LVITEMA {
 #if (_WIN32_IE >= 0x0300)
        int iIndent;
 #endif
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
        int iGroupId;
        UINT cColumns;
        PUINT puColumns;
@@ -2463,7 +1473,7 @@ typedef struct _LVITEMW {
 #if (_WIN32_IE >= 0x0300)
        int iIndent;
 #endif
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
        int iGroupId;
        UINT cColumns;
        PUINT puColumns;
@@ -2611,34 +1621,6 @@ typedef struct tagTVITEMW {
 #define _TV_ITEMW tagTVITEMW
 #define TV_ITEMW TVITEMW
 #define LPTV_ITEMW LPTVITEMW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagTVITEMEXA {
-       UINT mask;
-       HTREEITEM hItem;
-       UINT state;
-       UINT stateMask;
-       LPSTR pszText;
-       int cchTextMax;
-       int iImage;
-       int iSelectedImage;
-       int cChildren;
-       LPARAM lParam;
-       int iIntegral;
-} TVITEMEXA, *LPTVITEMEXA;
-typedef struct tagTVITEMEXW {
-       UINT mask;
-       HTREEITEM hItem;
-       UINT state;
-       UINT stateMask;
-       LPWSTR pszText;
-       int cchTextMax;
-       int iImage;
-       int iSelectedImage;
-       int cChildren;
-       LPARAM lParam;
-       int iIntegral;
-} TVITEMEXW, *LPTVITEMEXW;
-#endif /* _WIN32_IE >= 0x0400 */
 typedef struct tagTVINSERTSTRUCTA {
        HTREEITEM hParent;
        HTREEITEM hInsertAfter;
@@ -2718,22 +1700,6 @@ typedef struct tagNMTVDISPINFOW {
 } NMTVDISPINFOW, *LPNMTVDISPINFOW;
 #define _TV_DISPINFOW tagNMTVDISPINFOW
 #define TV_DISPINFOW NMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMTVGETINFOTIPA {
-       NMHDR hdr;
-       LPSTR pszText;
-       int cchTextMax;
-       HTREEITEM hItem;
-       LPARAM lParam;
-} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
-typedef struct tagNMTVGETINFOTIPW {
-       NMHDR hdr;
-       LPWSTR pszText;
-       int cchTextMax;
-       HTREEITEM hItem;
-       LPARAM lParam;
-} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
-#endif
 typedef struct _TV_KEYDOWN {
        NMHDR hdr;
        WORD wVKey;
@@ -2798,12 +1764,6 @@ typedef struct _TC_KEYDOWN {
        WORD wVKey;
        UINT flags;
 } TC_KEYDOWN;
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagINITCOMMONCONTROLSEX {
-       DWORD dwSize;
-       DWORD dwICC;
-} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
-#endif
 typedef struct tagPBRANGE {
        int iLow;
        int iHigh;
@@ -2884,98 +1844,11 @@ typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
 typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
 #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
 #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagNMLVODSTATECHANGE {
-  NMHDR hdr;
-  int iFrom;
-  int iTo;
-  UINT uNewState;
-  UINT uOldState;
-} NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE;
-typedef struct tagIMAGELISTDRAWPARAMS {
-       DWORD cbSize;
-       HIMAGELIST himl;
-       int i;
-       HDC hdcDst;
-       int x;
-       int y;
-       int cx;
-       int cy;
-       int xBitmap;        
-       int yBitmap;        
-       COLORREF rgbBk;
-       COLORREF rgbFg;
-       UINT fStyle;
-       DWORD dwRop;
-#if (_WIN32_WINNT >= 0x0501)
-       DWORD fState;
-       DWORD Frame;
-       COLORREF crEffect;
-#endif
-} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
-#endif /* (_WIN32_IE >= 0x0300) */
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMREBARCHILDSIZE {
-       NMHDR hdr;
-       UINT uBand;
-       UINT wID;
-       RECT rcChild;
-       RECT rcBand;
-} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
-typedef struct tagNMREBAR {
-       NMHDR hdr;
-       DWORD dwMask;
-       UINT uBand;
-       UINT fStyle;
-       UINT wID;
-       LPARAM lParam;
-} NMREBAR,*LPNMREBAR;
-typedef struct tagNMRBAUTOSIZE {
-       NMHDR hdr;
-       BOOL fChanged;
-       RECT rcTarget;
-       RECT rcActual;
-} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagNMREBARCHEVRON {
-       NMHDR hdr;
-       UINT uBand;
-       UINT wID;
-       LPARAM lParam;
-       RECT rc;
-       LPARAM lParamNM;
-} NMREBARCHEVRON, *LPNMREBARCHEVRON;
-#endif
-typedef struct _RB_HITTESTINFO {
-       POINT pt;
-       UINT flags;
-       int iBand;
-} RBHITTESTINFO,*LPRBHITTESTINFO;
-#endif
 typedef struct _DSA *HDSA;
 typedef struct _DPA *HDPA;
 typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(PVOID,PVOID);
 typedef INT (CALLBACK *PFNDSAENUMCALLBACK)(PVOID,PVOID);
 typedef INT (CALLBACK *PFNDPACOMPARE)(PVOID,PVOID,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
-typedef struct tagLITEM {
-       UINT mask;
-       int iLink;
-       UINT state;
-       UINT stateMask;
-       WCHAR szID[MAX_LINKID_TEXT];
-       WCHAR szUrl[L_MAX_URL_LENGTH];
-} LITEM,*PLITEM;
-typedef struct tagLHITTESTINFO {
-       POINT pt;
-       LITEM item;
-} LHITTESTINFO,*PLHITTESTINFO;
-typedef struct tagNMLINK {
-       NMHDR hdr;
-       LITEM item;
-} NMLINK,*PNMLINK;
-#endif /* _WIN32_WINNT >= 0x0501 */
 
 #define INDEXTOOVERLAYMASK(i) ((i)<<8)
 #define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
@@ -3014,28 +1887,12 @@ void WINAPI DrawInsert(HWND,HWND,int);
 void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
 void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
 void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
-#if (_WIN32_IE >= 0x0500)
-LANGID WINAPI GetMUILanguage(VOID);
-#endif
 #define Header_GetItemCount(w) (int)SNDMSG((w),HDM_GETITEMCOUNT,0,0)
 #define Header_InsertItem(w,i,phdi) (int)SNDMSG((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
 #define Header_DeleteItem(w,i) (BOOL)SNDMSG((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
 #define Header_GetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
 #define Header_SetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
 #define Header_Layout(w,l) (BOOL)SNDMSG((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
-#if (_WIN32_IE >= 0x0300)
-#define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
-#define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
-#define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
-#define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
-#define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
-#define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
-#endif
 HDSA WINAPI DSA_Create(INT,INT);
 BOOL WINAPI DSA_Destroy(HDSA);
 VOID WINAPI DSA_DestroyCallback(HDSA,PFNDSAENUMCALLBACK,PVOID);
@@ -3053,33 +1910,6 @@ PVOID WINAPI DPA_GetPtr(HDPA,INT_PTR);
 BOOL WINAPI DPA_Sort(HDPA,PFNDPACOMPARE,LPARAM);
 INT WINAPI DPA_Search(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT);
 BOOL WINAPI Str_SetPtrW(LPWSTR*,LPCWSTR);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
-BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
-BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
-BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
-INT WINAPI FlatSB_GetScrollPos(HWND,INT);
-BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
-#ifdef _WIN64
-BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
-#else
-#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
-#endif
-INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
-INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
-INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
-BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
-#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
-BOOL WINAPI InitializeFlatSB(HWND);
-HRESULT WINAPI UninitializeFlatSB(HWND);
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
-BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
-BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
-LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
-INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
-#endif /* _WIN32_WINNT >= 0x0501 */
 int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
 #define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
 int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
@@ -3116,16 +1946,7 @@ BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
 HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
 BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
 #endif
-#if (_WIN32_IE >= 0x0400)
-HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
-#endif
 void WINAPI InitCommonControls(void);
-#if (_WIN32_IE >= 0x0300)
-BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
-#endif
-#if (_WIN32_IE >= 0x0500)
-VOID WINAPI InitMUILanguage(LANGID);
-#endif
 int WINAPI LBItemFromPt(HWND,POINT,BOOL);
 #define ListView_GetBkColor(w) (COLORREF)SNDMSG((w),LVM_GETBKCOLOR,0,0)
 #define ListView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),LVM_GETIMAGELIST,(i),0)
@@ -3231,19 +2052,12 @@ int WINAPI LBItemFromPt(HWND,POINT,BOOL);
 #define ListView_SetInsertMark(w,p) (BOOL)SNDMSG((w),LVM_SETINSERTMARK,0,(LPARAM)(p))
 #define ListView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),LVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
 #define ListView_SetOutlineColor(w,c) (COLORREF)SNDMSG((w),LVM_SETOUTLINECOLOR,0,(LPARAM)(c))
-#if (_WIN32_WINNT >= 0x0501)
-#define ListView_SetSelectedColumn(w,i) SNDMSG((w),LVM_SETSELECTEDCOLUMN,(WPARAM)i,0)
-#endif
 #define ListView_SetTileInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEINFO,0,(LPARAM)(p))
 #define ListView_SetTileViewInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEVIEWINFO,0,(LPARAM)(p))
 #define ListView_SetView(w,i) (int)SNDMSG((w),LVM_SETVIEW,(WPARAM)(i),0)
 #define ListView_SortGroups(w,c,p) (int)SNDMSG((w),LVM_SORTGROUPS,(WPARAM)(c),(LPARAM)(p))
 #define ListView_SortItemsEx(w,c,p) (BOOL)SNDMSG((w),LVM_SORTITEMSEX,(WPARAM)(p),(LPARAM)(c))
 
-#if (_WIN32_WINNT >= 0x0501)
-#define ComboBox_SetMinVisible(w,i) (BOOL)SNDMSG((w), CB_SETMINVISIBLE,(WPARAM)(i),0);
-#define ComboBox_GetMinVisible(w) (INT)SNDMSG((w),CB_GETMINVISIBLE,0,0);
-#endif
 
 BOOL WINAPI MakeDragList(HWND);
 void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
@@ -3331,436 +2145,147 @@ BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT);
 #define TreeView_SortChildrenCB(w,s,r) (BOOL)SNDMSG((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTVSORTCB)(s))
 #define TreeView_EndEditLabelNow(w,f) (BOOL)SNDMSG((w),TVM_ENDEDITLABELNOW,f,0)
 #define TreeView_GetISearchString(w,s) (BOOL)SNDMSG((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
-#if (_WIN32_IE >= 0x0300)
-#define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
-#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
-#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
-#define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
-#define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
-#define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
-#define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
-#define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
-#define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
-#define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
-#define ListView_SubItemHitTest(w,p) (INT)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
-#define ListView_SetItemCountEx(w,i,f) (void)SNDMSG((w),LVM_SETITEMCOUNT,(WPARAM)(i),(LPARAM)(f))
-WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
-WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
-WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
-#define TabCtrl_SetMinTabWidth(hwnd,x) SNDMSG((hwnd),TCM_SETMINTABWIDTH,0,x)
-#define TabCtrl_DeselectAll(hwnd,fExcludeFocus) SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
-#define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
-#define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
-#define ListView_SetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
-#define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
-#define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
-#define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
-#define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
-#define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
-#define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
-#define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
-#define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
-#define ListView_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),LVM_SETUNICODEFORMAT,(WPARAM)(f),0)
-#define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),LVM_GETUNICODEFORMAT,0,0)
-#define TabCtrl_HighlightItem(w,i,fHighlight) SNDMSG((w),TCM_HIGHLIGHTITEM,(WPARAM)i,(LPARAM)MAKELONG(fHighlight,0))
-#define TabCtrl_SetExtendedStyle(w,dw) SNDMSG((w),TCM_SETEXTENDEDSTYLE,0,dw)
-#define TabCtrl_GetExtendedStyle(w) SNDMSG((w),TCM_GETEXTENDEDSTYLE,0,0)
-#define TabCtrl_SetUnicodeFormat(w,u) SNDMSG((w),TCM_SETUNICODEFORMAT,(WPARAM)(u),0)
-#define TabCtrl_GetUnicodeFormat(w) SNDMSG((w),TCM_GETUNICODEFORMAT,0,0)
-#define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
-#define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
-#define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
-#define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
-#define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
-#define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
-#define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
-#define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
-#define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
-#define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
-#define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
-#define TreeView_SetItemState(w,i,d,m) \
-{ \
-       TVITEM _tvi;\
-       _tvi.mask=TVIF_STATE;\
-       _tvi.hItem=i; \
-       _tvi.stateMask=m;\
-       _tvi.state=d;\
-       SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
-}
-#endif
 
-#ifdef UNICODE
-typedef HDITEMW HDITEM;
-typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOW NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
-typedef TVITEMW TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXW TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTW TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWW NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENW
-#define COMBOBOXEXITEM COMBOBOXEXITEMW
-#define PCOMBOBOXEXITEM        PCOMBOBOXEXITEMW
-#define PCCOMBOBOXEXITEM       PCCOMBOBOXEXITEMW
-#define CBEM_INSERTITEM        CBEM_INSERTITEMW
-#define CBEM_SETITEM   CBEM_SETITEMW
-#define CBEM_GETITEM   CBEM_GETITEMW
-#define CBEN_ENDEDIT   CBEN_ENDEDITW
-#define NMCBEENDEDIT   NMCBEENDEDITW
-#define LPNMCBEENDEDIT LPNMCBEENDEDITW
-#define PNMCBEENDEDIT  PNMCBEENDEDITW
-#if _WIN32_IE >= 0x0400
-#define NMCOMBOBOXEX   NMCOMBOBOXEXW
-#define PNMCOMBOBOXEX  PNMCOMBOBOXEXW
-#define CBEN_GETDISPINFO       CBEN_GETDISPINFOW
-#define CBEN_DRAGBEGIN CBEN_DRAGBEGINW
-#define NMCBEDRAGBEGIN NMCBEDRAGBEGINW
-#define LPNMCBEDRAGBEGIN       LPNMCBEDRAGBEGINW
-#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT     SB_GETTEXTW
-#define SB_SETTEXT     SB_SETTEXTW
-#define SB_GETTEXTLENGTH       SB_GETTEXTLENGTHW
-#define HDM_INSERTITEM HDM_INSERTITEMW
-#define HDM_GETITEM HDM_GETITEMW
-#define HDM_SETITEM HDM_SETITEMW
-#define HDN_ITEMCHANGING       HDN_ITEMCHANGINGW
-#define HDN_ITEMCHANGED        HDN_ITEMCHANGEDW
-#define HDN_ITEMCLICK  HDN_ITEMCLICKW
-#define HDN_ITEMDBLCLICK       HDN_ITEMDBLCLICKW
-#define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKW
-#define HDN_BEGINTRACK HDN_BEGINTRACKW
-#define HDN_ENDTRACK   HDN_ENDTRACKW
-#define HDN_TRACK      HDN_TRACKW
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOW
-#endif
-#define HD_NOTIFY HD_NOTIFYW
-#define TBSAVEPARAMS TBSAVEPARAMSW
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
-#define TB_SAVERESTORE TB_SAVERESTOREW
-#define TB_ADDSTRING TB_ADDSTRINGW
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
-#if _WIN32_IE >= 0x400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOW
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOW
-#define TB_INSERTBUTTON TB_INSERTBUTTONW
-#define TB_ADDBUTTONS TB_ADDBUTTONSW
-#define TB_MAPACCELERATOR TB_MAPACCELERATORW
-#define TB_GETSTRING TB_GETSTRINGW
-#define TBBUTTONINFO TBBUTTONINFOW
-#define LPTBBUTTONINFO LPTBBUTTONINFOW
-#define TBN_GETDISPINFO TBN_GETDISPINFOW
-#define NMTBDISPINFO NMTBDISPINFOW
-#define LPNMTBDISPINFO LPNMTBDISPINFOW
-#define NMTBGETINFOTIP NMTBGETINFOTIPW
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
-#endif
-#define TBNOTIFY TBNOTIFYW
-#define LPTBNOTIFY LPTBNOTIFYW
-#define NMTOOLBAR NMTOOLBARW
-#define LPNMTOOLBAR LPNMTOOLBARW
-#define TTM_ADDTOOL    TTM_ADDTOOLW
-#define TTM_DELTOOL    TTM_DELTOOLW
-#define TTM_NEWTOOLRECT        TTM_NEWTOOLRECTW
-#define TTM_GETTOOLINFO        TTM_GETTOOLINFOW
-#define TTM_SETTOOLINFO        TTM_SETTOOLINFOW
-#define TTM_HITTEST    TTM_HITTESTW
-#define TTM_GETTEXT    TTM_GETTEXTW
-#define TTM_UPDATETIPTEXT      TTM_UPDATETIPTEXTW
-#define TTM_ENUMTOOLS  TTM_ENUMTOOLSW
-#define TTM_GETCURRENTTOOL     TTM_GETCURRENTTOOLW
-#define TTN_NEEDTEXT TTN_NEEDTEXTW
-#define TTN_GETDISPINFO TTN_GETDISPINFOW
-#define SB_GETTEXT     SB_GETTEXTW
-#define SB_SETTEXT     SB_SETTEXTW
-#define SB_GETTEXTLENGTH       SB_GETTEXTLENGTHW
-#define LV_ITEM LV_ITEMW
-#define LVITEM LVITEMW
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE      LVBKIMAGEW
-#define LPLVBKIMAGE    LPLVBKIMAGEW
-#define LVM_SETBKIMAGE LVM_SETBKIMAGEW
-#define LVM_GETBKIMAGE LVM_GETBKIMAGEW
-#endif /* _WIN32_IE >= 0x400 */
-#define LVM_GETITEM    LVM_GETITEMW
-#define LVM_SETITEM LVM_SETITEMW
-#define LVM_INSERTITEM LVM_INSERTITEMW
-#define LV_FINDINFO LV_FINDINFOW
-#define LVFINDINFO LVFINDINFOW
-#define LPFINDINFO LPFINDINFOW
-#define NMLVFINDITEM NMLVFINDITEMW
-#define PNMLVFINDITEM PNMLVFINDITEMW
-#define LPNMLVFINDITEM LPNMLVFINDITEMW
-#define LVM_FINDITEM LVM_FINDITEMW
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
-#define LVM_EDITLABEL LVM_EDITLABELW
-#define LV_COLUMN LV_COLUMNW
-#define LVCOLUMN LVCOLUMNW
-#define LVM_GETCOLUMN LVM_GETCOLUMNW
-#define LVM_SETCOLUMN LVM_SETCOLUMNW
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTW
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTW
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
-#define LVN_GETDISPINFO LVN_GETDISPINFOW
-#define LVN_SETDISPINFO LVN_SETDISPINFOW
-#define LVN_GETINFOTIP LVN_GETINFOTIPW
-#define NMLVGETINFOTIP NMLVGETINFOTIPW
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
-#define LV_DISPINFO LV_DISPINFOW
-#define NMLVDISPINFO NMLVDISPINFOW
-#define LPNMLVDISPINFO LPNMLVDISPINFOW
-#define TVM_INSERTITEM TVM_INSERTITEMW
-#define TVM_GETITEM TVM_GETITEMW
-#define TVM_SETITEM TVM_SETITEMW
-#define TVM_EDITLABEL TVM_EDITLABELW
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
-#define TV_DISPINFO NMTVDISPINFOW
-#define NMTVDISPINFO NMTVDISPINFOW
-#define LPNMTVDISPINFO LPNMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPW
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
-#define TVN_GETINFOTIP TVN_GETINFOTIPW
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGW
-#define TVN_SELCHANGED TVN_SELCHANGEDW
-#define TVN_GETDISPINFO TVN_GETDISPINFOW
-#define TVN_SETDISPINFO TVN_SETDISPINFOW
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
-#define TVN_BEGINDRAG TVN_BEGINDRAGW
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGW
-#define TVN_DELETEITEM TVN_DELETEITEMW
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
-#define TC_ITEMHEADER TC_ITEMHEADERW
-#define TCITEMHEADER TCITEMHEADERW
-#define LPTCITEMHEADER LPTCITEMHEADERW
-#define TC_ITEM TC_ITEMW
-#define TCITEM TCITEMW
-#define LPTCITEM LPTCITEMW
-#define TCM_GETITEM TCM_GETITEMW
-#define TCM_SETITEM TCM_SETITEMW
-#define TCM_INSERTITEM TCM_INSERTITEMW
-#define CreateStatusWindow CreateStatusWindowW
-#define DrawStatusText DrawStatusTextW
-#define ImageList_LoadImage ImageList_LoadImageW
-#define DTM_SETFORMAT DTM_SETFORMATW
-#define DTN_USERSTRING DTN_USERSTRINGW
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNW
-#define DTN_FORMAT DTN_FORMATW
-#define DTN_FORMATQUERY DTN_FORMATQUERYW
-typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOW
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDW
-#define RB_SETBANDINFO RB_SETBANDINFOW
-#else /* UNICODE */
-typedef HDITEMA HDITEM;
-typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOA NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
-typedef TVITEMA TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXA TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTA TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWA NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENA
-#define COMBOBOXEXITEM COMBOBOXEXITEMA
-#define PCOMBOBOXEXITEM        PCOMBOBOXEXITEMA
-#define PCCOMBOBOXEXITEM       PCCOMBOBOXEXITEMA
-#define CBEM_INSERTITEM        CBEM_INSERTITEMA
-#define CBEM_SETITEM   CBEM_SETITEMA
-#define CBEM_GETITEM   CBEM_GETITEMA
-#define CBEN_ENDEDIT   CBEN_ENDEDITA
-#define NMCBEENDEDIT   NMCBEENDEDITA
-#define LPNMCBEENDEDIT LPNMCBEENDEDITA
-#define PNMCBEENDEDIT  PNMCBEENDEDITA
-#if _WIN32_IE >= 0x0400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOA
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOA
-#define TB_INSERTBUTTON TB_INSERTBUTTONA
-#define TB_ADDBUTTONS TB_ADDBUTTONSA
-#define TB_MAPACCELERATOR TB_MAPACCELERATORA
-#define TB_GETSTRING TB_GETSTRINGA
-#define NMCOMBOBOXEX   NMCOMBOBOXEXA
-#define PNMCOMBOBOXEX  PNMCOMBOBOXEXA
-#define CBEN_DRAGBEGIN CBEN_DRAGBEGINA
-#define CBEN_GETDISPINFO       CBEN_GETDISPINFOA
-#define NMCBEDRAGBEGIN NMCBEDRAGBEGINA
-#define LPNMCBEDRAGBEGIN       LPNMCBEDRAGBEGINA
-#define PNMCBEDRAGBEGIN        PNMCBEDRAGBEGINA
-#define TBN_GETDISPINFO TBN_GETDISPINFOA
-#define NMTBDISPINFO NMTBDISPINFOA
-#define LPNMTBDISPINFO LPNMTBDISPINFOA
-#define NMTBGETINFOTIP NMTBGETINFOTIPA
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT     SB_GETTEXTA
-#define SB_SETTEXT     SB_SETTEXTA
-#define SB_GETTEXTLENGTH       SB_GETTEXTLENGTHA
-#define HDM_INSERTITEM HDM_INSERTITEMA
-#define HDM_GETITEM HDM_GETITEMA
-#define HDM_SETITEM HDM_SETITEMA
-#define HDN_ITEMCHANGING       HDN_ITEMCHANGINGA
-#define HDN_ITEMCHANGED        HDN_ITEMCHANGEDA
-#define HDN_ITEMCLICK  HDN_ITEMCLICKA
-#define HDN_ITEMDBLCLICK       HDN_ITEMDBLCLICKA
-#define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKA
-#define HDN_BEGINTRACK HDN_BEGINTRACKA
-#define HDN_ENDTRACK   HDN_ENDTRACKA
-#define HDN_TRACK      HDN_TRACKA
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOA
-#endif
-#define HD_NOTIFY HD_NOTIFYA
-#define TBSAVEPARAMS TBSAVEPARAMSA
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
-#define TB_SAVERESTORE TB_SAVERESTOREA
-#define TB_ADDSTRING TB_ADDSTRINGA
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
-#if _WIN32_IE >= 0x400
-#define TBBUTTONINFO TBBUTTONINFOA
-#define LPTBBUTTONINFO LPTBBUTTONINFOA
-#endif
-#define TBNOTIFY TBNOTIFYA
-#define LPTBNOTIFY LPTBNOTIFYA
-#define NMTOOLBAR NMTOOLBARA
-#define LPNMTOOLBAR LPNMTOOLBARA
-#define TTM_ADDTOOL    TTM_ADDTOOLA
-#define TTM_DELTOOL    TTM_DELTOOLA
-#define TTM_NEWTOOLRECT        TTM_NEWTOOLRECTA
-#define TTM_GETTOOLINFO        TTM_GETTOOLINFOA
-#define TTM_SETTOOLINFO        TTM_SETTOOLINFOA
-#define TTM_HITTEST    TTM_HITTESTA
-#define TTM_GETTEXT    TTM_GETTEXTA
-#define TTM_UPDATETIPTEXT      TTM_UPDATETIPTEXTA
-#define TTM_ENUMTOOLS  TTM_ENUMTOOLSA
-#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
-#define TTN_NEEDTEXT TTN_NEEDTEXTA
-#define TTN_GETDISPINFO TTN_GETDISPINFOA
-#define SB_GETTEXT     SB_GETTEXTA
-#define SB_SETTEXT     SB_SETTEXTA
-#define SB_GETTEXTLENGTH       SB_GETTEXTLENGTHA
-#define LV_ITEM LV_ITEMA
-#define LVITEM LVITEMA
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE      LVBKIMAGEA
-#define LPLVBKIMAGE    LPLVBKIMAGEA
-#define LVM_SETBKIMAGE LVM_SETBKIMAGEA
-#define LVM_GETBKIMAGE LVM_GETBKIMAGEA
-#endif /* _WIN32_IE >= 0x0400 */
-#define LVM_GETITEM    LVM_GETITEMA
-#define LVM_SETITEM LVM_SETITEMA
-#define LVM_INSERTITEM LVM_INSERTITEMA
-#define LV_FINDINFO LV_FINDINFOA
-#define LVFINDINFO LVFINDINFOA
-#define LPFINDINFO LPFINDINFOA
-#define NMLVFINDITEM NMLVFINDITEMA
-#define PNMLVFINDITEM PNMLVFINDITEMA
-#define LPNMLVFINDITEM LPNMLVFINDITEMA
-#define LVM_FINDITEM LVM_FINDITEMA
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
-#define LVM_EDITLABEL LVM_EDITLABELA
-#define LV_COLUMN LV_COLUMNA
-#define LVCOLUMN LVCOLUMNA
-#define LVM_GETCOLUMN LVM_GETCOLUMNA
-#define LVM_SETCOLUMN LVM_SETCOLUMNA
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTA
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTA
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
-#define LVN_GETDISPINFO LVN_GETDISPINFOA
-#define LVN_SETDISPINFO LVN_SETDISPINFOA
-#define LVN_GETINFOTIP LVN_GETINFOTIPA
-#define NMLVGETINFOTIP NMLVGETINFOTIPA
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
-#define LV_DISPINFO LV_DISPINFOA
-#define NMLVDISPINFO NMLVDISPINFOA
-#define LPNMLVDISPINFO LPNMLVDISPINFOA
-#define TVM_INSERTITEM TVM_INSERTITEMA
-#define TVM_GETITEM TVM_GETITEMA
-#define TVM_SETITEM TVM_SETITEMA
-#define TVM_EDITLABEL TVM_EDITLABELA
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
-#define TV_DISPINFO NMTVDISPINFOA
-#define NMTVDISPINFO NMTVDISPINFOA
-#define LPNMTVDISPINFO LPNMTVDISPINFOA
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPA
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
-#define TVN_GETINFOTIP TVN_GETINFOTIPA
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGA
-#define TVN_SELCHANGED TVN_SELCHANGEDA
-#define TVN_GETDISPINFO TVN_GETDISPINFOA
-#define TVN_SETDISPINFO TVN_SETDISPINFOA
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
-#define TVN_BEGINDRAG TVN_BEGINDRAGA
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGA
-#define TVN_DELETEITEM TVN_DELETEITEMA
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
-#define TC_ITEMHEADER TC_ITEMHEADERA
-#define TCITEMHEADER TCITEMHEADERA
-#define LPTCITEMHEADER LPTCITEMHEADERA
-#define TC_ITEM TC_ITEMA
-#define TCITEM TCITEMA
-#define LPTCITEM LPTCITEMA
-#define TCM_GETITEM TCM_GETITEMA
-#define TCM_SETITEM TCM_SETITEMA
-#define TCM_INSERTITEM TCM_INSERTITEMA
-#define CreateStatusWindow CreateStatusWindowA
-#define DrawStatusText DrawStatusTextA
-#define ImageList_LoadImage ImageList_LoadImageA
-#define DTM_SETFORMAT    DTM_SETFORMATA
-#define DTN_USERSTRING DTN_USERSTRINGA
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNA
-#define DTN_FORMAT DTN_FORMATA
-#define DTN_FORMATQUERY DTN_FORMATQUERYA
-typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOA
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDA
-#define RB_SETBANDINFO RB_SETBANDINFOA
-#endif
+typedef __AW(HDITEM) HDITEM;
+typedef __AW(TOOLINFO) TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
+typedef __AW(TTHITTESTINFO) TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
+typedef __AW(TOOLTIPTEXT) TOOLTIPTEXT,*LPTOOLTIPTEXT;
+typedef __AW(NMTTDISPINFO) NMTTDISPINFO, *LPNMTTDISPINFO;
+typedef __AW(TV_ITEM) TV_ITEM,*LPTV_ITEM;
+typedef __AW(TVITEM) TVITEM,*LPTVITEM;
+typedef __AW(TV_INSERTSTRUCT) TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
+typedef __AW(TVINSERTSTRUCT) TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
+typedef __AW(NM_TREEVIEW) NM_TREEVIEW,*LPNM_TREEVIEW;
+typedef __AW(NMTREEVIEW) NMTREEVIEW,*LPNMTREEVIEW;
+typedef __AW(NMHDDISPINFO) NMHDDISPINFO, *LPNMHDDISPINFO;
+#define ACM_OPEN __AW(ACM_OPEN)
+#define COMBOBOXEXITEM __AW(COMBOBOXEXITEM)
+#define PCOMBOBOXEXITEM        __AW(PCOMBOBOXEXITEM)
+#define PCCOMBOBOXEXITEM       __AW(PCCOMBOBOXEXITEM)
+#define CBEM_INSERTITEM        __AW(CBEM_INSERTITEM)
+#define CBEM_SETITEM   __AW(CBEM_SETITEM)
+#define CBEM_GETITEM   __AW(CBEM_GETITEM)
+#define CBEN_ENDEDIT   __AW(CBEN_ENDEDIT)
+#define NMCBEENDEDIT   __AW(NMCBEENDEDIT)
+#define LPNMCBEENDEDIT __AW(LPNMCBEENDEDIT)
+#define PNMCBEENDEDIT  __AW(PNMCBEENDEDIT)
+#define SB_GETTEXT     __AW(SB_GETTEXT)
+#define SB_SETTEXT     __AW(SB_SETTEXT)
+#define SB_GETTEXTLENGTH       __AW(SB_GETTEXTLENGTH)
+#define HDM_INSERTITEM __AW(HDM_INSERTITEM)
+#define HDM_GETITEM __AW(HDM_GETITEM)
+#define HDM_SETITEM __AW(HDM_SETITEM)
+#define HDN_ITEMCHANGING       __AW(HDN_ITEMCHANGING)
+#define HDN_ITEMCHANGED        __AW(HDN_ITEMCHANGED)
+#define HDN_ITEMCLICK  __AW(HDN_ITEMCLICK)
+#define HDN_ITEMDBLCLICK       __AW(HDN_ITEMDBLCLICK)
+#define HDN_DIVIDERDBLCLICK    __AW(HDN_DIVIDERDBLCLICK)
+#define HDN_BEGINTRACK __AW(HDN_BEGINTRACK)
+#define HDN_ENDTRACK   __AW(HDN_ENDTRACK)
+#define HDN_TRACK      __AW(HDN_TRACK)
+#define HD_NOTIFY __AW(HD_NOTIFY)
+#define TBSAVEPARAMS __AW(TBSAVEPARAMS)
+#define TB_GETBUTTONTEXT __AW(TB_GETBUTTONTEXT)
+#define TB_SAVERESTORE __AW(TB_SAVERESTORE)
+#define TB_ADDSTRING __AW(TB_ADDSTRING)
+#define TBN_GETBUTTONINFO __AW(TBN_GETBUTTONINFO)
+#define TBNOTIFY __AW(TBNOTIFY)
+#define LPTBNOTIFY __AW(LPTBNOTIFY)
+#define NMTOOLBAR __AW(NMTOOLBAR)
+#define LPNMTOOLBAR __AW(LPNMTOOLBAR)
+#define TTM_ADDTOOL    __AW(TTM_ADDTOOL)
+#define TTM_DELTOOL    __AW(TTM_DELTOOL)
+#define TTM_NEWTOOLRECT        __AW(TTM_NEWTOOLRECT)
+#define TTM_GETTOOLINFO        __AW(TTM_GETTOOLINFO)
+#define TTM_SETTOOLINFO        __AW(TTM_SETTOOLINFO)
+#define TTM_HITTEST    __AW(TTM_HITTEST)
+#define TTM_GETTEXT    __AW(TTM_GETTEXT)
+#define TTM_UPDATETIPTEXT      __AW(TTM_UPDATETIPTEXT)
+#define TTM_ENUMTOOLS  __AW(TTM_ENUMTOOLS)
+#define TTM_GETCURRENTTOOL     __AW(TTM_GETCURRENTTOOL)
+#define TTN_NEEDTEXT __AW(TTN_NEEDTEXT)
+#define TTN_GETDISPINFO __AW(TTN_GETDISPINFO)
+#define SB_GETTEXT     __AW(SB_GETTEXT)
+#define SB_SETTEXT     __AW(SB_SETTEXT)
+#define SB_GETTEXTLENGTH       __AW(SB_GETTEXTLENGTH)
+#define LV_ITEM __AW(LV_ITEM)
+#define LVITEM __AW(LVITEM)
+#define LPSTR_TEXTCALLBACK __AW(LPSTR_TEXTCALLBACK)
+#define LVM_GETITEM    __AW(LVM_GETITEM)
+#define LVM_SETITEM __AW(LVM_SETITEM)
+#define LVM_INSERTITEM __AW(LVM_INSERTITEM)
+#define LV_FINDINFO __AW(LV_FINDINFO)
+#define LVFINDINFO __AW(LVFINDINFO)
+#define LPFINDINFO __AW(LPFINDINFO)
+#define NMLVFINDITEM __AW(NMLVFINDITEM)
+#define PNMLVFINDITEM __AW(PNMLVFINDITEM)
+#define LPNMLVFINDITEM __AW(LPNMLVFINDITEM)
+#define LVM_FINDITEM __AW(LVM_FINDITEM)
+#define LVM_GETSTRINGWIDTH __AW(LVM_GETSTRINGWIDTH)
+#define LVM_EDITLABEL __AW(LVM_EDITLABEL)
+#define LV_COLUMN __AW(LV_COLUMN)
+#define LVCOLUMN __AW(LVCOLUMN)
+#define LVM_GETCOLUMN __AW(LVM_GETCOLUMN)
+#define LVM_SETCOLUMN __AW(LVM_SETCOLUMN)
+#define LVM_INSERTCOLUMN __AW(LVM_INSERTCOLUMN)
+#define LVM_GETITEMTEXT __AW(LVM_GETITEMTEXT)
+#define LVM_SETITEMTEXT __AW(LVM_SETITEMTEXT)
+#define LVM_GETISEARCHSTRING __AW(LVM_GETISEARCHSTRING)
+#define LVN_BEGINLABELEDIT __AW(LVN_BEGINLABELEDIT)
+#define LVN_ENDLABELEDIT __AW(LVN_ENDLABELEDIT)
+#define LVN_GETDISPINFO __AW(LVN_GETDISPINFO)
+#define LVN_SETDISPINFO __AW(LVN_SETDISPINFO)
+#define LVN_GETINFOTIP __AW(LVN_GETINFOTIP)
+#define NMLVGETINFOTIP __AW(NMLVGETINFOTIP)
+#define LPNMLVGETINFOTIP __AW(LPNMLVGETINFOTIP)
+#define LV_DISPINFO __AW(LV_DISPINFO)
+#define NMLVDISPINFO __AW(NMLVDISPINFO)
+#define LPNMLVDISPINFO __AW(LPNMLVDISPINFO)
+#define TVM_INSERTITEM __AW(TVM_INSERTITEM)
+#define TVM_GETITEM __AW(TVM_GETITEM)
+#define TVM_SETITEM __AW(TVM_SETITEM)
+#define TVM_EDITLABEL __AW(TVM_EDITLABEL)
+#define TVM_GETISEARCHSTRING __AW(TVM_GETISEARCHSTRING)
+#define TV_DISPINFO __AW(NMTVDISPINFO)
+#define NMTVDISPINFO __AW(NMTVDISPINFO)
+#define LPNMTVDISPINFO __AW(LPNMTVDISPINFO)
+#define TVN_SELCHANGING __AW(TVN_SELCHANGING)
+#define TVN_SELCHANGED __AW(TVN_SELCHANGED)
+#define TVN_GETDISPINFO __AW(TVN_GETDISPINFO)
+#define TVN_SETDISPINFO __AW(TVN_SETDISPINFO)
+#define TVN_ITEMEXPANDING __AW(TVN_ITEMEXPANDING)
+#define TVN_ITEMEXPANDED __AW(TVN_ITEMEXPANDED)
+#define TVN_BEGINDRAG __AW(TVN_BEGINDRAG)
+#define TVN_BEGINRDRAG __AW(TVN_BEGINRDRAG)
+#define TVN_DELETEITEM __AW(TVN_DELETEITEM)
+#define TVN_BEGINLABELEDIT __AW(TVN_BEGINLABELEDIT)
+#define TVN_ENDLABELEDIT __AW(TVN_ENDLABELEDIT)
+#define TC_ITEMHEADER __AW(TC_ITEMHEADER)
+#define TCITEMHEADER __AW(TCITEMHEADER)
+#define LPTCITEMHEADER __AW(LPTCITEMHEADER)
+#define TC_ITEM __AW(TC_ITEM)
+#define TCITEM __AW(TCITEM)
+#define LPTCITEM __AW(LPTCITEM)
+#define TCM_GETITEM __AW(TCM_GETITEM)
+#define TCM_SETITEM __AW(TCM_SETITEM)
+#define TCM_INSERTITEM __AW(TCM_INSERTITEM)
+#define CreateStatusWindow __AW(CreateStatusWindow)
+#define DrawStatusText __AW(DrawStatusText)
+#define ImageList_LoadImage __AW(ImageList_LoadImage)
+#define DTM_SETFORMAT __AW(DTM_SETFORMAT)
+#define DTN_USERSTRING __AW(DTN_USERSTRING)
+#define DTN_WMKEYDOWN __AW(DTN_WMKEYDOWN)
+#define DTN_FORMAT __AW(DTN_FORMAT)
+#define DTN_FORMATQUERY __AW(DTN_FORMATQUERY)
+typedef __AW(REBARBANDINFO) REBARBANDINFO,*LPREBARBANDINFO;
+#define LPCREBARBANDINFO __AW(LPCREBARBANDINFO)
+#define REBARBANDINFO_V3_SIZE __AW(REBARBANDINFO)_V3_SIZE
+#define RB_INSERTBAND __AW(RB_INSERTBAND)
+#define RB_SETBANDINFO __AW(RB_SETBANDINFO)
+
 #endif /* RC_INVOKED */
 
+
 #ifdef _WIN32_WCE               /* these are PPC only */
 
 COMMCTRLAPI HWND WINAPI CommandBar_Create(HINSTANCE, HWND, int); 
@@ -3783,6 +2308,1029 @@ COMMCTRLAPI int WINAPI CommandBar_Height(HWND hwndCB);
 
 #endif /* _WIN32_WCE */
 
+#if (_WIN32_IE >= 0x0300)
+#define CCS_VERT 128
+#define CCS_LEFT 129
+#define CCS_NOMOVEX 130
+#define CCS_RIGHT 131
+#define HDS_HOTTRACK   4
+#define HDS_DRAGDROP   0x0040
+#define HDS_FULLDRAG   0x0080
+#define RBN_FIRST      ((UINT)-831)
+#define RBN_LAST       ((UINT)-859)
+#define MCN_FIRST      ((UINT)-750)
+#define MCN_LAST       ((UINT)-759)
+#define DTN_FIRST      ((UINT)-760)
+#define DTN_LAST       ((UINT)-799)
+#define CBEN_FIRST     ((UINT)-800)
+#define CBEN_LAST      ((UINT)-830)
+#define HDI_IMAGE      32
+#define HDI_DI_SETITEM 64
+#define HDI_ORDER      128
+#define HDF_BITMAP_ON_RIGHT    0x1000
+#define HDF_IMAGE      0x0800
+#define HDM_GETITEMRECT (HDM_FIRST+7)
+#define HDM_SETIMAGELIST       (HDM_FIRST+8)
+#define HDM_GETIMAGELIST       (HDM_FIRST+9)
+#define HDM_ORDERTOINDEX       (HDM_FIRST+15)
+#define HDM_CREATEDRAGIMAGE    (HDM_FIRST+16)
+#define HDM_GETORDERARRAY      (HDM_FIRST+17)
+#define HDM_SETORDERARRAY      (HDM_FIRST+18)
+#define HDM_SETHOTDIVIDER      (HDM_FIRST+19)
+#define HDN_ENDDRAG    (HDN_FIRST-11)
+#define HDN_BEGINDRAG  (HDN_FIRST-10)
+#define HDN_GETDISPINFOA (HDN_FIRST-9)
+#define HDN_GETDISPINFOW (HDN_FIRST-29)
+#define TBSTATE_ELLIPSES 0x40
+#define TBSTYLE_DROPDOWN       8
+#define TBSTYLE_FLAT 2048
+#define TBSTYLE_LIST 4096
+#define TBSTYLE_CUSTOMERASE 8192
+#define IDB_HIST_SMALL_COLOR   8
+#define IDB_HIST_LARGE_COLOR   9
+#define TB_SETINDENT   (WM_USER+47)
+#define TB_SETIMAGELIST        (WM_USER+48)
+#define TB_GETIMAGELIST        (WM_USER+49)
+#define TB_LOADIMAGES  (WM_USER+50)
+#define TB_GETRECT     (WM_USER+51)
+#define TB_SETHOTIMAGELIST     (WM_USER+52)
+#define TB_GETHOTIMAGELIST     (WM_USER+53)
+#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
+#define TB_GETDISABLEDIMAGELIST        (WM_USER+55)
+#define TB_SETSTYLE    (WM_USER+56)
+#define TB_GETSTYLE    (WM_USER+57)
+#define TB_GETBUTTONSIZE       (WM_USER+58)
+#define TB_SETBUTTONWIDTH      (WM_USER+59)
+#define TB_SETMAXTEXTROWS      (WM_USER+60)
+#define TB_GETTEXTROWS (WM_USER+61)
+#define TBN_DROPDOWN   (TBN_FIRST-10)
+#define TTF_TRACK 0x0020
+#define TTF_ABSOLUTE 0x0080
+#define TTF_TRANSPARENT 0x0100
+#define TTF_DI_SETITEM 0x8000
+#define TBCD_TICS 1
+#define TBCD_THUMB 2
+#define TBCD_CHANNEL 3
+#define TTM_TRACKACTIVATE        (WM_USER+17)  
+#define TTM_TRACKPOSITION        (WM_USER+18)  
+#define TTM_SETTIPBKCOLOR        (WM_USER+19)
+#define TTM_SETTIPTEXTCOLOR    (WM_USER+20)
+#define TTM_GETDELAYTIME          (WM_USER+21)
+#define TTM_GETTIPBKCOLOR        (WM_USER+22)
+#define TTM_GETTIPTEXTCOLOR    (WM_USER+23)
+#define TTM_SETMAXTIPWIDTH      (WM_USER+24)
+#define TTM_GETMAXTIPWIDTH      (WM_USER+25)
+#define TTM_SETMARGIN           (WM_USER+26)  
+#define TTM_GETMARGIN           (WM_USER+27)  
+#define TTM_POP                          (WM_USER+28)
+#define UDS_HOTTRACK   0x0100
+#define TBS_TOOLTIPS 0x0100
+#define TBTS_TOP 0
+#define TBTS_LEFT 1
+#define TBTS_BOTTOM 2
+#define TBTS_RIGHT 3
+#define CDIS_CHECKED 8
+#define CDIS_DEFAULT 32
+#define CDIS_DISABLED 4
+#define CDIS_FOCUS 16
+#define CDIS_GRAYED 2
+#define CDIS_HOT 64
+#define CDIS_SELECTED 1
+#define CDIS_MARKED 128
+#define CDIS_INDETERMINATE 256
+#define CDDS_POSTERASE 4
+#define CDDS_POSTPAINT 2
+#define CDDS_PREERASE 3
+#define CDDS_PREPAINT 1
+#define CDDS_ITEM 65536
+#define CDDS_ITEMPOSTERASE 65540
+#define CDDS_ITEMPOSTPAINT 65538
+#define CDDS_ITEMPREERASE 65539
+#define CDDS_ITEMPREPAINT 65537
+#define CDRF_DODEFAULT 0x00
+#define CDRF_NOTIFYITEMDRAW 0x20
+#define CDRF_NOTIFYSUBITEMDRAW 0x20
+#define CDRF_NOTIFYITEMERASE 0x80
+#define CDRF_NOTIFYPOSTERASE 0x40
+#define CDRF_NOTIFYPOSTPAINT 0x10
+#define CDRF_NEWFONT 0x02
+#define CDRF_SKIPDEFAULT 0x04
+#define LVS_OWNERDATA 4096
+#define LVS_EX_CHECKBOXES 4
+#define LVS_EX_FULLROWSELECT 32
+#define LVS_EX_GRIDLINES 1
+#define LVS_EX_HEADERDRAGDROP 16
+#define LVS_EX_ONECLICKACTIVATE 64
+#define LVS_EX_SUBITEMIMAGES 2
+#define LVS_EX_TRACKSELECT 8
+#define LVS_EX_TWOCLICKACTIVATE 128
+#define LVSICF_NOINVALIDATEALL 0x00000001
+#define LVSICF_NOSCROLL        0x00000002
+#define LVIF_INDENT 16
+#define LVIF_NORECOMPUTE 2048
+#define LVCF_IMAGE 16
+#define LVCF_ORDER 32
+#define LVCFMT_BITMAP_ON_RIGHT 4096
+#define LVCFMT_COL_HAS_IMAGES  32768
+#define LVCFMT_IMAGE 2048 
+#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
+#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
+#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
+#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
+#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
+#define LVM_GETHEADER (LVM_FIRST+31)
+#define LVM_GETHOTCURSOR (LVM_FIRST+63)
+#define LVM_GETHOTITEM (LVM_FIRST+61)
+#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
+#define LVM_SETHOTCURSOR (LVM_FIRST+62)
+#define LVM_SETHOTITEM (LVM_FIRST+60)
+#define LVM_SETICONSPACING (LVM_FIRST+53)
+#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
+#define TVS_CHECKBOXES 256
+#define TVS_NOTOOLTIPS 128
+#define TVS_RTLREADING 64
+#define TVS_TRACKSELECT 512
+#define TVM_GETTOOLTIPS (TV_FIRST+25)
+#define TVM_SETTOOLTIPS (TV_FIRST+24)
+#define TVE_EXPANDPARTIAL      0x4000
+#define TCS_BOTTOM     2
+#define TCS_RIGHT      2
+#define TCS_VERTICAL   128
+#define TCS_SCROLLOPPOSITE     0x0001
+#define TCS_HOTTRACK   0x0040
+#define TCS_MULTISELECT        0x0004
+#define SB_ISSIMPLE 1038
+#define MCSC_BACKGROUND 0
+#define MCSC_TEXT 1
+#define MCSC_TITLEBK 2
+#define MCSC_TITLETEXT 3
+#define MCSC_MONTHBK 4
+#define MCSC_TRAILINGTEXT 5
+#define LVN_ODCACHEHINT (LVN_FIRST-13)
+#define LVN_ODFINDITEMA (LVN_FIRST-52)
+#define LVN_ODFINDITEMW (LVN_FIRST-79)
+#define LVN_ITEMACTIVATE (LVN_FIRST-14)
+#define LVN_ODSTATECHANGED (LVN_FIRST-15)
+#define LVN_ODFINDITEM __AW(LVN_ODFINDITEM)
+#ifndef RC_INVOKED
+typedef struct tagINITCOMMONCONTROLSEX {
+       DWORD dwSize;
+       DWORD dwICC;
+} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
+typedef struct tagNMLVODSTATECHANGE {
+  NMHDR hdr;
+  int iFrom;
+  int iTo;
+  UINT uNewState;
+  UINT uOldState;
+} NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE;
+typedef struct tagIMAGELISTDRAWPARAMS {
+       DWORD cbSize;
+       HIMAGELIST himl;
+       int i;
+       HDC hdcDst;
+       int x;
+       int y;
+       int cx;
+       int cy;
+       int xBitmap;        
+       int yBitmap;        
+       COLORREF rgbBk;
+       COLORREF rgbFg;
+       UINT fStyle;
+       DWORD dwRop;
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+       DWORD fState;
+       DWORD Frame;
+       COLORREF crEffect;
+#endif
+} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
+#define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
+#define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
+#define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
+#define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
+#define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
+#define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
+#define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
+BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
+#define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
+#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
+#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
+#define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
+#define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
+#define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
+#define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
+#define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
+#define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
+#define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
+#define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
+#define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
+#define ListView_SubItemHitTest(w,p) (INT)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
+#define ListView_SetItemCountEx(w,i,f) (void)SNDMSG((w),LVM_SETITEMCOUNT,(WPARAM)(i),(LPARAM)(f))
+WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
+WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
+WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
+#define TabCtrl_SetMinTabWidth(hwnd,x) SNDMSG((hwnd),TCM_SETMINTABWIDTH,0,x)
+#define TabCtrl_DeselectAll(hwnd,fExcludeFocus) SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
+#define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
+#define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
+#define HDN_GETDISPINFO __AW(HDN_GETDISPINFO)
+#endif /* RC_INVOKED */
+#endif /* _WIN32_IE >= 0x0300 */
+
+#if (_WIN32_IE >= 0x0400)
+#define CDDS_SUBITEM 0x20000
+#define LVBKIF_SOURCE_NONE      0x00000000
+#define LVBKIF_SOURCE_HBITMAP   0x00000001
+#define LVBKIF_SOURCE_URL       0x00000002
+#define LVBKIF_SOURCE_MASK      0x00000003
+#define LVBKIF_STYLE_NORMAL     0x00000000
+#define LVBKIF_STYLE_TILE       0x00000010
+#define LVBKIF_STYLE_MASK       0x00000010
+#define LVS_EX_FLATSB  0x00000100
+#define LVS_EX_REGIONAL        0x00000200
+#define LVS_EX_INFOTIP 0x00000400
+#define LVS_EX_UNDERLINEHOT    0x00000800
+#define LVS_EX_UNDERLINECOLD   0x00001000
+#define LVS_EX_MULTIWORKAREAS  0x00002000
+#define IPN_FIRST      ((UINT)-860)
+#define IPN_LAST       ((UINT)-879)
+#define IPN_FIELDCHANGED       (IPN_FIRST-0)
+#define SBN_FIRST      ((UINT)-880U)
+#define SBN_LAST       ((UINT)-899U)
+#define PGN_FIRST      ((UINT)-900U)
+#define PGN_LAST       ((UINT)-950U)
+#define PGN_SCROLL     (PGN_FIRST-1)
+#define PGN_CALCSIZE   (PGN_FIRST-2)
+#define CBES_EX_NOSIZELIMIT    0x00000008
+#define CBES_EX_CASESENSITIVE  0x00000010
+#define CBEN_GETDISPINFOA      (CBEN_FIRST - 0)
+#define CBEN_GETDISPINFOW      (CBEN_FIRST - 7)
+#define CBEN_DRAGBEGINA        (CBEN_FIRST - 8)
+#define CBEN_DRAGBEGINW        (CBEN_FIRST - 9)
+#define WSB_PROP_CYVSCROLL     1
+#define WSB_PROP_CXHSCROLL     2
+#define WSB_PROP_CYHSCROLL     4
+#define WSB_PROP_CXVSCROLL     8
+#define WSB_PROP_CXHTHUMB      16
+#define WSB_PROP_CYVTHUMB      32
+#define WSB_PROP_VBKGCOLOR     64
+#define WSB_PROP_HBKGCOLOR     128
+#define WSB_PROP_VSTYLE        256
+#define WSB_PROP_HSTYLE        512
+#define WSB_PROP_WINSTYLE      1024
+#define WSB_PROP_PALETTE       2048
+#define WSB_PROP_MASK  0xfff
+#define FSB_FLAT_MODE  2
+#define FSB_ENCARTA_MODE       1
+#define FSB_REGULAR_MODE       0
+#define CBEM_SETEXTENDEDSTYLE  (WM_USER + 14)
+#define CBEM_GETEXTENDEDSTYLE  (WM_USER + 9)
+#define CBEM_SETUNICODEFORMAT  CCM_SETUNICODEFORMAT
+#define CBEM_GETUNICODEFORMAT  CCM_GETUNICODEFORMAT
+#define SB_SETICON 1039
+#define SB_SETTIPTEXTA 1040
+#define SB_SETTIPTEXTW 1041
+#define SB_GETTIPTEXTA 1042
+#define SB_GETTIPTEXTW 1043
+#define SB_GETICON     1044
+#define SB_SETUNICODEFORMAT    0x2005
+#define SB_GETUNICODEFORMAT    0x2006
+#define PGF_INVISIBLE 0
+#define PGF_NORMAL 1
+#define PGF_GRAYED 2
+#define PGF_DEPRESSED 4
+#define PGF_HOT 8
+#define PGB_TOPORLEFT 0
+#define PGB_BOTTOMORRIGHT 1
+#define PGF_SCROLLUP 1
+#define PGF_SCROLLDOWN 2
+#define PGF_SCROLLLEFT 4
+#define PGF_SCROLLRIGHT 8
+#define PGK_SHIFT 1
+#define PGK_CONTROL 2
+#define PGK_MENU 4
+#define PGF_CALCWIDTH 1
+#define PGF_CALCHEIGHT 2
+#define PGM_FIRST 0x1400
+#define PGM_SETCHILD (PGM_FIRST+1)
+#define PGM_RECALCSIZE (PGM_FIRST+2)
+#define PGM_FORWARDMOUSE (PGM_FIRST+3)
+#define PGM_SETBKCOLOR (PGM_FIRST+4)
+#define PGM_GETBKCOLOR (PGM_FIRST+5)
+#define PGM_SETBORDER (PGM_FIRST+6)
+#define PGM_GETBORDER (PGM_FIRST+7)
+#define PGM_SETPOS (PGM_FIRST+8)
+#define PGM_GETPOS (PGM_FIRST+9)
+#define PGM_SETBUTTONSIZE (PGM_FIRST+10)
+#define PGM_GETBUTTONSIZE (PGM_FIRST+11)
+#define PGM_GETBUTTONSTATE (PGM_FIRST+12)
+#define PGM_GETDROPTARGET CCM_GETDROPTARGET
+#define RBS_REGISTERDROP 4096
+#define RBS_AUTOSIZE 8192
+#define RBS_VERTICALGRIPPER 16384
+#define RBS_DBLCLKTOGGLE  32768
+#define RBBIM_IDEALSIZE 512
+#define RBBIM_LPARAM 1024
+#define RBBIM_HEADERSIZE 2048
+#define RB_HITTEST (WM_USER+8)
+#define RB_GETRECT (WM_USER+9)
+#define RB_IDTOINDEX (WM_USER+16)
+#define RB_GETTOOLTIPS (WM_USER+17)
+#define RB_SETTOOLTIPS (WM_USER+18)
+#define RB_SETBKCOLOR (WM_USER+19)
+#define RB_GETBKCOLOR (WM_USER+20)
+#define RB_SETTEXTCOLOR (WM_USER+21)
+#define RB_GETTEXTCOLOR (WM_USER+22)
+#define RB_SIZETORECT (WM_USER+23)
+#define RB_BEGINDRAG (WM_USER+24)
+#define RB_ENDDRAG (WM_USER+25)
+#define RB_DRAGMOVE (WM_USER+26)
+#define RB_GETBARHEIGHT (WM_USER+27)
+#define RB_GETBANDINFOW (WM_USER+28)
+#define RB_GETBANDINFOA (WM_USER+29)
+#define RB_MINIMIZEBAND (WM_USER+30)
+#define RB_MAXIMIZEBAND (WM_USER+31)
+#define RB_GETDROPTARGET CCM_GETDROPTARGET
+#define RB_GETBANDBORDERS (WM_USER+34)
+#define RB_SHOWBAND (WM_USER+35)
+#define RB_SETPALETTE (WM_USER+37)
+#define RB_GETPALETTE (WM_USER+38)
+#define RB_MOVEBAND (WM_USER+39)
+#define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
+#define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
+#define RBN_GETOBJECT (RBN_FIRST-1)
+#define RBN_LAYOUTCHANGED (RBN_FIRST-2)
+#define RBN_AUTOSIZE (RBN_FIRST-3)
+#define RBN_BEGINDRAG (RBN_FIRST-4)
+#define RBN_ENDDRAG (RBN_FIRST-5)
+#define RBN_DELETINGBAND (RBN_FIRST-6)
+#define RBN_DELETEDBAND (RBN_FIRST-7)
+#define RBN_CHILDSIZE (RBN_FIRST-8)
+#define RBNM_ID 1
+#define RBNM_STYLE 2
+#define RBNM_LPARAM 4
+#define RBHT_NOWHERE 1
+#define RBHT_CAPTION 2
+#define RBHT_CLIENT 3
+#define RBHT_GRABBER 4
+#define SB_SETTIPTEXT  __AW(SB_SETTIPTEXT)
+#define SB_GETTIPTEXT  __AW(SB_GETTIPTEXT)
+#undef RB_GETBANDINFO
+#define RB_GETBANDINFO __AW(RB_GETBANDINFO)
+#define MCHT_TITLE 0x10000
+#define MCHT_CALENDAR 0x20000
+#define MCHT_TODAYLINK 0x30000
+#define MCHT_NEXT 0x1000000
+#define MCHT_PREV 0x2000000
+#define MCHT_NOWHERE 0x00
+#define MCHT_TITLEBK (MCHT_TITLE)
+#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
+#define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
+#define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
+#define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
+#define MCHT_CALENDARBK (MCHT_CALENDAR)
+#define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
+#define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
+#define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
+#define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
+#define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
+#define MCS_NOTODAYCIRCLE      0x0008
+#undef MCS_NOTODAY
+#define MCS_NOTODAY    0x0010
+#define ICC_INTERNET_CLASSES 2048
+#define ICC_PAGESCROLLER_CLASS 4096
+#define ICC_NATIVEFNTCTL_CLASS 8192
+#define INFOTIPSIZE 1024
+#define TCM_HIGHLIGHTITEM      (TCM_FIRST + 51)
+#define TCM_SETEXTENDEDSTYLE   (TCM_FIRST + 52)
+#define TCM_GETEXTENDEDSTYLE   (TCM_FIRST + 53)
+#define TCM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
+#define TCM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
+#define TCIS_HIGHLIGHTED 2
+#define TCIF_STATE     16
+#define TCS_FLATBUTTONS        0x0008
+#define TCS_EX_FLATSEPARATORS  0x00000001
+#define TCS_EX_REGISTERDROP    0x00000002
+#define TVN_GETINFOTIPA        (TVN_FIRST-13)
+#define TVN_GETINFOTIPW        (TVN_FIRST-14)
+#define TVN_SINGLEEXPAND       (TVN_FIRST-15)
+#define TVNRET_DEFAULT 0
+#define TVNRET_SKIPOLD 1
+#define TVNRET_SKIPNEW 2
+#define TVGN_LASTVISIBLE       10
+#define TVM_GETBKCOLOR (TV_FIRST+31)
+#define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
+#define TVM_GETITEMHEIGHT (TV_FIRST+28)
+#define TVM_GETSCROLLTIME (TV_FIRST+34)
+#define TVM_GETTEXTCOLOR (TV_FIRST+32)
+#define TVM_SETBKCOLOR (TV_FIRST+29)
+#define TVM_SETINSERTMARK (TV_FIRST+26)
+#define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
+#define TVM_SETITEMHEIGHT (TV_FIRST+27)
+#define TVM_SETSCROLLTIME (TV_FIRST+33)
+#define TVM_SETTEXTCOLOR (TV_FIRST+30)
+#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
+#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
+#define TVIF_INTEGRAL  0x0080
+#define TVS_FULLROWSELECT 4096
+#define TVS_INFOTIP 2048
+#define TVS_NONEVENHEIGHT 16384
+#define TVS_NOSCROLL 8192
+#define TVS_SINGLEEXPAND 1024
+#define LVN_MARQUEEBEGIN  (LVN_FIRST-56)
+#define LVN_GETINFOTIPA        (LVN_FIRST-57)
+#define LVN_GETINFOTIPW        (LVN_FIRST-58)
+#define LVKF_ALT       0x0001
+#define LVKF_CONTROL   0x0002
+#define LVKF_SHIFT     0x0004
+#define LVGIT_UNFOLDED  1
+#define LVM_SETBKIMAGEA        (LVM_FIRST + 68)
+#define LVM_SETBKIMAGEW        (LVM_FIRST + 138)
+#define LVM_GETBKIMAGEA        (LVM_FIRST + 69)
+#define LVM_GETBKIMAGEW        (LVM_FIRST + 139)
+#define LV_MAX_WORKAREAS       16
+#define LVM_SETWORKAREAS       (LVM_FIRST+65)
+#define LVM_GETWORKAREAS       (LVM_FIRST+70)
+#define LVM_GETNUMBEROFWORKAREAS       (LVM_FIRST+73)
+#define LVM_GETSELECTIONMARK   (LVM_FIRST+66)
+#define LVM_SETSELECTIONMARK   (LVM_FIRST+67)
+#define LVM_SETHOVERTIME       (LVM_FIRST+71)
+#define LVM_GETHOVERTIME       (LVM_FIRST+72)
+#define LVM_SETTOOLTIPS        (LVM_FIRST+74)
+#define LVM_GETTOOLTIPS        (LVM_FIRST+78)
+#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
+#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
+#define TBIF_BYINDEX 0x80000000
+#define TBIF_COMMAND 32
+#define TBIF_IMAGE 1
+#define TBIF_LPARAM 16
+#define TBIF_SIZE 64
+#define TBIF_STATE 4
+#define TBIF_STYLE 8
+#define TBIF_TEXT 2
+#define SBT_TOOLTIPS   0x0800
+#define SBN_SIMPLEMODECHANGE   (SBN_FIRST)
+#define UDM_SETRANGE32 (WM_USER+111)
+#define UDM_GETRANGE32 (WM_USER+112)
+#define UDM_SETPOS32   (WM_USER+113)
+#define UDM_GETPOS32   (WM_USER+114)
+#define TTM_UPDATE                 (WM_USER+29)
+#define TTM_GETBUBBLESIZE      (WM_USER+30)
+#define TTM_ADJUSTRECT (WM_USER+31)
+#define TTM_SETTITLEA  (WM_USER+32)
+#define TTM_SETTITLEW  (WM_USER+33)
+#define TBDDRET_DEFAULT 0
+#define TBDDRET_NODEFAULT 1
+#define TBDDRET_TREATPRESSED 2
+#define TBIMHT_AFTER 1
+#define TBIMHT_BACKGROUND 2
+#define TBN_HOTITEMCHANGE      (TBN_FIRST-13)
+#define TBN_DRAGOUT    (TBN_FIRST-14)
+#define TBN_DELETINGBUTTON     (TBN_FIRST-15)
+#define TBN_GETDISPINFOA       (TBN_FIRST-16)
+#define TBN_GETDISPINFOW       (TBN_FIRST-17)
+#define TBN_GETINFOTIPA        (TBN_FIRST-18)
+#define TBN_GETINFOTIPW        (TBN_FIRST-19)
+#define TBN_GETBUTTONINFOW     (TBN_FIRST-20)
+#define TB_GETOBJECT   (WM_USER+62)
+#define TB_GETBUTTONINFOW      (WM_USER+63)
+#define TB_SETBUTTONINFOW      (WM_USER+64)
+#define TB_GETBUTTONINFOA      (WM_USER+65)
+#define TB_SETBUTTONINFOA      (WM_USER+66)
+#define TB_INSERTBUTTONW       (WM_USER+67)
+#define TB_ADDBUTTONSW (WM_USER+68)
+#define TB_HITTEST     (WM_USER+69)
+#define TB_SETEXTENDEDSTYLE    (WM_USER+84)
+#define TB_GETEXTENDEDSTYLE    (WM_USER+85)
+#define TB_SETDRAWTEXTFLAGS    (WM_USER+70)
+#define TB_GETHOTITEM  (WM_USER+71)
+#define TB_SETHOTITEM  (WM_USER+72)
+#define TB_SETANCHORHIGHLIGHT  (WM_USER+73)
+#define TB_GETANCHORHIGHLIGHT  (WM_USER+74)
+#define TB_MAPACCELERATORA     (WM_USER+78)
+#define TB_GETINSERTMARK       (WM_USER+79)
+#define TB_SETINSERTMARK       (WM_USER+80)
+#define TB_INSERTMARKHITTEST   (WM_USER+81)
+#define TB_MOVEBUTTON          (WM_USER+82)
+#define TB_GETMAXSIZE          (WM_USER+83)
+#define TB_SETEXTENDEDSTYLE    (WM_USER+84)
+#define TB_GETEXTENDEDSTYLE    (WM_USER+85)
+#define TB_GETPADDING          (WM_USER+86)
+#define TB_SETPADDING          (WM_USER+87)
+#define TB_SETINSERTMARKCOLOR  (WM_USER+88)
+#define TB_GETINSERTMARKCOLOR  (WM_USER+89)
+#define TB_MAPACCELERATORW     (WM_USER+90)
+#define TB_GETSTRINGW          (WM_USER+91)
+#define TB_GETSTRINGA          (WM_USER+92)
+#define TB_SETCOLORSCHEME      CCM_SETCOLORSCHEME
+#define TB_GETCOLORSCHEME      CCM_GETCOLORSCHEME
+#define TB_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
+#define TB_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
+#undef TB_ADDBUTTONS
+#undef TB_INSERTBUTTON
+#define TB_ADDBUTTONSA (WM_USER+20)
+#define TB_INSERTBUTTONA       (WM_USER+21)
+#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
+#define TB_MARKBUTTON           (WM_USER+6)
+#define TBCDRF_NOEDGES 0x10000
+#define TBCDRF_HILITEHOTTRACK  0x20000
+#define TBCDRF_NOOFFSET        0x40000
+#define TBCDRF_NOMARK  0x80000
+#define TBCDRF_NOETCHEDEFFECT  0x100000
+#define TBSTYLE_REGISTERDROP   0x4000
+#define TBSTYLE_TRANSPARENT    0x8000
+#define TBSTYLE_EX_DRAWDDARROWS        0x00000001
+#define TBSTYLE_AUTOSIZE       16
+#define TBSTYLE_NOPREFIX       32
+#define TBSTATE_MARKED 0x0080
+#define HICF_OTHER 0x00
+#define HICF_MOUSE 0x01
+#define HICF_ARROWKEYS 0x02
+#define HICF_ACCELERATOR 0x04
+#define HICF_DUPACCEL 0x08
+#define HICF_ENTERING 0x10
+#define HICF_LEAVING 0x20
+#define HICF_RESELECT 0x40
+#define HICF_LMOUSE 0x80
+#define HICF_TOGGLEDROPDOWN 0x100
+#define HDM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
+#define HDM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
+#ifndef RC_INVOKED
+typedef struct {
+       NMHDR hdr;
+       COMBOBOXEXITEMA ceItem;
+} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
+typedef struct {
+       NMHDR hdr;
+       COMBOBOXEXITEMW ceItem;
+} NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
+typedef struct {
+       NMHDR   hdr;
+       int iItemid;
+       WCHAR   szText[CBEMAXSTRLEN];
+}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
+typedef struct {
+       NMHDR   hdr;
+       int iItemid;
+       char    szText[CBEMAXSTRLEN];
+}NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
+typedef struct tagNMIPADDRESS{
+       NMHDR hdr;
+       int iField;
+       int iValue;
+} NMIPADDRESS, *LPNMIPADDRESS;
+typedef struct tagLVKEYDOWN {
+       NMHDR hdr;
+       WORD wVKey;
+       UINT flags;
+} NMLVKEYDOWN, *LPNMLVKEYDOWN;
+typedef struct {
+       NMHDR hdr;
+       DWORD dwFlag;
+       int iWidth;
+       int iHeight;
+} NMPGCALCSIZE, *LPNMPGCALCSIZE;
+typedef struct {
+       NMHDR hdr;
+       BOOL fwKeys;
+       RECT rcParent;
+       int iDir;
+       int iXpos;
+       int iYpos;
+       int iScroll;
+} NMPGSCROLL, *LPNMPGSCROLL;
+typedef struct tagNMSELCHANGE {
+       NMHDR nmhdr;
+       SYSTEMTIME stSelStart;
+       SYSTEMTIME stSelEnd;
+} NMSELCHANGE, *LPNMSELCHANGE;
+typedef struct tagNMTBHOTITEM {
+       NMHDR hdr;
+       int idOld;
+       int idNew;
+       DWORD dwFlags;
+} NMTBHOTITEM, *LPNMTBHOTITEM;
+typedef struct {
+       NMHDR hdr;
+       DWORD dwMask;
+       int idCommand;
+       DWORD_PTR lParam;
+       int iImage;
+       LPSTR pszText;
+       int cchText;
+} NMTBDISPINFOA, *LPNMTBDISPINFOA;
+typedef struct {
+       NMHDR hdr;
+       DWORD dwMask;
+       int idCommand;
+       DWORD_PTR lParam;
+       int iImage;
+       LPWSTR pszText;
+       int cchText;
+} NMTBDISPINFOW, *LPNMTBDISPINFOW;
+typedef struct tagNMTBGETINFOTIPA
+{
+       NMHDR hdr;
+       LPSTR pszText;
+       int cchTextMax;
+       int iItem;
+       LPARAM lParam;
+} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
+typedef struct tagNMTBGETINFOTIPW
+{
+       NMHDR hdr;
+       LPWSTR pszText;
+       int cchTextMax;
+       int iItem;
+       LPARAM lParam;
+} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
+typedef struct tagNMMOUSE {
+       NMHDR hdr;
+       DWORD_PTR dwItemSpec;
+       DWORD_PTR dwItemData;
+       POINT pt;
+       LPARAM dwHitInfo;
+} NMMOUSE, *LPNMMOUSE;
+typedef struct {
+       UINT cbSize;
+       DWORD dwMask;
+       int idCommand;
+       int iImage;
+       BYTE fsState;
+       BYTE fsStyle;
+       WORD cx;
+       DWORD lParam;
+       LPSTR pszText;
+       int cchText;
+} TBBUTTONINFOA, *LPTBBUTTONINFOA;
+typedef struct {
+       UINT cbSize;
+       DWORD dwMask;
+       int idCommand;
+       int iImage;
+       BYTE fsState;
+       BYTE fsStyle;
+       WORD cx;
+       DWORD lParam;
+       LPWSTR pszText;
+       int cchText;
+} TBBUTTONINFOW, *LPTBBUTTONINFOW;
+typedef struct {
+       int iButton;
+       DWORD dwFlags;
+} TBINSERTMARK, *LPTBINSERTMARK;
+typedef struct tagLVBKIMAGEA {
+       ULONG ulFlags;              
+       HBITMAP hbm;
+       LPSTR pszImage;
+       UINT cchImageMax;
+       int xOffsetPercent;
+       int yOffsetPercent;
+} LVBKIMAGEA, *LPLVBKIMAGEA;
+typedef struct tagLVBKIMAGEW {
+       ULONG ulFlags;             
+       HBITMAP hbm;
+       LPWSTR pszImage;
+       UINT cchImageMax;
+       int xOffsetPercent;
+       int yOffsetPercent;
+} LVBKIMAGEW, *LPLVBKIMAGEW;
+typedef struct tagNMLVGETINFOTIPA
+{
+       NMHDR hdr;
+       DWORD dwFlags;
+       LPSTR pszText;
+       int cchTextMax;
+       int iItem;
+       int iSubItem;
+       LPARAM lParam;
+} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
+typedef struct tagNMLVGETINFOTIPW
+{
+       NMHDR hdr;
+       DWORD dwFlags;
+       LPWSTR pszText;
+       int cchTextMax;
+       int iItem;
+       int iSubItem;
+       LPARAM lParam;
+} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
+typedef struct _NMTBCUSTOMDRAW {
+       NMCUSTOMDRAW nmcd;
+       HBRUSH hbrMonoDither;
+       HBRUSH hbrLines;
+       HPEN hpenLines;
+       COLORREF clrText;
+       COLORREF clrMark;
+       COLORREF clrTextHighlight;
+       COLORREF clrBtnFace;
+       COLORREF clrBtnHighlight;
+       COLORREF clrHighlightHotTrack;
+       RECT rcText;
+       int nStringBkMode;
+       int nHLStringBkMode;
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+       int iListGap;
+#endif
+} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
+typedef struct tagNMITEMACTIVATE {
+       NMHDR hdr;
+       int iItem;
+       int iSubItem;
+       UINT uNewState;
+       UINT uOldState;
+       UINT uChanged;
+       POINT ptAction;
+       LPARAM lParam;
+       UINT uKeyFlags;
+} NMITEMACTIVATE, *LPNMITEMACTIVATE;
+typedef struct tagTVITEMEXA {
+       UINT mask;
+       HTREEITEM hItem;
+       UINT state;
+       UINT stateMask;
+       LPSTR pszText;
+       int cchTextMax;
+       int iImage;
+       int iSelectedImage;
+       int cChildren;
+       LPARAM lParam;
+       int iIntegral;
+} TVITEMEXA, *LPTVITEMEXA;
+typedef struct tagTVITEMEXW {
+       UINT mask;
+       HTREEITEM hItem;
+       UINT state;
+       UINT stateMask;
+       LPWSTR pszText;
+       int cchTextMax;
+       int iImage;
+       int iSelectedImage;
+       int cChildren;
+       LPARAM lParam;
+       int iIntegral;
+} TVITEMEXW, *LPTVITEMEXW;
+typedef struct tagNMTVGETINFOTIPA {
+       NMHDR hdr;
+       LPSTR pszText;
+       int cchTextMax;
+       HTREEITEM hItem;
+       LPARAM lParam;
+} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
+typedef struct tagNMTVGETINFOTIPW {
+       NMHDR hdr;
+       LPWSTR pszText;
+       int cchTextMax;
+       HTREEITEM hItem;
+       LPARAM lParam;
+} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
+typedef struct tagNMREBARCHILDSIZE {
+       NMHDR hdr;
+       UINT uBand;
+       UINT wID;
+       RECT rcChild;
+       RECT rcBand;
+} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
+typedef struct tagNMREBAR {
+       NMHDR hdr;
+       DWORD dwMask;
+       UINT uBand;
+       UINT fStyle;
+       UINT wID;
+       LPARAM lParam;
+} NMREBAR,*LPNMREBAR;
+typedef struct tagNMRBAUTOSIZE {
+       NMHDR hdr;
+       BOOL fChanged;
+       RECT rcTarget;
+       RECT rcActual;
+} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
+typedef struct _RB_HITTESTINFO {
+       POINT pt;
+       UINT flags;
+       int iBand;
+} RBHITTESTINFO,*LPRBHITTESTINFO;
+#define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
+#define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
+BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
+BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
+BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
+BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
+INT WINAPI FlatSB_GetScrollPos(HWND,INT);
+BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
+#ifdef _WIN64
+BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
+#else
+#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
+#endif
+INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
+INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
+INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
+BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
+#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
+BOOL WINAPI InitializeFlatSB(HWND);
+HRESULT WINAPI UninitializeFlatSB(HWND);
+HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
+#define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
+#define ListView_SetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
+#define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
+#define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
+#define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
+#define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
+#define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
+#define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
+#define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
+#define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
+#define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
+#define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
+#define ListView_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),LVM_SETUNICODEFORMAT,(WPARAM)(f),0)
+#define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),LVM_GETUNICODEFORMAT,0,0)
+#define TabCtrl_HighlightItem(w,i,fHighlight) SNDMSG((w),TCM_HIGHLIGHTITEM,(WPARAM)i,(LPARAM)MAKELONG(fHighlight,0))
+#define TabCtrl_SetExtendedStyle(w,dw) SNDMSG((w),TCM_SETEXTENDEDSTYLE,0,dw)
+#define TabCtrl_GetExtendedStyle(w) SNDMSG((w),TCM_GETEXTENDEDSTYLE,0,0)
+#define TabCtrl_SetUnicodeFormat(w,u) SNDMSG((w),TCM_SETUNICODEFORMAT,(WPARAM)(u),0)
+#define TabCtrl_GetUnicodeFormat(w) SNDMSG((w),TCM_GETUNICODEFORMAT,0,0)
+#define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
+#define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
+#define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
+#define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
+#define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
+#define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
+#define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
+#define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
+#define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
+#define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
+#define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
+#define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
+#define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
+#define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
+typedef __AW(TVITEMEX) TVITEMEX,*LPTVITEMEX;
+#define NMCOMBOBOXEX   __AW(NMCOMBOBOXEX)
+#define PNMCOMBOBOXEX  __AW(PNMCOMBOBOXEX)
+#define CBEN_GETDISPINFO       __AW(CBEN_GETDISPINFO)
+#define CBEN_DRAGBEGIN __AW(CBEN_DRAGBEGIN)
+#define NMCBEDRAGBEGIN __AW(NMCBEDRAGBEGIN)
+#define LPNMCBEDRAGBEGIN       __AW(LPNMCBEDRAGBEGIN)
+#define PNMCBEDRAGBEGIN __AW(PNMCBEDRAGBEGIN)
+#define TB_GETBUTTONINFO __AW(TB_GETBUTTONINFO)
+#define TB_SETBUTTONINFO __AW(TB_SETBUTTONINFO)
+#define TB_INSERTBUTTON __AW(TB_INSERTBUTTON)
+#define TB_ADDBUTTONS __AW(TB_ADDBUTTONS)
+#define TB_MAPACCELERATOR __AW(TB_MAPACCELERATOR)
+#define TB_GETSTRING __AW(TB_GETSTRING)
+#define TBBUTTONINFO __AW(TBBUTTONINFO)
+#define LPTBBUTTONINFO __AW(LPTBBUTTONINFO)
+#define TBN_GETDISPINFO __AW(TBN_GETDISPINFO)
+#define NMTBDISPINFO __AW(NMTBDISPINFO)
+#define LPNMTBDISPINFO __AW(LPNMTBDISPINFO)
+#define NMTBGETINFOTIP __AW(NMTBGETINFOTIP)
+#define LPNMTBGETINFOTIP __AW(LPNMTBGETINFOTIP)
+#define LVBKIMAGE      __AW(LVBKIMAGE)
+#define LPLVBKIMAGE    __AW(LPLVBKIMAGE)
+#define LVM_SETBKIMAGE __AW(LVM_SETBKIMAGE)
+#define LVM_GETBKIMAGE __AW(LVM_GETBKIMAGE)
+#define NMTVGETINFOTIP __AW(NMTVGETINFOTIP)
+#define LPNMTVGETINFOTIP __AW(LPNMTVGETINFOTIP)
+#define TVN_GETINFOTIP __AW(TVN_GETINFOTIP)
+#endif /* RC_INVOKED */
+#endif /* _WIN32_IE >= 0x0400 */
+
+#if (_WIN32_IE >= 0x0401)
+#ifndef RC_INVOKED
+typedef struct tagNMTOOLTIPSCREATED
+{
+       NMHDR hdr;
+       HWND hwndToolTips;
+} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
+#endif /* RC_INVOKED */
+#endif /* _WIN32_ID >= 0x0401 */
+
+#if( _WIN32_IE >= 0x0500 )
+#define LVS_EX_LABELTIP        0x00004000
+#define LVS_EX_BORDERSELECT    0x00008000
+#define COMCTL32_VERSION 5
+#define HDS_FILTERBAR  0x0100
+#define HDI_FILTER     256
+#define RBBS_USECHEVRON        0x0200
+#define DTS_SHORTDATECENTURYFORMAT     0x000C
+#define TVM_GETITEMSTATE (TV_FIRST+39)
+#define TVM_SETLINECOLOR (TV_FIRST+40)
+#define TVM_GETLINECOLOR (TV_FIRST+41)
+#define TVS_NOHSCROLL  0x8000
+#define TBS_REVERSED 0x0200
+#define UDM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
+#define UDM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
+#define TTS_NOANIMATE  0x10
+#define TTS_NOFADE     0x20
+#define TTS_BALLOON    0x40
+#define TTS_CLOSE      0x80
+#define TBN_RESTORE    (TBN_FIRST-21)
+#define TBN_SAVE       (TBN_FIRST-22)
+#define TBN_INITCUSTOMIZE      (TBN_FIRST-23)
+#define TBNRF_HIDEHELP 1
+#define TBNRF_ENDCUSTOMIZE     2
+#define TBNF_IMAGE     1
+#define TBNF_TEXT      2
+#define TBNF_DI_SETITEM        0x10000000
+#define BTNS_BUTTON    TBSTYLE_BUTTON
+#define BTNS_SEP       TBSTYLE_SEP
+#define BTNS_CHECK     TBSTYLE_CHECK
+#define BTNS_GROUP     TBSTYLE_GROUP
+#define BTNS_CHECKGROUP        TBSTYLE_CHECKGROUP
+#define BTNS_DROPDOWN  TBSTYLE_DROPDOWN
+#define BTNS_AUTOSIZE  TBSTYLE_AUTOSIZE
+#define BTNS_NOPREFIX  TBSTYLE_NOPREFIX
+#define BTNS_WHOLEDROPDOWN     0x0080
+#define I_INDENTCALLBACK (-1)
+#define I_IMAGENONE (-2)
+#ifndef RC_INVOKED
+typedef struct tagNMREBARCHEVRON {
+       NMHDR hdr;
+       UINT uBand;
+       UINT wID;
+       LPARAM lParam;
+       RECT rc;
+       LPARAM lParamNM;
+} NMREBARCHEVRON, *LPNMREBARCHEVRON;
+LANGID WINAPI GetMUILanguage(VOID);
+VOID WINAPI InitMUILanguage(LANGID);
+#define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
+#define TreeView_SetItemState(w,i,d,m) \
+{ \
+       TVITEM _tvi;\
+       _tvi.mask=TVIF_STATE;\
+       _tvi.hItem=i; \
+       _tvi.stateMask=m;\
+       _tvi.state=d;\
+       SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
+}
+#endif /* RC_INVOKED */
+#endif  /* _WIN32_IE >= 0x0500 */
+
+#if (_WIN32_IE >= 0x0501)
+#define CDIS_SHOWKEYBOARDCUES 512
+#define LVBKIF_FLAG_TILEOFFSET  0x00000100
+#define LVBKIF_TYPE_WATERMARK   0x10000000
+#define TTF_PARSELINKS 0x1000
+#undef COMCTL32_VERSION
+#define COMCTL32_VERSION 6
+#define LIF_ITEMINDEX  0x00000001
+#define LIF_STATE      0x00000002
+#define LIF_ITEMID     0x00000004
+#define LIF_URL        0x00000008
+#define LIS_FOCUSED    0x00000001
+#define LIS_ENABLED    0x00000002
+#define LIS_VISITED    0x00000004
+#define LM_HITTEST     (WM_USER + 768)
+#define LM_GETIDEALHEIGHT      (WM_USER + 769)
+#define LM_SETITEM     (WM_USER + 770)
+#define LM_GETITEM     (WM_USER + 771)
+#define MAX_LINKID_TEXT        48
+#define L_MAX_URL_LENGTH       2084
+#define RBBS_HIDETITLE 0x0400
+#define RBBS_TOPALIGN  0x0800
+#define ICC_STANDARD_CLASSES   0x00004000
+#define ICC_LINK_CLASS         0x00008000
+#define CCM_SETWINDOWTHEME 0x200b
+#define CCM_DPISCALE 0x200c
+#define LVIF_GROUPID 256
+#define LVIF_COLUMNS 512
+#define LVM_SETSELECTEDCOLUMN  (LVM_FIRST+140)
+#define TBS_DOWNISLEFT 0x0400
+#define BTNS_SHOWTEXT  0x0040
+#define TBSTYLE_EX_DOUBLEBUFFER        0x80
+#define TBSTYLE_EX_MIXEDBUTTONS 8
+#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
+#ifndef RC_INVOKED
+typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
+typedef struct tagLITEM {
+       UINT mask;
+       int iLink;
+       UINT state;
+       UINT stateMask;
+       WCHAR szID[MAX_LINKID_TEXT];
+       WCHAR szUrl[L_MAX_URL_LENGTH];
+} LITEM,*PLITEM;
+typedef struct tagLHITTESTINFO {
+       POINT pt;
+       LITEM item;
+} LHITTESTINFO,*PLHITTESTINFO;
+typedef struct tagNMLINK {
+       NMHDR hdr;
+       LITEM item;
+} NMLINK,*PNMLINK;
+BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
+BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
+BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
+LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
+INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
+#define ListView_SetSelectedColumn(w,i) SNDMSG((w),LVM_SETSELECTEDCOLUMN,(WPARAM)i,0)
+#define ComboBox_SetMinVisible(w,i) (BOOL)SNDMSG((w), CB_SETMINVISIBLE,(WPARAM)(i),0);
+#define ComboBox_GetMinVisible(w) (INT)SNDMSG((w),CB_GETMINVISIBLE,0,0);
+#endif /* RC_INVOKED */
+#endif  /* _WIN32_IE >= 0x0501 */
+
 #ifdef __cplusplus
 }
 #endif