从 Windows 7 开始,即使屏幕上显示模态对话框,也可以通过任务列表关闭我的应用程序 -> 关闭。 在早期版本的 Windows 中,桌面任务行中的“关闭”按钮被禁用,我的应用程序中对话框的所有父窗口也是如此。 在 Win7(及更高版本)中,对话框的父窗口仍然被禁用,但任务栏中的 close() 项目不是。 这种情况(模式对话框在屏幕上时关闭)会导致我的应用程序崩溃。 (注意:我们说的是 >>100 个对话框和 >>100 个 .exe 文件。) 我什至很高兴完全删除任务栏中的这个关闭项目。
有什么想法吗?
最佳答案
关闭应用程序的信号是 WM_SYSCOMMAND
message参数为 SC_CLOSE
。如果你放入一个消息处理程序,你可以拦截请求并做任何你想做的事。
请注意两件事:应用程序在您希望它们关闭时不关闭对用户来说非常令人沮丧,并且始终可以通过任务管理器强制关闭应用程序。
关于c++ - 在模式对话框打开时禁用关闭应用程序(通过任务列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120360/