无响应的程序,在被要求终止时不会优雅地结束,以进行测试

时间:2010-12-02 10:54:22

标签: windows winapi process terminate

我想写一个简单的程序,什么也不做,但在被要求时不会轻易终止。我想看到Windows对话框,上面写着“这个程序没有响应,你想等到它完成它正在做的事情,还是现在终止它?”。在用户选择“立即终止”之后,它当然应该退出。

我想要的原因是测试环境。我想测试一个用户尝试注销的场景,但系统没有立即注销,因为程序没有响应。

我尝试通过调用Sleep()来响应WM_DESTROY,但似乎没有这样做。程序在从任务管理器中被杀死时仍然会立即终止。再一次,我不是想写一些真正“不可杀戮”的东西,只是一个简单的程序,它会让对话框询问用户是否想要等待程序完成。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试修改主消息循环。将PeekMessage(...)与NO_REMOVE一起使用并忽略WM_QUIT消息

编辑:在处理(GetMessage( &msg ,msg.hWnd ,msg.message ,msg.message ))

之前删除所有消息(WM_QUIT除外)
相关问题