2011-12-01 47 views
1

当一个exe尝试加载缺少的DLL时,窗口将显示一个弹出消息。有什么方法可以将某些东西打印到stderr吗?缺少DLL:打印消息而不是启动弹出窗口

我打开代码级别的更改,但如果系统范围内的设置(注册表?)将打印该消息,而不是使用弹出窗口,那就太棒了。

+1

这通常发生在您的代码开始运行之前。还没有stderr。 –

回答

1

LoadLibrary文档包含了相关的提示:

要启用或DLL加载过程中由装载机显示禁用错误消息,请使用SetErrorMode功能。

因此,您必须在尝试加载DLL之前先调用SetErrorMode来禁用对话框。但是,这不会将错误重定向到stderr。你必须亲自发现错误,并打印stderr

+0

问题不清楚应用程序是调用LoadLibrary还是依靠Windows来动态链接DLL,但我会假设后者。 –