首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

*HOOK的使用有关问题有关问题*

2012-01-19 
*****HOOK的使用问题问题****我现在用HOOK技术来做界面,我的做法是在DLL中用一个函数来安装一个局部钩子,

*****HOOK的使用问题问题****
我现在用HOOK技术来做界面,我的做法是在DLL中用一个函数来安装一个局部钩子,比如;
void   AppendSkin()
{

  hWndProc=SetWindowsHookEx( <钩子类型> ,   NewWndProc,NULL,GetCurrentThreadId());   //仅HOOK当前线程

}


然后导出AppendSkin给用户使用,当用户调用AppendSkin这个函数时,我的DLL就注入该用户的进程,然后拦截消息,我应该使用的钩子类型是那一个呢?或者那几个比较好?我开始使用WH_CALLWNDPROC类型的来拦截,主要是得到每个窗口的句柄就好办,无论是新建立的还是动态建立的窗口,得到窗口句柄后使用子类化对每一类型的窗口修改其窗口过程,进行自绘,大家说这中方式可取吗?我完全使用SDK方式,高手大虾们给小弟些意见,谢谢。


[解决办法]
呵呵...移除钧子最好是手工的,不然你HOOK到的那些窗口,只要有一个窗口产生WM_DESTROY消息,你的钩子就被移除了,这样还有其它被HOOK到的窗口怎么办呢?

一般把移除HOOK放在CWinApp::ExitInstancle函数中来处理.

热点排行