LRESULT CALLBACK GetMsgProc(int code,WPARAM wParam,LPARAM lParam)
{
PMSG pMsg=(PMSG)lParam;
if(pMsg->message == WM_COPYDATA)
{
PostMessage(g_hwnd,UM_COPY,0,0);
}
return CallNextHookEx(g_hook,code,wParam,lParam);
}
这是我的回调函数,UM_COPY是自定义消息
之前捕获WM_PAINT都成功了,但是我想要捕获用户按下Ctrl+c我之前之前用键盘钩子发现不能捕获Ctrl+c于是我就用消息,但是WM_COPY这消息不行~~
当用户按下Ctrl+c时有什么消息发生吗?另外如何用键盘钩子捕获Ctrl+c
{
PMSG pMsg=(PMSG)lParam;
if(pMsg->message == WM_COPYDATA)
{
PostMessage(g_hwnd,UM_COPY,0,0);
}
return CallNextHookEx(g_hook,code,wParam,lParam);
}
这是我的回调函数,UM_COPY是自定义消息
之前捕获WM_PAINT都成功了,但是我想要捕获用户按下Ctrl+c我之前之前用键盘钩子发现不能捕获Ctrl+c于是我就用消息,但是WM_COPY这消息不行~~
当用户按下Ctrl+c时有什么消息发生吗?另外如何用键盘钩子捕获Ctrl+c
long tmp = lParam;
if(wParam == VK_CONTROL && (tmp>>30 & 1))
{
g_ctrldown = true;
}
else
{
g_ctrldown = false;
}
tmp = lParam;
if(g_ctrldown)
{
if(wParam == 0x43 && (tmp>>30 & 1))
{
PostMessage(g_hwnd,UM_COPY,0,0);
}
}
但是这样也不行啊~~~
if(GetKeyState(VK_CONTROL)<0 && GetKeyState(_T('C'))<0)
{
AfxMessageBox(_T("Ctrl + C"));
}