![](/img/trans.png)
[英]How to call the Win32 GetCurrentDirectory function from C#?
[英]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.