钩子函数问题???????????
我的程序使用了键盘钩子,在点击主窗体的“关闭”按钮时,出现如下提示:Runtime error 204 at 40002FFC,然后又弹出一个窗体说是“非法操作”,我试着在程序中把EnableKeyHook()与DisableKeyHook()去掉,再运行一点问题都没有,一加上一关闭主窗体就有问题,我的EnableKeyHook函数是在窗体的Create时进行调用的,DisableKeyHook是在窗体Destroy里调用的,我试着在Close时调用也一样地出问题。不知问题出在哪,盼望各位高手解答一下!!!!!!!!! 问题点数:40、回复次数:7Top
1 楼RomanticProgrammer() 兰企鹅||南极俺最帅 ()回复于 2002-11-16 17:52:35 得分 0
你的键盘钩子是在dll中吗?
Top
2 楼ygwaatas()回复于 2002-11-16 17:59:37 得分 0
是啊!程序分为两部分:主程序和实现钩子的dllTop
3 楼mast(石破天)回复于 2002-11-18 11:09:23 得分 10
实现钩子的dll,只能在程序运行期间动态加栽.Top
4 楼KingOf007(金雨冷)回复于 2002-11-23 16:41:07 得分 0
那就在CloseQuery中写好啦Top
5 楼huguolu(三木)回复于 2002-11-30 23:12:44 得分 0
TO mast(石破天) :
实现钩子的dll,只能在程序运行期间动态的加载吗?不能静态的装载dll吗?感觉很有用!能不能解释一下!谢谢!Top
6 楼NowCan(城市浪人)回复于 2002-12-01 11:38:58 得分 10
谁说只能动态加载的?静态也是可以的。
我主页上有例子,但是现在我进不去,你看看能不能进去。
http://nowcan.yeah.netTop
7 楼zbc(修身养息,百战不怠)回复于 2002-12-01 12:49:05 得分 20
你在卸载钩子时。你要先判断钩子是否已经被释放。如果已经释放的话。你就不能再进行卸载操作了:
你的dll中,加载钩子的程序应该类似如下:
if (hook)
UnHookWindowEx(hook);
SetWindowHookEx();
卸载钩子时:
if (hook)
UnHookWindowEx(hook);
Top




