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