大部分朋友在使用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調用參考示例