zoukankan      html  css  js  c++  java
  • C#中调用Windows API时的数据类型对应关系

    最近做WinForm项目时,要调用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 );

  • 相关阅读:
    JavaScript_01简介,基本语法,运算符
    JAVA_内部类
    JAVA_接口_默认方法&静态方法
    软件工程_01面向对象分析
    mybatis_16逆向工程
    mybatis_15整合ehcache
    mybatis_14二级缓存
    mybatis_13一级缓存
    mybatis_12延时加载_懒加载
    JWT如何在Spring Cloud微服务系统中在服务相互调时传递
  • 原文地址:https://www.cnblogs.com/weixiao520/p/3534034.html
Copyright © 2011-2022 走看看