2009-02-14 63 views
3

我通常在c#.NET中使用Win32 API。但不是在一個應用程序中聲明全部。有時通常使用user32,有時gdi32 ... 我認爲當我聲明所有的api函數時,那些使用大量的內存。 在.NET中使用API​​的最佳方式是什麼?DllImport vs LoadLibrary,什麼是最好的方法?

回答

5

大部分Win32 API都可以通過託管抽象獲得。否則,使用DllImport來聲明你需要的。

LoadLibrary應該只在您提供備用功能的情況下才使用,也就是說,即使沒有特定的API函數,您的應用程序也可以工作。如果API函數非常重要,那麼使用DllImport將使加載器擔心該函數是否存在。

9

當您編寫可能在可能或不可能具有所需dll的環境中使用的代碼時,LoadLibrary非常有用 - 例如,如果程序可用,則可以使用特殊的加密dll,但如果沒有它,仍然可以運作。使用DllImport需要該dll存在。

+0

這通常是我最終使用LoadLibrary的時間。 – jussij 2009-02-27 00:26:23

相關問題