一般的WINDOWS窗口程序,可以使用ALT+F4来进行关闭,如果用模态对话框作为主窗口的程序也可以有同样的功能(下面会介绍怎么处理)。 如果要在一般窗口程序中要屏蔽ALT+F4键,就要处理WM_CLOSE消息,或是WM_SYSKEYDOWN等消息。当然我指的是一般的WIN32程序,对于MFC程序可能处理有些不同。
而对于以模态对话框作为主窗口的程序,如果没有在窗口过程中处理ALT+F4,ESC键消息,就不会响应这两个键(自然起到了屏蔽作用)。在模态对话框中,当用户按下ALT+F4或是ESC键或是点击标题栏上的关闭按钮,系统会向主窗口发送WM_COMMAND消息,这时lParam参数的低16位的值为2,系统预定义为IDCANCEL。于是我们就可以在这里进行相应的处理,可以给用户作些提示,然后在调用EndDialog()API退出程序,当然也可根据情况做其它处理。