概述
大致步骤如下:
1、安装一个鼠标监视钩子
3、指定线程由当前进程创建
4、指定于钩子过程相关的线程ID
需要函数:
HHOOK SetWindowsHookEx(
int idHook, // hook type
HOOKPROC lpfn, // hook procedure
HINSTANCE hMod, // handle tapplication instance
DWORD dwThreadId // thread identifier
);
具体步骤:
1、定义**钩子变量,窗口钩子的句柄,以及钩子函数的定义:这里只写了鼠标钩子和键盘钩子
HHOOK g_hMouse = NULL;//全局变量,用来保存SetWindowsHookEx返回的句柄
HHOOK g_hKeyboard = NULL;
HWND g_hWnd = NULL;
LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
return 1;
}
LRESULT CALLBACK KeyBoardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
// if (VK_SPACE == wParam || VK_RETURN == wParam)
/* if (VK_F4 == wParam && (1 == (lParam>>29 & 1 )))
{
return 1;
}
else
return CallNextHookEx(g_hKeyboard,nCode,wParam,lParam);*/
if (VK_F2 == wParam)
{
::SendMessage(g_hWnd,WM_CLOSE,0,0);
UnhookWindowsHookEx(g_hKeyboard);
UnhookWindowsHookEx(g_hMouse);
}
return 1;
}
2、启动钩子:在源文件中写上以下代码
g_hWnd = m_hWnd;
g_hMouse = SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());
//安装一个鼠标监视钩子
//指向相应的钩子过程
//指定线程由当前进程创建
//指定于钩子过程相关的线程ID
g_hKeyboard = SetWindowsHookEx(WH_KEYBOARD,KeyBoardProc,NULL,GetCurrentThreadId());
最后
以上就是忧虑奇迹为你收集整理的Hook使用方法的全部内容,希望文章能够帮你解决Hook使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复