暗花豆瓣:VC挂线程钩子的小经验
来源:百度文库 编辑:中财网 时间:2024/04/19 13:20:31
VC挂线程钩子的小经验
2008-11-20 09:34:01 阅读(14) 发表评论挂线程钩子,最主要的是调用SetWindowsHookEx函数,使用例下:
g_hHook=SetWindowsHookEx(
WH_SYSMSGFILTER|WH_MSGFILTER,
//截获消息类型,可组合使用
(HOOKPROC)HookShowWindow,
//消息回调函数
g_hInst,
//消息回调函数所在模块的handle,因为是跨进程线程钩子,消息处理函数必须放到dll里面,故,这必须是dll的句柄。就因为这的错误,我折腾了几个小时。这个句柄可以在dllmain函数的hModule参数保存得到。
progID);
//要挂钩子的线程ID
其中, progID获取可如下:
DWORDprogID=GetWindowThreadProcessId(FindWindow("xvt320mditask100",NULL)->m_hWnd,NULL);
g_hInst获取如下:
HINSTANCEg_hInst;
BOOLAPIENTRYDllMain(HANDLEhModule,
DWORD
ul_reason_for_call,
LPVOIDlpReserved
)
{
switch
(ul_reason_for_call)
{
caseDLL_PROCESS_ATTACH:
g_hInst=
HINSTANCE
(hModule);
break
;
caseDLL_PROCESS_DETACH:
break
;
caseDLL_THREAD_ATTACH:
break
;
caseDLL_THREAD_DETACH:
break
;
}
return1;
}
g_hHook是挂钩子成功后返回的钩子句柄,须保存起来后面解钩使用。
UnhookWindowsHookEx(g_hHook);
就这么简单!
线程钩子
VB中用钩子截取线程封包
急需支持线程安全的队列源码,VC下使用
vc中线程类型及每一种类型的线程特点
键盘钩子的问题
键盘钩子的问题
全局钩子的问题
求一段VC线程代码
什么是WINDOWS的钩子函数?
怎样得到当前的线程执行状态(VC),用什么API实现
怎样得到当前的线程执行状态(VC),用什么API实现?
VC++学习经验
VC++编程时遇到的小问题
VC语言的一个小问题
一个VC程序的小问题?
关于VC中listbox的小问题
舟--关于VC的小问题
关于VC的一个小问题
关于系统钩子类型的疑惑
键盘钩子程序的问题一个!!!1
钩子有哪几类?它们分别处理的内容?
vb做的QQ钩子谁会啊?
高架下面为什么有很多小钩子?
超线程的概念,不是线程是超线程??谢谢