//Windows API常见数据类型
/*
Windows API使用了很多Windows自定义的数据类型(如前面课程的HINSTANCE、
HWND、WPARAM等)。要熟练使用Windows API必须要熟悉Windows数据类型,有些
类型都是从标准C的数据类型经过类型重定义而来的,有些类型是Windows特有的,
自定义类型一般遵循以下规则:
1、基本数据类型大写:比如char为CHAR、short为SHORT、int为INT等。
2、指针类型的命令方式一般是在其指向的数据类型前面加“LP”或者“P”,比如
指向DWORD的指针类型为“LPDWORD”和“PDWORD”。
3、各种句柄类型的命名方式一般都是在对象名前加“H”,比如位图(BITMAP)对应
的句柄类型为“HBITMAP”。
4、无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型。
Windows API常见数据类型:
头文件minwindef.h中:
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef int BOOL;
typedef int INT;
typedef float FLOAT;
typedef unsigned int UINT;
typedef unsigned long ULONG;
typedef WORD ATOM;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nShowCmd)
{
INT a = 10;
LPINT P = &a;
*P = 12;
INT b = *P;
return 0;
};
typedef FLOAT* PFLOAT;//P表示指针
typedef BOOL near* PBOOL;//near和far区别在于,
near中P代表指针是新版的表示方法,far是旧版的表示方法为LP.
typedef FLOAT far* LPFLOAT;
typedef BOOL far* LPBOOL;
typedef void far* LPVOID;
typedef unsigned int* PUINT;
typedef int INT_PTR,*PINT_PTR; *PINT_PTR 是指向INT_PTR的指针。
typedef unsigned int UINT_PTR,*PUINT_PTR;
typedef long LONG_PTR,*PLONG_PTR;
typedef UINT_PTR WPARAM;
typedef LONG_PTR LPARAM;
typedef LONG_PTR LRESULT;
头文件basetsd.h中:
INT8 typedef signed char INT8,*PINT8;
INT16 typedef signed short INT16,*PINT16;
头文件WTypesbase.h、Winnt.h
typedef double DOUBLE;
USHORT typedef unsigned short USHORT;
typedef CHAR* NPSTR,*LPSTR,*PSTR;
typedef CONST CHAR* LPCSTR ,*PCSTR;
*/