4

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

4

2 回答 2

9

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

于 2009-02-14T03:52:21.540 回答
5

大多数 Win32 API 都可以通过托管抽象获得。否则,请使用DllImport.

LoadLibrary实际上应该只在您提供了替代功能的情况下使用,也就是说,即使没有特定的 API 功能,您的应用程序也可以工作。如果 API 函数很关键,使用DllImport会让加载器担心该函数是否存在。

于 2009-02-14T02:50:08.973 回答