使用PreTranslateMessage(MSG* pMsg)函数截获alt+F的消息,为什么不可以?我是这样实现的:
if (pMsg->message==WM_SYSKEYDOWN&&pMsg->wParam==VK_MENU)
if (pMsg->message==WM_SYSCHAR&&pMsg->wParam=='F')
if (pMsg->message==WM_SYSKEYUP&&pMsg->wParam==VK_MENU)
if (pMsg->message==WM_SYSKEYUP&&pMsg->wParam=='F')
AfxMessageBox("F");
如果只截获alt可以达到效果,但是加上F键就不可以了,这是为什么?应该怎么样实现啊?
if (pMsg->message==WM_SYSKEYDOWN&&pMsg->wParam==VK_MENU)
if (pMsg->message==WM_SYSCHAR&&pMsg->wParam=='F')
if (pMsg->message==WM_SYSKEYUP&&pMsg->wParam==VK_MENU)
if (pMsg->message==WM_SYSKEYUP&&pMsg->wParam=='F')
AfxMessageBox("F");
如果只截获alt可以达到效果,但是加上F键就不可以了,这是为什么?应该怎么样实现啊?
{
if(::GetKeyState(VK_CONTROL) < 0) {
keymsg = pMsg->wParam;
strKey.Format("按下Ctrl+%c",keymsg);
}
}