在模态对话框打开时禁用应用程序关闭(通过任务列表)

时间:2015-08-20 14:01:15

标签: c++ winapi windows-7

从Windows 7开始,可以通过Tasklist关闭我的应用程序 - >即使屏幕上有模态对话框,也会关闭。 在早期版本的Windows中,"关闭"桌面任务行中的按钮被禁用,就像我的应用程序中对话框的所有父窗口一样。 在Win7(及更高版本)中,仍然禁用对话框的父窗口,但不禁用任务栏中的close()项。 这样的场景(当模态对话框在屏幕上时关闭)会导致我的应用程序崩溃。 (注意:我们谈论的是>> 100个对话框,以及>> 100个.exe文件。) 我甚至很高兴完全删除任务栏中的这个关闭项目。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

使用参数SC_CLOSE的{​​{3}}发出关闭应用程序的信号。如果你放入一个消息处理程序,你可以拦截请求并做你想做的任何事情。

要注意两件事:当你想要它们时不关闭的应用程序对用户来说是非常令人沮丧的,并且总是可以通过任务管理器强制关闭应用程序。