windows - 运行批处理文件时如何防止失败程序(.exe)的错误弹出消息框

标签 windows scripting popup

我正在从批处理文件运行测试脚本。

因为是测试,所以程序偶尔会失败。只要返回错误代码,它就是文件,因此我可以继续并将特定测试标记为失败。

然而,在 Microsoft Windows 下可执行文件有一个非常烦人的行为——如果出现问题,它会弹出如下窗口:

This application has failed to start because foo.dll was not found, Re-installing the application may fix the problem

<OK>

或者更好:

The instruction at "..." referenced to memory at "..." ..

Click on OK to terminate the program
Click on CANCEL to debug the program

结果是已知的 - 脚本执行阻塞,直到有人按下“确定”按钮。而当我们谈论在某些 headless 虚拟机中可能在夜间自动运行的自动脚本时,它可能会出现很大问题。

有没有一种简单的方法可以防止这种行为,并且只是让应用程序以失败代码退出 - 无需更改程序本身的代码?

这可能吗?

最佳答案

答案如下:您需要禁用 WER .

我在 http://www.noktec.be/archives/259 找到的最简单的描述

只需(在 XP 上):右键单击“我的电脑”>“高级”>“错误报告”>“禁用”

瞧 - 程序无声崩溃!

当 DLL 丢失时,这不能解决问题,但这种情况很少见,这对我来说已经足够了。

关于windows - 运行批处理文件时如何防止失败程序(.exe)的错误弹出消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4062215/

相关文章:

python - 使用Python拍照

scripting - 为什么gwan.h里面有LG_VHDL?

android - webview 没有关闭 onclosewindow

javascript - 当用户单击关闭选项卡时如何打开新窗口浏览器?

windows - 为什么我的 Perl 程序不能在 Windows 上创建超过 4 GB 的文件?

c++ - Windows 中的 MongoDB C++ 驱动程序入门

linux - Linux 脚本中的多选菜单

javascript - Django Admin 弹出功能

c# - 如果文件中的函数被重新排序,差异应用程序会变得疯狂

Bash - 检查哪个变量不等于零