C++数据类型与C#对应关系 c#调用WINDWOS API时,非常有用(转)
C++ 输入输出 C# |
API与C#的数据类型对应关系表 | |||||
API数据类型 | 类型描述 | C#类型 | API数据类型 | 类型描述 | C#类型 |
WORD | 16位无符号整数 | ushort | CHAR | 字符 | char |
LONG | 32位无符号整数 | int | DWORDLONG | 64位长整数 | long |
DWORD | 32位无符号整数 | uint | HDC | 设备描述表句柄 | int |
HANDLE | 句柄,32位整数 | int | HGDIOBJ | GDI对象句柄 | int |
UINT | 32位无符号整数 | uint | HINSTANCE | 实例句柄 | int |
BOOL | 32位布尔型整数 | bool | HWM | 窗口句柄 | int |
LPSTR | 指向字符的32位指针 | string | HPARAM | 32位消息参数 | int |
LPCSTR | 指向常字符的32位指针 | String | LPARAM | 32位消息参数 | int |
BYTE | 字节 | byte | WPARAM | 32位消息参数 | int |
Wtypes.h 中的非托管类型 | 非托管 C 语言类型 | 托管类名 | 说明 |
HANDLE | void* | System.IntPtr | 32 位 |
BYTE | unsigned char | System.Byte | 8 位 |
SHORT | short | System.Int16 | 16 位 |
WORD | unsigned short | System.UInt16 | 16 位 |
INT | int | System.Int32 | 32 位 |
UINT | unsigned int | System.UInt32 | 32 位 |
LONG | long | System.Int32 | 32 位 |
BOOL | long | System.Int32 | 32 位 |
DWORD | unsigned long | System.UInt32 | 32 位 |
ULONG | unsigned long | System.UInt32 | 32 位 |
CHAR | char | System.Char | 用 ANSI 修饰。 |
LPSTR | char* | System.String 或System.StringBuilder | 用 ANSI 修饰。 |
LPCSTR | Const char* | System.String 或System.StringBuilder | 用 ANSI 修饰。 |
LPWSTR | wchar_t* | System.String 或System.StringBuilder | 用 Unicode 修饰。 |
LPCWSTR | Const wchar_t* | System.String 或System.StringBuilder | 用 Unicode 修饰。 |
FLOAT | Float | System.Single | 32 位 |
DOUBLE | Double | System.Double | 64 位 |