如何知道进程中其它窗口程序中的BUTTON被按下?(100分)

  • 主题发起人 主题发起人 zzyun
  • 开始时间 开始时间
Z

zzyun

Unregistered / Unconfirmed
GUEST, unregistred user!
HI,各位大虾:<br>&nbsp; &nbsp;详细情况如下:<br>我要写一个程序(A)知道进程中其他窗口(B)中的BUTTON被按下,目前可以实现的是在我的程序里可以向B窗口中的BUTTON发送消息来模拟B窗口中的BUTTON被按下。但是还没办法在A程序中如何知道B程序中的BUTTON被按下了,请注意B程序不是我写的,还请大虾们指教!<br><br>谢谢。
 
挂钩。。。。。。最方便的!
 
通过取window的消息来处理
 
to 掷月有声,<br>&nbsp;可否详细讲解? 谢谢!<br>to 竹林飞剑,<br>&nbsp; 您的意思是说由B程序发消息出来么?但是B程序不是我自己写的。<br><br>感谢两位的参与
 
The SendMessage function sends the specified message to a window or windows. The function calls the window procedure for the specified window and does not return until the window procedure has processed the message!<br>使用sendmessage,发送的消息返回了,就不会有问题了!<br>你不可能检测不到消息的,我认为!button按下的消息是你自己发送的,要是也是这个!除此之外就是button弹起的消息,使用消息钩子,hook button的弹起消息,或许是个办法!<br>我没有试过,不肯定!!!
 
to menzhe,<br>B程序不是我写的,所以按下BUTTON后不会发送消息给其他的程序的,要发消息也只是发给B程序本身,如果使用钩子,如何用A程序钩到BUTTON发给他本身(B程序)的? 还请指教。谢谢。
 
到百度搜索鼠标钩子!钩子能得到系统中的所以消息!要确定是b的,还要确定一下,进程名字,或者窗口类名!
 
to menzhe,<br>&nbsp; 谢谢你的解答。进程名字,或者窗口类名甚至该BUTTON的句柄都可以得到,但是我个人觉得鼠标钩子只能钩住鼠标发给系统的消息,还能钩住窗口发给系统的? 呵呵,不知道可否给点示例代码学习学习? 呵呵
 
抱歉,是我的错误!应该使用WH_GETMESSAGE类型的钩子!就可以得到所以的消息了!<br>好像用WH_CALLWNDPROCRET类型的钩子也可以!当调用sendmessage函数时,函数将消息发送给目标窗口过程后在调用钩子函数!
 
to menzhe,<br>&nbsp; 我个人也是觉得用消息钩子来做,呵呵,最近一直没时间的,还没测试, 等测试了在和大伙联系啊.
 
多人接受答案了。
 
后退
顶部