.NET Framework虽然已经给我们封装了很多系统的函数来供我们调用,但还有很多是不常用的,.NET Framework也没有帮我们封装,这时就要我们自己来调用windows系统的API函数来处理,但有时候我们查到了对应的API函数,但由于其数据类型与我们常用的.NET的数据类型不同,就不知道要用什么数据类型来传参及接收数据,下面列出了这些数据类型的对比,以做记录。
BOOL | System.Int32 |
BOOLEAN | System.Int32 |
BYTE | System.UInt16 |
CHAR | System.Int16 |
COLORREF | System.UInt32 |
DWORD | System.UInt32 |
DWORD32 | System.UInt32 |
DWORD64 | System.UInt64 |
FLOAT | System.Float |
HACCEL | System.IntPtr |
HANDLE | System.IntPtr |
HBITMAP | System.IntPtr |
HBRUSH | System.IntPtr |
HCONV | System.IntPtr |
HCONVLIST | System.IntPtr |
HCURSOR | System.IntPtr |
HDC | System.IntPtr |
HDDEDATA | System.IntPtr |
HDESK | System.IntPtr |
HDROP | System.IntPtr |
HDWP | System.IntPtr |
HENHMETAFILE | System.IntPtr |
HFILE | System.IntPtr |
HFONT | System.IntPtr |
HGDIOBJ | System.IntPtr |
HGLOBAL | System.IntPtr |
HHOOK | System.IntPtr |
HICON | System.IntPtr |
HIMAGELIST | System.IntPtr |
HIMC | System.IntPtr |
HINSTANCE | System.IntPtr |
HKEY | System.IntPtr |
HLOCAL | System.IntPtr |
HMENU | System.IntPtr |
HMETAFILE | System.IntPtr |
HMODULE | System.IntPtr |
HMONITOR | System.IntPtr |
HPALETTE | System.IntPtr |
HPEN | System.IntPtr |
HRGN | System.IntPtr |
HRSRC | System.IntPtr |
HSZ | System.IntPtr |
HWINSTA | System.IntPtr |
HWND | System.IntPtr |
INT | System.Int32 |
INT32 | System.Int32 |
INT64 | System.Int64 |
LONG | System.Int32 |
LONG32 | System.Int32 |
LONG64 | System.Int64 |
LONGLONG | System.Int64 |
LPARAM | System.IntPtr |
LPBOOL | System.Int16[] |
LPBYTE | System.UInt16[] |
LPCOLORREF | System.UInt32[] |
LPCSTR | System.String |
LPCTSTR | System.String |
LPCVOID | System.UInt32 |
LPCWSTR | System.String |
LPDWORD | System.UInt32[] |
LPHANDLE | System.UInt32 |
LPINT | System.Int32[] |
LPLONG | System.Int32[] |
LPSTR | System.String |
LPTSTR | System.String |
LPVOID | System.UInt32 |
LPWORD | System.Int32[] |
LPWSTR | System.String |
LRESULT | System.IntPtr |
PBOOL | System.Int16[] |
PBOOLEAN | System.Int16[] |
PBYTE | System.UInt16[] |
PCHAR | System.Char[] |
PCSTR | System.String |
PCTSTR | System.String |
PCWCH | System.UInt32 |
PCWSTR | System.UInt32 |
PDWORD | System.Int32[] |
PFLOAT | System.Float[] |
PHANDLE | System.UInt32 |
PHKEY | System.UInt32 |
PINT | System.Int32[] |
PLCID | System.UInt32 |
PLONG | System.Int32[] |
PLUID | System.UInt32 |
PSHORT | System.Int16[] |
PSTR | System.String |
PTBYTE | System.Char[] |
PTCHAR | System.Char[] |
PTSTR | System.String |
PUCHAR | System.Char[] |
PUINT | System.UInt32[] |
PULONG | System.UInt32[] |
PUSHORT | System.UInt16[] |
PVOID | System.UInt32 |
PWCHAR | System.Char[] |
PWORD | System.Int16[] |
PWSTR | System.String |
REGSAM | System.UInt32 |
SC_HANDLE | System.IntPtr |
SC_LOCK | System.IntPtr |
SHORT | System.Int16 |
SIZE_T | System.UInt32 |
SSIZE_ | System.UInt32 |
TBYTE | System.Char |
TCHAR | System.Char |
UCHAR | System.Byte |