可以在PreTranslateMessage中这样判断: BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if(pMsg->message == WM_SYSKEYDOWN) { if(pMsg->wParam == VK_MENU) MessageBox(_T("Alt键被按下!")); } return CDialog::PreTranslateMessage(pMsg); }