/*
* 关于操作系统版本的宏定义 */Windows Vista以上
_WIN32_WINNT>=0x0600WINVER>=0x0600 Windows Server 2003_WIN32_WINNT>=0x0502 WINVER>=0x0502 Windows XP_WIN32_WINNT>=0x0501 WINVER>=0x0501 Windows 2000 _WIN32_WINNT>=0x0500 WINVER>=0x0500 Windows NT 4.0_WIN32_WINNT>=0x0400 WINVER>=0x0400//以下内容摘自 WinUser.h,仅为个人使用方便而做的整理摘录。By:AsionTang
/*
* Window Messages */#define WM_NULL 0x0000
#define WM_CREATE 0x0001#define WM_DESTROY 0x0002#define WM_MOVE 0x0003#define WM_SIZE 0x0005#define WM_ACTIVATE 0x0006
/* * WM_ACTIVATE state values */#define WA_INACTIVE 0#define WA_ACTIVE 1#define WA_CLICKACTIVE 2#define WM_SETFOCUS 0x0007
#define WM_KILLFOCUS 0x0008#define WM_ENABLE 0x000A#define WM_SETREDRAW 0x000B#define WM_SETTEXT 0x000C#define WM_GETTEXT 0x000D#define WM_GETTEXTLENGTH 0x000E#define WM_PAINT 0x000F#define WM_CLOSE 0x0010#ifndef _WIN32_WCE#define WM_QUERYENDSESSION 0x0011#define WM_QUERYOPEN 0x0013#define WM_ENDSESSION 0x0016#endif#define WM_QUIT 0x0012#define WM_ERASEBKGND 0x0014#define WM_SYSCOLORCHANGE 0x0015#define WM_SHOWWINDOW 0x0018#define WM_WININICHANGE 0x001A#if(WINVER >= 0x0400)#define WM_SETTINGCHANGE WM_WININICHANGE#endif /* WINVER >= 0x0400 */ #define WM_DEVMODECHANGE 0x001B#define WM_ACTIVATEAPP 0x001C#define WM_FONTCHANGE 0x001D#define WM_TIMECHANGE 0x001E#define WM_CANCELMODE 0x001F#define WM_SETCURSOR 0x0020#define WM_MOUSEACTIVATE 0x0021#define WM_CHILDACTIVATE 0x0022#define WM_QUEUESYNC 0x0023#define WM_GETMINMAXINFO 0x0024
/* * Struct pointed to by WM_GETMINMAXINFO lParam */typedef struct tagMINMAXINFO { POINT ptReserved; POINT ptMaxSize; POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize;} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;#define WM_PAINTICON 0x0026
#define WM_ICONERASEBKGND 0x0027#define WM_NEXTDLGCTL 0x0028#define WM_SPOOLERSTATUS 0x002A#define WM_DRAWITEM 0x002B#define WM_MEASUREITEM 0x002C#define WM_DELETEITEM 0x002D#define WM_VKEYTOITEM 0x002E#define WM_CHARTOITEM 0x002F#define WM_SETFONT 0x0030#define WM_GETFONT 0x0031#define WM_SETHOTKEY 0x0032#define WM_GETHOTKEY 0x0033#define WM_QUERYDRAGICON 0x0037#define WM_COMPAREITEM 0x0039#if(WINVER >= 0x0500)#ifndef _WIN32_WCE#define WM_GETOBJECT 0x003D#endif#endif /* WINVER >= 0x0500 */#define WM_COMPACTING 0x0041#define WM_COMMNOTIFY 0x0044 /* no longer suported */#define WM_WINDOWPOSCHANGING 0x0046#define WM_WINDOWPOSCHANGED 0x0047#define WM_POWER 0x0048
/* * wParam for WM_POWER window message and DRV_POWER driver notification */#define PWR_OK 1#define PWR_FAIL (-1)#define PWR_SUSPENDREQUEST 1#define PWR_SUSPENDRESUME 2#define PWR_CRITICALRESUME 3#define WM_COPYDATA 0x004A
#define WM_CANCELJOURNAL 0x004B/*
* lParam of WM_COPYDATA message points to... */typedef struct tagCOPYDATASTRUCT { ULONG_PTR dwData; DWORD cbData; __field_bcount(cbData) PVOID lpData;} COPYDATASTRUCT, *PCOPYDATASTRUCT;#if(WINVER >= 0x0400)
typedef struct tagMDINEXTMENU{ HMENU hmenuIn; HMENU hmenuNext; HWND hwndNext;} MDINEXTMENU, * PMDINEXTMENU, FAR * LPMDINEXTMENU;#endif /* WINVER >= 0x0400 */ #if(WINVER >= 0x0400)#define WM_NOTIFY 0x004E#define WM_INPUTLANGCHANGEREQUEST 0x0050#define WM_INPUTLANGCHANGE 0x0051#define WM_TCARD 0x0052#define WM_HELP 0x0053#define WM_USERCHANGED 0x0054#define WM_NOTIFYFORMAT 0x0055#define NFR_ANSI 1
#define NFR_UNICODE 2#define NF_QUERY 3#define NF_REQUERY 4#define WM_CONTEXTMENU 0x007B
#define WM_STYLECHANGING 0x007C#define WM_STYLECHANGED 0x007D#define WM_DISPLAYCHANGE 0x007E#define WM_GETICON 0x007F#define WM_SETICON 0x0080#endif /* WINVER >= 0x0400 */#define WM_NCCREATE 0x0081
#define WM_NCDESTROY 0x0082#define WM_NCCALCSIZE 0x0083#define WM_NCHITTEST 0x0084#define WM_NCPAINT 0x0085#define WM_NCACTIVATE 0x0086#define WM_GETDLGCODE 0x0087#ifndef _WIN32_WCE#define WM_SYNCPAINT 0x0088#endif#define WM_NCMOUSEMOVE 0x00A0#define WM_NCLBUTTONDOWN 0x00A1#define WM_NCLBUTTONUP 0x00A2#define WM_NCLBUTTONDBLCLK 0x00A3#define WM_NCRBUTTONDOWN 0x00A4#define WM_NCRBUTTONUP 0x00A5#define WM_NCRBUTTONDBLCLK 0x00A6#define WM_NCMBUTTONDOWN 0x00A7#define WM_NCMBUTTONUP 0x00A8#define WM_NCMBUTTONDBLCLK 0x00A9#if(_WIN32_WINNT >= 0x0500)
#define WM_NCXBUTTONDOWN 0x00AB#define WM_NCXBUTTONUP 0x00AC#define WM_NCXBUTTONDBLCLK 0x00AD#endif /* _WIN32_WINNT >= 0x0500 */ #if(_WIN32_WINNT >= 0x0501)#define WM_INPUT_DEVICE_CHANGE 0x00FE#endif /* _WIN32_WINNT >= 0x0501 */#if(_WIN32_WINNT >= 0x0501)
#define WM_INPUT 0x00FF#endif /* _WIN32_WINNT >= 0x0501 */#define WM_KEYFIRST 0x0100
#define WM_KEYDOWN 0x0100#define WM_KEYUP 0x0101#define WM_CHAR 0x0102#define WM_DEADCHAR 0x0103#define WM_SYSKEYDOWN 0x0104#define WM_SYSKEYUP 0x0105#define WM_SYSCHAR 0x0106#define WM_SYSDEADCHAR 0x0107#if(_WIN32_WINNT >= 0x0501)#define WM_UNICHAR 0x0109#define WM_KEYLAST 0x0109#define UNICODE_NOCHAR 0xFFFF#else#define WM_KEYLAST 0x0108#endif /* _WIN32_WINNT >= 0x0501 */#if(WINVER >= 0x0400)
#define WM_IME_STARTCOMPOSITION 0x010D#define WM_IME_ENDCOMPOSITION 0x010E#define WM_IME_COMPOSITION 0x010F#define WM_IME_KEYLAST 0x010F#endif /* WINVER >= 0x0400 */#define WM_INITDIALOG 0x0110
#define WM_COMMAND 0x0111#define WM_SYSCOMMAND 0x0112#define WM_TIMER 0x0113#define WM_HSCROLL 0x0114#define WM_VSCROLL 0x0115#define WM_INITMENU 0x0116#define WM_INITMENUPOPUP 0x0117#if(WINVER >= 0x0601)#define WM_GESTURE 0x0119#define WM_GESTURENOTIFY 0x011A#endif /* WINVER >= 0x0601 */#define WM_MENUSELECT 0x011F#define WM_MENUCHAR 0x0120#define WM_ENTERIDLE 0x0121#if(WINVER >= 0x0500)#ifndef _WIN32_WCE#define WM_MENURBUTTONUP 0x0122#define WM_MENUDRAG 0x0123#define WM_MENUGETOBJECT 0x0124#define WM_UNINITMENUPOPUP 0x0125#define WM_MENUCOMMAND 0x0126#ifndef _WIN32_WCE
#if(_WIN32_WINNT >= 0x0500)#define WM_CHANGEUISTATE 0x0127#define WM_UPDATEUISTATE 0x0128#define WM_QUERYUISTATE 0x0129