我正在尝试将第 3 方 dll(即我没有源代码)加载到我的应用程序中。在 windows xp 32 位系统上,它加载正常,但在 windows 7 系统上,它无法加载,引用来自 GetLastError() 的错误 #998
我使用 dll 导出查看器查看了 dll 的导入和导出符号,并观察到导入表中列出的除了 3 个 dll 之外的所有 dll 都来自这个第 3 方供应商。那些没有的是:
kernel32.dll
mingwm10.dll
msvcrt.dll
这是我用来进行导入的代码:
SetDllDirectory(L"c:\\dlls");
HMODULE tempDLL = LoadLibrary(L"mydll.dll");
DWORD err = GetLastError();
请提供有关如何进行调试的任何提示?
编辑:感谢大家的回答,这就是我到目前为止所发现的:
a)应用程序工具包包并没有证明是有用的(见下文)
b)同事A可以让dll加载他的胜利7机器和同事B不能,所以它是零星
的c)以管理员身份运行并没有改变任何东西