0

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

我想要这个的原因是为了一个测试环境。我想测试用户尝试注销的场景,但由于程序无响应,系统不会立即将其注销。

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

非常感谢您的帮助。

4

1 回答 1

0

您可以尝试修改主消息循环。使用带有 NO_REMOVE 的 PeekMessage(...) 并忽略 WM_QUIT 消息

编辑:在处理之前删除每条消息(WM_QUIT 除外)(GetMessage( &msg ,msg.hWnd ,msg.message ,msg.message ))

于 2010-12-02T14:44:53.227 回答