16,472
社区成员
发帖
与我相关
我的任务
分享
LRESULT CALLBACK KeyHookProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if(nCode<0||nCode==HC_NOREMOVE) //消息未处理
return ::CallNextHookEx(g_hHook,nCode,wParam,lParam);
if(lParam & 0x40000000)//按键为按下状态
{
return ::CallNextHookEx(g_hHook,nCode,wParam,lParam);
}
//::PostMessage(g_hWndCaller,HM_KEY,wParam,lParam);
//((LPKBDLLHOOKSTRUCT)wParam)->vkCode = VkKeyScan('s');
if(Key)
{
keybd_event( VkKeyScan('x'),
VkKeyScan('x'),
KEYEVENTF_EXTENDEDKEY | 0,
0 );
keybd_event( VkKeyScan('x'),
VkKeyScan('x'),
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
Key = FALSE;
return TRUE;
}
else
{
Key = TRUE;
}
return ::CallNextHookEx(g_hHook,nCode,wParam,lParam);
}