我通常在c#.NET中使用Win32 API。但不要在一个应用程序中声明所有内容。有时通常使用user32,有时候使用gdi32 ...... 我想当我声明所有api函数时,那些使用大量内存。 在.NET中使用API的最佳方法是什么?
答案 0 :(得分:9)
当您编写可能在可能具有或不具有所需dll的环境中使用的代码时,LoadLibrary非常有用 - 例如,您可能有一个程序可以使用特殊的加密dll(如果可用),但是没有它仍然可以运作。使用DllImport将需要dll存在。
答案 1 :(得分:5)
大多数Win32 API都可通过托管抽象获得。否则,使用DllImport
声明您需要的那些。
LoadLibrary
应该只在您提供备用功能的地方使用,也就是说,即使没有特定的API函数,您的应用程序也可以正常工作。如果API函数很关键,那么使用DllImport
会让加载程序担心函数是否存在。