SetWindowsHookEx返回是0 ,getlasterror也是0

ww_wangliang 2009-09-09 08:59:48
我的进程要捕获2个窗口的消息,我先调用SetHook了一个窗口,没有问题。
但是,再次调用捕获第二个窗口(GetProcessThreadId不同,其他参数一样),就返回0了,而且GetLastError也是0.

如果我把第一个UnHook了,第二个就好用了。。不知道为什么
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2009-09-09
  • 打赏
  • 举报
回复
同一个进程,一个钩子就可以了,自己再区分窗口..
ww_wangliang 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cstod 的回复:]
GetProcessThreadId?
你是说GetWindowProcessThreadId?
意思是两个窗口是不同的进程的?
要捕获别的进程的消息,一定用全局钩子吧,你装一个全局的钩子,所有进程的窗口都可以捕获,为什么要装两个呢?
[/Quote]
主要是我就想获得部分窗口的消息,要是挂个全局钩子会影响性能吧。
一个程序可能开2个,我要区分2个窗口的消息。。不能挂2个吗。。
是GetWindowProcessThreadId函数。。无论是1个进程创建的,还是2个进程创建的。都必须卸载1个才能挂第二个。
要是重复挂1个,也不会返回0
另外。怎么加分啊。。没有选项~~
huohuo1120 2009-09-09
  • 打赏
  • 举报
回复
学习一下
CsToD 2009-09-09
  • 打赏
  • 举报
回复
GetProcessThreadId?
你是说GetWindowProcessThreadId?
意思是两个窗口是不同的进程的?
要捕获别的进程的消息,一定用全局钩子吧,你装一个全局的钩子,所有进程的窗口都可以捕获,为什么要装两个呢?

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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