大部分朋友在使用C#.NET调用Win32API时都不清楚API函数的声明,要么就是抄网上的代码,但是总会遇到各种各样奇奇怪怪难以解决的问题,打算自己封装又发现工作量实在太大。
其实完全没有必要自己动手封装, .NET 基金会官方已经使用了 P/Invoke方式为我们封装了一套针对.NET 的开源 Win32API。
这套API包含了大量的 Win32 库,使用非常方便,导入DLL引用即可,因为是.NET DLL,所以C#和VB.NET都可以方便的使用。
涵盖几乎全部常用的Win32API函数的声明,如 gdi32.dll 和 kernel32.dll 及 user32.dll 等近30个DLL库的.NET实现。
使用官方的库优点是稳定可靠且安全,不用自己写,也不用复制网上的代码避免出错。
因为该项目是开源的,所以会有更多的人加入进来不断改进共同完善类库。
Github 官方地址: https://github.com/dotnet/pinvoke
可以在 Nuget.org 搜索 PInvoke 找到已经编译好的DLL类库直接下载使用。
顺便给大家推荐一个网站
.NET互操作百科:www.pinvoke.net
上面有大量的Win32API P/Invoke调用参考示例
知乎: @张赐荣
赐荣博客: www.prc.cx
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)