请问在线程HOOK的回调函数中, 如何拦截自定义消息

mgzhenhong 2013-09-14 04:30:33

实现了我的主程序, 和 hook.dll 后, 尝试注入windows计算器。

SetWindowsHookEx(WH_CALLWNDPROC, fnHookProc, hInstance, tid);

在 hook.dll 中实现 fnHookProc 函数, 这个函数的作用就是把记事本收到的任何消息, 写入日志文件。

现在以上功能现在是成功的。

但是我的主程序 尝试向记事本用 PostMessage 发送一个自定义消息 例如

const WM_USERMESSAGE = WM_USER + 1000;

PostMessage(记事本窗口句柄, WM_USERMESSAGE, 0, 0);

却无法被我的 fnHookProc 拦截到, 这是为什么??
我如何才能做到?

...全文
234 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mgzhenhong 2013-09-16
  • 打赏
  • 举报
回复
可以了, 我用的是PostMessage 不成功 换成你代码里的SendMessage, 可以成功。 谢谢
mgzhenhong 2013-09-15
  • 打赏
  • 举报
回复
请发你的源码, 谢谢! 我对照我的源码看看, 现在我的源码不在手边, 没法发。
sololie 2013-09-14
  • 打赏
  • 举报
回复
我试了下了,可以收到自定义消息,你是咋整得?


const WM_USERMESSAGE = WM_USER + 1000;
。。。。
    pcwp := PCWPStruct(lParam);
    if (pcwp.message = WM_USERMESSAGE) then
      MessageBox(0, '收到自定义消息了', 'WM_USERMESSAGE', 0);

另外注意,这里发消息要用sendmessage

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧