16,472
社区成员
发帖
与我相关
我的任务
分享
LRESULT CALLBACK KeyboardProc(
int code,
WPARAM wParam,
LPARAM lParam
)
{
//这里留个退出的后门:F2键。
if(VK_F2 == wParam) //但是这样Ctrl+F2、Alt+F2之类的组合键都能退出了,我只想让单独F2键退出,涉及F2的其他组合键不退出,该怎么办? 怎么判断?
{
::SendMessage(g_hWnd,WM_CLOSE,0,0);
}
if(VK_F4 == wParam && (lParam>>29 &1)) //屏蔽Alt+F4
{
return 1;
}
else
{
return ::CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
}
if(WM_KEYDOWN == pMsg->message && VK_F2 == pMsg->wParam)
{
if(!HIBYTE(GetKeyState(VK_CONTROL)) && !HIBYTE(GetKeyState(VK_SHIFT)) && !HIBYTE(GetKeyState(VK_MENU)))
{
PostMessage(WM_CLOSE);
}
}