创建一个Windows进程以静默检查丢失的DLL

时间:2011-10-06 10:19:21

标签: windows winapi dll process

我想检查是否为可执行文件安装了所有必需的DLL,因此我使用CreateProcess运行它,并检查退出代码。

问题:Windows显示弹出窗口,说明找不到DLL,然后显示弹出窗口,说明程序已停止工作。

如何避免所有这些错误弹出窗口?

2 个答案:

答案 0 :(得分:5)

您需要致电SetErrorMode通过SEM_FAILCRITICALERRORS

SetErrorMode是一个稍微棘手的API,因为您需要将新模式与现有模式合并。 Raymond Chen explains how to do it correctly

答案 1 :(得分:0)

无论如何,这不会涵盖所有有问题的案件。您的进程可能依赖于延迟加载DLL。您可以通过dependency walker tool(或类似)检查您的可执行文件。

但是,您的进程可能会尝试在运行时加载更多DLL(通过LoadLibrary或类似方法)。