萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> C#中調用Windows API時的數據類型對應關系

C#中調用Windows API時的數據類型對應關系

  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

  UINT=System.UInt32

  UINT32=System.UInt32

  UINT64=System.UInt64

  ULONG=System.UInt32

  ULONG32=System.UInt32

  ULONG64=System.UInt64

  ULONGLONG=System.UInt64

  USHORT=System.UInt16

  WORD=System.UInt16

  WPARAM=System.IntPtr

  附:舉一個聲明API的例子

  [ DllImport( "Kernel32.dll" )]

  public static extern System.UInt32 VirtualAllocEx(

  System.IntPtr hProcess,

  System.UInt32 lpAddress,

  System.UInt32 dwSize,

  System.UInt32 flAllocationType,

  System.UInt32 flProtect

  );

copyright © 萬盛學電腦網 all rights reserved