CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  Windows SDK/API

钩子函数问题???????????

楼主ygwaatas()2002-11-16 17:37:09 在 C++ Builder / Windows SDK/API 提问

我的程序使用了键盘钩子,在点击主窗体的“关闭”按钮时,出现如下提示: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

相关问题

  • 钩子函数????
  • 钩子函数
  • 有关钩子函数
  • 钩子函数小问题
  • 什么是钩子函数
  • 回调函数&钩子函数
  • 关于钩子函数(SetWindowsHookEx)的问题。
  • 钩子函数与文件加密
  • 如何使用钩子函数?
  • 关于钩子函数的问题1

关键词

  • dll
  • 卸载
  • 钩子
  • 窗体
  • 加载
  • 程序
  • 调用
  • 问题
  • 动态
  • hook

得分解答快速导航

  • 帖主:ygwaatas
  • mast
  • NowCan
  • zbc

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo