gpt4 book ai didi

c++ - 当我的程序启动的应用程序崩溃时自动丢弃 Windows 消息错误对话框(Win7-32​​、C++、VSE2013)

转载 作者:行者123 更新时间:2023-11-28 02:22:00 24 4
gpt4 key购买 nike

我正在编写一个小实用程序来监视和重新启动其他控制台应用程序(具有已知且恒定的 .exe 名称和路径)在 Windows 7 32 位下。我使用 C++ 和 MS VS Express 2013。问题是有一种可能性,即在重新启动时,受监视的应用程序可能会崩溃,从而产生有关崩溃详细信息的错误对话框。我的实用程序旨在每隔 1-2 分钟重新启动应用程序,直到它成功运行(是的,我知道这不是一件好事,但我无权访问原始应用程序源,因此我必须实现这样的“补丁”) .所以我的问题是 - 如何以最有效的方式禁用/自动关闭机器上其他应用程序生成的对话框?也非常感谢有关开发此类应用程序的任何提示。

编辑感谢您的回答,目前已通过以下代码解决:

while (true)        
{
//Check if output file of controller_id_780M.exe is updating
if (!controller_id_780M_OUTPUT_OK)
{
std::system("taskkill /F /T /IM controller_id_780M.exe");
std::system("taskkill /F /T /IM WerFault.exe");
ShellExecute(NULL, TEXT("open"), TEXT("controller_id_780M.exe"), NULL, NULL, SW_SHOWDEFAULT);
}
Sleep(100000);
}

最佳答案

在启动其他进程之前,调用 SetErrorMode(SEM_NOGPFAULTERRORBOX)。这会抑制崩溃对话框。错误模式由子进程继承,因此子进程不会显示崩溃对话框。

关于c++ - 当我的程序启动的应用程序崩溃时自动丢弃 Windows 消息错误对话框(Win7-32​​、C++、VSE2013),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32068797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com