如何在按ESC或ALTF + F4时禁用MFC应用程序退出?

时间:2010-03-04 09:25:27

标签: c++ windows mfc

我有一个MFC应用程序,我不希望在运行期间关闭它。我已禁用右上角的“X”图标,但现在如果我按下ESC键,或ALT + F4它仍然关闭。

我如何禁用此功能,如果有人按下这些键,它将无法关闭?程序运行完毕后,我想重新启用它们。

谢谢,
kampi

2 个答案:

答案 0 :(得分:7)

如果您处理WM_CLOSE消息并将其丢弃。 (即不要拨打DefWindowProc),然后窗口将不会关闭。

您还可以使用CS_NOCLOSE样式注册窗口类,以禁用关闭窗口的所有常规方法。

答案 1 :(得分:3)

无法说出Esc键,但就Alt + F4而言,它会向主窗口发送关闭命令。您基本上需要覆盖OnClose事件并将其保持为空(不是调用基本方法)。这应该可以解决问题。

P.S。由于我多年没有接触过MFC,所以可能不是100%真实。我是怎么记得的。