检查DLL的Windows API级别

时间:2012-03-28 11:42:02

标签: windows api dll

是否有可以针对特定API级别检查DLL的工具?我们遇到了来自外部开发人员的DLL在Windows 2000下无法运行的问题,现在我们正在尝试查找Win2k中不存在的所有Windows API调用。

有类似的东西吗?

2 个答案:

答案 0 :(得分:4)

这不是它的工作原理。您必须在构建 DLL时指定所需的操作系统支持。

#define _WIN32_WINNT 0x0500  // supporting Windows 2000
#include <windows.h>
// etc...

当您尝试使用不可用的api函数时,您将收到编译错误。

答案 1 :(得分:1)

我会在VM中安装Windows 2000。然后我运行Dependency Viewer并加载DLL。这将为您提供缺少的API函数列表。

但问题可能比这更深入。即使麻烦的DLL使用的是Windows 2000中存在的API函数,它也可能正在使用该API函数的特定功能,这些功能仅在Windows的更高版本中可用。您可能需要在源代码级别进行研究。