DllImport vs LoadLibrary,最好的方法是什么?

时间:2009-02-14 02:40:48

标签: c# winapi dllimport loadlibrary

我通常在c#.NET中使用Win32 API。但不要在一个应用程序中声明所有内容。有时通常使用user32,有时候使用gdi32 ...... 我想当我声明所有api函数时,那些使用大量内存。 在.NET中使用API​​的最佳方法是什么?

2 个答案:

答案 0 :(得分:9)

当您编写可能在可能具有或不具有所需dll的环境中使用的代码时,LoadLibrary非常有用 - 例如,您可能有一个程序可以使用特殊的加密dll(如果可用),但是没有它仍然可以运作。使用DllImport将需要dll存在。

答案 1 :(得分:5)

大多数Win32 API都可通过托管抽象获得。否则,使用DllImport声明您需要的那些。

LoadLibrary应该只在您提供备用功能的地方使用,也就是说,即使没有特定的API函数,您的应用程序也可以正常工作。如果API函数很关键,那么使用DllImport会让加载程序担心函数是否存在。