16,548
社区成员




#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000)? 1 : 0)
BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
//获得键盘扫描码
UINT nScanCode = HIWORD(pMsg->lParam);
SetDlgItemInt(IDC_TEXT1, nScanCode, FALSE);
//获得虚拟键值
UINT nVKCode = ::MapVirtualKey(nScanCode, 3);
SetDlgItemInt(IDC_TEXT2, nVKCode, FALSE);
if (KEYDOWN(nVKCode))
{
MessageBox("正在按下中");
}
else
MessageBox("没有被按下");
}
return CDialog::PreTranslateMessage(pMsg);
}