C#_Win32_PInvoke原始碼生成器

Broadm發表於2023-12-16

介紹

一個原始碼生成器,用於向 C#專案新增一組使用者定義的 Win32 P/Invoke 方法和相關的型別。

連結地址: https://github.com/microsoft/CsWin32

還在手動新增平臺呼叫的程式碼或者增加無用的程式集?微軟的官方解決方案來了!

特色

  • 快速將 P/Invoke 方法和相關型別新增到您的 C#專案。
  • 沒有笨重的程式集,按需使用
  • 自動生成安全的型別 SafeHandle
  • 基於微軟的官方連結生成 xml 文件和介面註釋

image

先決條件

The .NET 5 SDK or Visual Studio 2019 Update 8 (16.8) (具體看自己 Github 上的說明吧)

使用方法

  1. 安裝 nuget 包
    dotnet add package Microsoft.Windows.CsWin32 --prerelease

  2. 專案根目錄新增 NativeMethods.txt 每一行寫一個介面儲存即可
    image

  3. 呼叫 (MessageBox 演示)

    using Windows.Win32;
    using Windows.Win32.Foundation;
    using Windows.Win32.UI.WindowsAndMessaging;
    
    PInvoke.MessageBox(HWND.Null, "你好", "標題", MESSAGEBOX_STYLE.MB_OK);
    

相關文章