簡體   English   中英

是否有一種更輕松的方式從C#調用Win32?

[英]Is there a more painless way to call Win32 from C#?

每隔幾個月我就會發現自己需要從C#調用Win32。 雖然我已經完成了十幾次,但我通常都忘記了確切的陰謀,所以我在網上或舊代碼中搜索並找出我需要的DllImport語句等。

我一個人嗎?

是否有一個受制裁的“Win32”類,它具有整個Win32 API的必要聲明? 似乎應該有。 也許我錯過了什么。

您可能會發現http://www.pinvoke.net很有幫助。

此外,對於常見的Win32函數,您可以嘗試P / Invoke Interop助手

沒有受到制裁的Win32類,但http://www.pinvoke.net是這些東西的重要核心資源。

對於開源項目來說,這聽起來是個好主意。

/ em加上思考上限,並運行到pinvoke.net

獲得正確的DllImport語句很容易就像每個人都說的那樣,但是為了方便起見,我通常在C#類中包裝我需要的Win32函數並編譯到我的核心助手程序集中。 所以下次我只是參考裝配。 因此,如果我需要一些Win32函數,如果不是我只是添加它,它可能已經在我的幫助器庫中了。

另外,我將返回代碼映射到Exceptions,即如果HResult不為零,則拋出異常,因此我的C#應用​​程序不需要知道HResult或返回代碼。

您可以使用Reflector並搜索Win32Native。 它有一堆可用於PInvoking的定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM