win32 中的类型转换
原文链接:http://www.2cto.com/kf/201009/74763.html
在C#中做很多应用需要使用win32 API,但发现原型函数的一些数据类型看起来非常费劲,甚至在C#中“没有”这种数据类型,查阅了一下资料,数据类型对应关系整理如下,希望对大家有用:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 BOOL=System.Int32 2 BOOLEAN=System.Int32 3 BYTE=System.UInt16 4 CHAR=System.Int16 5 COLORREF=System.UInt32 6 DWORD=System.UInt32 7 DWORD32=System.UInt32 8 DWORD64=System.UInt64 9 FLOAT=System.Float 10 HACCEL=System.IntPtr 11 HANDLE=System.IntPtr 12 HBITMAP=System.IntPtr 13 HBRUSH=System.IntPtr 14 HCONV=System.IntPtr 15 HCONVLIST=System.IntPtr 16 HCURSOR=System.IntPtr 17 HDC=System.IntPtr 18 HDDEDATA=System.IntPtr 19 HDESK=System.IntPtr 20 HDROP=System.IntPtr 21 HDWP=System.IntPtr 22 HENHMETAFILE=System.IntPtr 23 HFILE=System.IntPtr 24 HFONT=System.IntPtr 25 HGDIOBJ=System.IntPtr 26 HGLOBAL=System.IntPtr 27 HHOOK=System.IntPtr 28 HICON=System.IntPtr 29 HIMAGELIST=System.IntPtr 30 HIMC=System.IntPtr 31 HINSTANCE=System.IntPtr 32 HKEY=System.IntPtr 33 HLOCAL=System.IntPtr 34 HMENU=System.IntPtr 35 HMETAFILE=System.IntPtr 36 HMODULE=System.IntPtr 37 HMONITOR=System.IntPtr 38 HPALETTE=System.IntPtr 39 HPEN=System.IntPtr 40 HRGN=System.IntPtr 41 HRSRC=System.IntPtr 42 HSZ=System.IntPtr 43 HWINSTA=System.IntPtr 44 HWND=System.IntPtr 45 INT=System.Int32 46 INT32=System.Int32 47 INT64=System.Int64 48 LONG=System.Int32 49 LONG32=System.Int32 50 LONG64=System.Int64 51 LONGLONG=System.Int64 52 LPARAM=System.IntPtr 53 LPBOOL=System.Int16[] 54 LPBYTE=System.UInt16[] 55 LPCOLORREF=System.UInt32[] 56 LPCSTR=System.String 57 LPCTSTR=System.String 58 LPCVOID=System.UInt32 59 LPCWSTR=System.String 60 LPDWORD=System.UInt32[] 61 LPHANDLE=System.UInt32 62 LPINT=System.Int32[] 63 LPLONG=System.Int32[] 64 LPSTR=System.String 65 LPTSTR=System.String 66 LPVOID=System.UInt32 67 LPWORD=System.Int32[] 68 LPWSTR=System.String 69 LRESULT=System.IntPtr 70 PBOOL=System.Int16[] 71 PBOOLEAN=System.Int16[] 72 PBYTE=System.UInt16[] 73 PCHAR=System.Char[] 74 PCSTR=System.String 75 PCTSTR=System.String 76 PCWCH=System.UInt32 77 PCWSTR=System.UInt32 78 PDWORD=System.Int32[] 79 PFLOAT=System.Float[] 80 PHANDLE=System.UInt32 81 PHKEY=System.UInt32 82 PINT=System.Int32[] 83 PLCID=System.UInt32 84 PLONG=System.Int32[] 85 PLUID=System.UInt32 86 PSHORT=System.Int16[] 87 PSTR=System.String 88 PTBYTE=System.Char[] 89 PTCHAR=System.Char[] 90 PTSTR=System.String 91 PUCHAR=System.Char[] 92 PUINT=System.UInt32[] 93 PULONG=System.UInt32[] 94 PUSHORT=System.UInt16[] 95 PVOID=System.UInt32 96 PWCHAR=System.Char[] 97 PWORD=System.Int16[] 98 PWSTR=System.String 99 REGSAM=System.UInt32 100 SC_HANDLE=System.IntPtr 101 SC_LOCK=System.IntPtr 102 SHORT=System.Int16 103 SIZE_T=System.UInt32 104 SSIZE_=System.UInt32 105 TBYTE=System.Char 106 TCHAR=System.Char 107 UCHAR=System.Byte 108 UINT=System.UInt32 109 UINT32=System.UInt32 110 UINT64=System.UInt64 111 ULONG=System.UInt32 112 ULONG32=System.UInt32 113 ULONG64=System.UInt64 114 ULONGLONG=System.UInt64 115 USHORT=System.UInt16 116 WORD=System.UInt16 117 WPARAM=System.IntPtr