API与C#的数据类型对应关系表(JAVA)

    xiaoxiao2026-09-23  9

    API与C#的数据类型对应关系表 自己java对着定义就行了  API数据类型类型描述C#类型API数据类型类型描述C#类型WORD16位无符号整数ushortCHAR字符charLONG32位无符号整数intDWORDLONG64位长整数longDWORD32位无符号整数uintHDC设备描述表句柄intHANDLE句柄,32位整数intHGDIOBJGDI对象句柄intUINT32位无符号整数uintHINSTANCE实例句柄intBOOL32位布尔型整数boolHWM窗口句柄intLPSTR指向字符的32位指针stringHPARAM32位消息参数intLPCSTR指向常字符的32位指针StringLPARAM32位消息参数intBYTE字节byteWPARAM32位消息参数int

    C# 数据类型

    简单类型 描 述 示 例 sbyte8-bit 有符号整数sbyte val = 12;short16-bit 有符号整数short val = 12;int32-bit有符号整数int val = 12;long64-bit有符号整数long val1 = 12; long val2 = 34L;byte8-bit无符号整数byte val1 = 12; byte val2 = 34U;ushort16-bit 无符号整数ushort val1 = 12; ushort val2 = 34U;uint32-bit 无符号整数uint val1 = 12; uint val2 = 34U;ulong 64-bit 无符号整数ulong val1 = 12; ulong val2 = 34U; ulong val3 = 56L; ulong val4 = 78UL;float32-bit单精度浮点数float val = 1.23F;double64-bit双精度浮点数double val1 = 1.23; double val2 = 4.56D;l布尔类型bool val1 = true; bool val2 = false;char字符类型 ,Unicode编码char val = 'h';decimal28个有效数字的128-bit十进制类型decimal val = 1.23M;

    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 );

    转载请注明原文地址: https://ju.6miu.com/read-1312265.html
    最新回复(0)