【Windows 应用程序开发详解】一.常见的Windows数据类型解读及命名规则
- 一.为什么要使用Windows数据类型
- 二.解读常见的Windows数据类型
- 三.Windows 数据类型名命名的规律
一.为什么要使用Windows数据类型
我们都知道像windows APi函数、数据结构等都是采用了Windows的数据类型,例如我们在使用Windows API函数对其windows应用程序进行开发的时候,其windows API函数入口值、返回值这些都是windows数据类型,因此我们要先熟练的掌握windows的数据类型,方便利于后续对windows应用 程序的开发。
二.解读常见的Windows数据类型
在很多的Windows数据类型中,最常用的是有DWORD、HANDLE、LPTSTR、WORD、BYTE、CHAR等,在Windows系统中,DWORD用于表示无符号整型数据,意为Double word,32位。在一般情况下BYTE是8位的,而WORD是16位,DWORD就是32位的。下述为我们在使用windows API时最常见基础的Windows数据类型
数据类型 | 具体描述 |
BOOL | 布尔型变量(值只能是Ture或False) |
BYTE | 字节类型(8位) |
CHAR | 8比特字节(ANSI) |
CONST | 常量,相当于标准C中”const“关键字 |
DWORD | 32字节无符号整型数据 |
DWORD32 | 32字节无符号整型数据 |
DWORD64 | 64字节无符号整型数据 |
FLOAT | 浮点数据类型 |
HANDLE | 对象的句柄,最基本的句柄类型 |
HICON | 图标的句柄 |
HINSTANCE | 程序实例的句柄 |
HKEY | 注册表键的句柄 |
HMODULE | 模块的句柄 |
HWD | 窗口的句柄 |
INT | 32位富豪整型数据类型 |
INT_PTR | 指向INT类型数据的指针类型 |
INT32 | 32位符号整型 |
INT64 | 64位符号整型 |
LONG | 32位符号整型,相当于C语言的标准数据类型long |
LONG LONG | 64位符号整型 |
LONG32 | 32位符号整型 |
LONG64 | 64位符号整型 |
LPARRAM | 消息的L参数 |
WPARAM | 消息的W参数 |
LPCSTR | Windows (ANSI)字符串常量 |
LPCTSTR | 根据环境配置 |
LPCWSTR | UNICODE字符串常量 |
LPDWORD | 指向DWORD类型数据的指针 |
LPSTR | Windows(ANSI)字符串变量 |
LPTSTR | 根据环境配置,如果定义了UNICODE,则是LPWSTR类型,否则是LPSTR类型 |
LPWSTR | UNICODE字符串变量 |
SHORT | 无符号短整型(16位) |
SIZE_T | 表示内存大小,以字节为单位,其最大值是CPU最大寻址范围 |
TCHAR | 如果定义了UNICOD,则为WCHAR,否则CHAR |
UCHAR | 无符号CHAR |
UINT | 无符号INT |
ULONG | 无符号LONG |
VOID | 无类型,相当于标准C语言的void |
WCHAR | 16位Unicode字符 |
WINAPI | windows API的函数调用方式 |
WORD | 16位无符号整型数据 |
三.Windows 数据类型名命名的规律
- 其实,Windows数据类型的命名都是很有规律的,例如基本类型包括BYTE、CHAR、WORD、SHORT、DOWRD、INT等,指针类型的命令方式一般是在其指向的数据类型前家“LP”或“P”,比如指向DWORD的指针类型“LPWDORD”和“PDWORD”。
- 各种句柄类型的命令方式一般都在对象前加上一个“H”。windows系统中有很多对象,所有表示一个对象的数据类型都是句柄,每一种对象都对应着一种句柄类型,例如:与菜单(MENU)对应的句柄类型为“HMENU”
- 无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型。