`

C#中调用Windows API时的数据类型对应关系

阅读更多
C#中调用Windows API时的数据类型对应关系

在C#中做很多应用需要使用win32 API,但发现原型函数的一些数据类型看起来非常费劲,甚至在C#中“没有”这种数据类型,查阅了一下资料,数据类型对应关系整理如下,希望对大家有用:

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
分享到:
评论

相关推荐

    C#中调用Windows API时的数据类型对应关系.pdf

    本篇文章将深入解析给定文档中的数据类型对应关系,帮助开发者更好地理解和应用这些映射规则,从而提高跨平台应用程序的开发效率。 ### BOOL 和 BOOLEAN 在C#中,`BOOL`和`BOOLEAN`都映射为`System.Int32`类型。这...

    C#中调用Windows API的要点.rar_API_C#调用C_C# windows_windows

    C#中的数据类型和Windows API的类型之间存在对应关系。例如,`int`对应`int`, `string`对应`LPCTSTR`(在C#中通常使用`MarshalAs(UnmanagedType.LPTStr)`),`IntPtr`对应`HWND`等。确保正确地映射这些类型是成功...

    Visual C#中调用Windows API的要点

    C#和C++的数据类型不完全相同,因此需要将C#类型映射到对应的Windows API类型。例如,`IntPtr`用于表示C++中的`void*`,`string`对应`LPCWSTR`(宽字符字符串),`uint`对应无符号整数。 调用API时,还需要注意一些...

    在C#项目中调用api

    在C#项目中调用API是一项常见的编程任务,它允许开发者利用现有的库、服务或操作系统功能来增强应用程序的功能。API(Application Programming Interface)是软件之间的接口,提供了预先定义的函数、类、对象和方法...

    Win32 API与DotNet数据类型对应表

    Win32 API与DotNet数据类型对应表是指在使用C#进行DllImport时,声明变量时需要参考的对应表。这个表格列出了Win32 API中的数据类型与其对应的DotNet数据类型。 从这个表格中我们可以看到,Win32 API中的char类型...

    C#调用Windows_API

    由于C#和Windows API的数据类型可能不完全对应,因此需要进行适当的映射。例如,Windows API中的`BOOL`在C#中通常映射为`int`,`LPSTR`映射为`string`等。 此外,错误处理是调用API时不可或缺的部分。很多API函数会...

    用VisualC#调用WindowsAPI函数.pdf

    在C#编程中,调用Windows API函数是一项重要的技能,它允许开发者能够直接利用Windows底层的服务,完成一些高级的功能。本知识点将详细阐述如何在Visual C#环境下调用Windows API函数,以及相关的技巧和实践。 首先...

    Win Api与C#数据类型对照表\api对照表

    下面是一些常见的Windows API数据类型及其在C#中的对应类型: 1. `BOOL`:在C#中通常映射为`bool`,但有时为了保持与API调用的一致性,可能会使用`int`,因为Windows API中`BOOL`通常是4字节的整型。 2. `DWORD`:...

    自动生成PInvoke调用Windows API的C#函数声明.rar

    在.NET框架中,C#程序员经常需要调用非托管代码,比如Windows API,来利用操作系统提供的功能。这个压缩包文件“自动生成PInvoke调用Windows API的C#函数声明.rar”提供了一个工具,帮助开发者自动创建必要的PInvoke...

    C#与C++类型对应表

    C#与C++类型对应表是指在使用.Net互操作时,需要将C++数据类型转换为C#数据类型,以便正确地调用C++的API。在这个文档中,我们对C++数据类型和C#数据类型进行了对照,以便开发者能够快速地查找和转换类型。 首先,...

    C#调用API.rar

    总的来说,C#调用API是一项强大的技术,它可以让我们利用C#的高级特性同时访问底层操作系统功能。然而,这也需要开发者对C#和Windows API有深入理解,以确保正确、安全地使用这些功能。通过合理运用,我们可以编写出...

    C# Windows API 大全

    3. 数据类型映射:由于C#和C风格的API数据类型不完全相同,需要知道如何正确映射,如int对应int32,LPCTSTR对应string等。 4. API函数调用:学习如何正确传递参数,处理返回值,以及异常处理。 5. Windows消息机制:...

    C#调用windowsAPI[文].pdf

    d.Sequential 按照成员声明的顺序进行布局,这是默认选项,适合大多数API函数的参数。LayoutKind.Explicit 明确定义每个...通过这种方式,开发者可以利用C#调用Windows API来实现更底层的功能,扩展.NET框架的能力。

    C#API大全(doc)

    3. **调用API**:在类中定义完函数后,就可以像调用任何其他C#函数一样调用`GetShortPathName`。例如: ```csharp StringBuilder shortPath = new StringBuilder(260); uint bufferLength = (uint)shortPath....

    一个封装了数百个WindowsAPI的C#类库源码

    2. **参数处理**:将C#类型映射到Windows API所需的原始数据类型,例如将字符串转换为LPSTR,将整数转换为DWORD等。 3. **错误处理**:添加适当的错误检查和异常处理机制,当API调用失败时抛出异常,提供更友好的...

    c++和c#数据类型对照

    在进行跨语言编程时,了解不同编程语言之间的数据类型对应关系是至关重要的。特别是在C++与C#这两种语言之间进行交互时,明确不同类型之间的转换规则有助于实现更高效、更准确的程序集成。下面我们将详细探讨C++与C#...

    C# WINDOWS API关机

    总的来说,通过C#调用Windows API,我们可以轻松实现对Windows系统的各种控制操作,这在开发系统管理工具或自动化脚本时非常有用。不过要注意的是,这些操作应谨慎使用,以免对用户造成不便或数据丢失。

    c#,windows Api读取其他程序SysListview32内容的类

    在C#代码中,我们需要为这些函数定义对应的委托类型并使用DllImport导入。 2. **找到目标窗口**: 使用`FindWindow`函数查找具有特定类名和窗口名的窗口。对于SysListView32,可能需要查找具有"SysListView32"类名...

    C#中常用的winApi声明

    在C#编程中,有时我们需要调用Windows操作系统提供的底层功能,这时就需要用到WinAPI(Windows API)。WinAPI是微软为Windows操作系统定义的一系列函数、结构体和常量的集合,它提供了对操作系统核心功能的直接访问...

    C#中调用Windows API的技术要点说明

    在调用Windows API时,可能还需要定义数据结构,这是因为许多API需要传递或返回复杂的结构体而非简单的数据类型。在C#中定义这些结构体时,需要使用StructLayout属性确保内存布局与Windows API期望的布局一致。 ...

Global site tag (gtag.js) - Google Analytics