介绍
一个源代码生成器,用于向 C#项目添加一组用户定义的 Win32 P/Invoke 方法和相关的类型。
链接地址: https://github.com/microsoft/CsWin32
还在手动添加平台调用的代码或者增加无用的程序集?微软的官方解决方案来了!
特色
- 快速将
P/Invoke
方法和相关类型添加到您的 C#项目。 - 没有笨重的程序集,按需使用
- 自动生成安全的类型
SafeHandle
- 基于微软的官方链接生成 xml 文档和接口注释
先决条件
The .NET 5 SDK or Visual Studio 2019 Update 8 (16.8) (具体看自己 Github 上的说明吧)
使用方法
-
安装 nuget 包
dotnet add package Microsoft.Windows.CsWin32 --prerelease
-
项目根目录添加
NativeMethods.txt
每一行写一个接口保存即可
-
调用 (
MessageBox
演示)using Windows.Win32; using Windows.Win32.Foundation; using Windows.Win32.UI.WindowsAndMessaging; PInvoke.MessageBox(HWND.Null, "你好", "标题", MESSAGEBOX_STYLE.MB_OK);