可视化中止基于MFC的C++而不弹出对话框



我们有一个旧的基于MFC的C++gui应用程序(Visual Studio 6.0(,它经常无法正确终止。因此,我希望能够使用类似";abort(("立即结束。

但是,abort((指令会弹出一个对话框,而不是立即结束。使用";exit(int(";不起作用。

有没有办法消除中止对话框,或者有更好的终止方法?

在不提前发生任何其他事情的情况下中止的一个明显方法是调用Windows ExitProcess函数:

ExitProcess(exitCode);

如果你想从某个外部程序中杀死它,你可以用TerminateProcess来完成。要做到这一点,你需要一个进程的句柄,这通常意味着获取它的进程ID。如果你从一个派生出你想杀死的进程的程序中执行这项操作,你可能会在创建它时获得它的句柄。否则,你可能需要使用类似FindWindow的东西来查找它的窗口,然后使用GetWindowThreadProcessId来查找该窗口进程的ID。一旦你有了它,你就调用OpenProcess来获得一个句柄,最后调用TerminateProcess来实际杀死它

如果它是一个基于对话框的应用程序,那么您可以使用EndDialog(IDOK(方法。

最新更新