区分ALT + F4与任务栏关闭事件

时间:2012-03-29 19:38:38

标签: windows visual-studio-2010 visual-c++ mfc

我想确定是否已通过ALT+F4或通过从应用程序的TaskBar图标中选择“关闭窗口”触发OnClose。到目前为止,我能想到的只是测试:

void ...::OnClose() 
{
     if (::GetKeyState( VK_MENU ))
     {
          // Alt F4 triggered close
     }
}

有更好的方法吗?

奖励积分:有没有办法专门处理Windows 7任务栏关闭窗口菜单项?

2 个答案:

答案 0 :(得分:1)

WM_CLOSE由任务管理器发送。 当您按ALT_F4或从任务栏按钮的系统菜单中时,WM_SYSCOMMAND与参数SC_CLOSE一起发送。

答案 1 :(得分:0)

您应该使用RegisterHotkey API处理ALT+F4热键。运行自定义代码,然后关闭窗口。