您的位置:首页 > 其它

VC:钩子(HOOK)参考程序

2012-02-02 11:29 302 查看
钩子程序

HHOOK g_hKeyboard=NULL;

HHOOK g_hMouse;

HWND g_hWnd=NULL;

LRESULT CALLBACK MouseProc(

int nCode, // hook code

WPARAM wParam, // message identifier

LPARAM lParam // mouse coordinates

)

{

return 1;

}

LRESULT CALLBACK KeyboardProc(

int code, // hook code

WPARAM wParam, // virtual-key code

LPARAM lParam // keystroke-message information

)

{

//if(VK_SPACE==wParam || VK_RETURN==wParam)

/*if(VK_F4==wParam && (1==(lParam>>29 & 1)))

return 1;

else

return CallNextHookEx(g_hKeyboard,code,wParam,lParam);*/

if(VK_F2==wParam)

{

::SendMessage(g_hWnd,WM_CLOSE,0,0);

UnhookWindowsHookEx(g_hKeyboard);

UnhookWindowsHookEx(g_hMouse);

}

return 1;

}

BOOL CInnerHookDlg::OnInitDialog()

{

// TODO: Add extra initialization here

g_hWnd=m_hWnd;

g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());

g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,NULL,GetCurrentThreadId());

return TRUE; // return TRUE unless you set the focus to a control

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: