zhangjian950617 发表于 2011-4-2 09:28:16

对于DELPHI安装键盘钩子来实现远程注入进程的一些疑问

看教程看到了利用安装键盘钩子SetWindowsHookEx 注入游戏进程 再调用回调函数来做别的事情(比如显示我们的辅助窗口)

那么对于回调函数:
  LRESULT CALLBACK HookProc // HookProc是回调函数名
  (
  int nCode,
  WPARAM wParam,
  LPARAM lParam
  );
//nCode参数是Hook代码,Hook子程使用这个参数来确定任务。这个参数的值依赖于Hook类型,每一种Hook都有自己的Hook代码特征字符集。
   wParam和lParam参数的值依赖于Hook代码,但是它们的典型值是包含了关于发送或者接收消息的信息。
这是回调函数的具体格式,
问题1: 为什么要使用回调函数?
问题2:在代码的注释中我不是很明白wParam,lParam 值的内容和作用 有牛人能解释吗?
问题3:对于回调函数 还有一个CallNextHookEx 这个函数
查了资料 是说:
每一个Hook链中的Hook子程都决定是否把这个事件传递到下一个Hook子程。Hook子程传递事件到下一个 Hook子程需要调用CallNextHookEx函数。
是把当前hook传给下个hook子程吗

yemao4587 发表于 2011-4-2 09:28:31

1.当有按键消息的时候,系统就先调用回调函数执行你的代码。
2.wParam是键代码,可以通过这个参数知道按下或释放了什么键,lParam就是就是这个键的一些状态信息,比如是按下了还是弹起什么的。
3.这个函数就是把消息传递给下一个钩子

zhangjian950617 发表于 2011-4-2 09:29:24

再问一个第一个参数int nCode    我的代码是:icode=HC_ACTION   这个HC_ACTION代表什么意思?   不同值有什么意义?
页: [1]
查看完整版本: 对于DELPHI安装键盘钩子来实现远程注入进程的一些疑问