1、WINDOWS.H,包含了WINDEF.H等,而WINDEF则包含了WINNT.H等。
/*WINNT.H定义的新数据形态*/
typedef char CHAR; //8位char
typedef wchar_t WCHAR; //16位wchar_t
/*WINNT.H定义的8位字符串指针的6种数据型态和4个const8位字符串指针的数据型态*/
typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;
typedef CONST CHAR *LPCCH,*PCCH,*LPCSTR,*PCSTR; //N、L表示near和long。32位中无差别
同理
typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;
/*若定义了UNICODE,则TCHAR和指向TCHAR的指标就分别定义了WCHAR和指向WCHAR的指标,否则…*/
#ifdef UNICODE
typedef WCHAR TCHAR, * PTCHAR ;
typedef LPWSTR LPTCH, PTCH, PTSTR, LPTSTR ;
typedef LPCWSTR LPCTSTR ;
#else
typedef char TCHAR, * PTCHAR ;
typedef LPSTR LPTCH, PTCH, PTSTR, LPTSTR ;
typedef LPCSTR LPCTSTR ;
#endif
/*WINNT.H表头文件还定义了一个宏*/
#define __TEXT(quote)L##quote
还可以如下定义
#define TEXT(quote)__TEXT(quote)
未定义UNICODE,则
#define __TEXT(quote)quote