社区
进程/线程/DLL
帖子详情
如何监控另一个程序中的某个按钮被点击?
FortheC
2008-09-10 02:59:32
如,A程序有N个按钮,我想用B程序来监控A程序的某个按钮(如 按钮1),只要A程序中的 按钮1 被点击,B程序就马上可以收到消息;
(注:肯定是没有A程序的源码)
请给出思路与大概的过程,感谢了!如果有部分或完整例子代码贴上,就最好了。
...全文
659
21
打赏
收藏
如何监控另一个程序中的某个按钮被点击?
如,A程序有N个按钮,我想用B程序来监控A程序的某个按钮(如 按钮1),只要A程序中的 按钮1 被点击,B程序就马上可以收到消息; (注:肯定是没有A程序的源码) 请给出思路与大概的过程,感谢了!如果有部分或完整例子代码贴上,就最好了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blueink_200451
2008-09-14
打赏
举报
回复
消息中还有窗口的句柄信息,这样可以得到id,比如idc_button1,2等,当然你在别人的进程 中是看到这些宏的是一些数字,你可以用spy++查看,记住ID,然后在消息处理中就可以知道是哪个button了。
303afei
2008-09-11
打赏
举报
回复
注入模块后,子类化按钮的父窗体,截wm_command消息,测试出对应的id
VsirSoft
2008-09-10
打赏
举报
回复
一般这类的 还是HOOK吧
cnzdgs
2008-09-10
打赏
举报
回复
SetWindowsHookEx,idHook给WH_CALLWNDPROC,在Hook函数中处理WM_COMMAND消息,判断窗口句柄、控件ID,再通知B程序。
yjgx007
2008-09-10
打赏
举报
回复
SetWindowsHookEx
knightshenbin
2008-09-10
打赏
举报
回复
如果A是自己做的就好办了,发个消息通知一下,如果不是,那就Hook吧
良枫
2008-09-10
打赏
举报
回复
当A中的按钮按下时,用SendMessage发送WM_COPYDATA消息给B,B收到消息根据收到的值判断哪个按钮被按下。
chenyijiu
2008-09-10
打赏
举报
回复
hook message
rand0941
2008-09-10
打赏
举报
回复
同意2楼,hook
Torch009
2008-09-10
打赏
举报
回复
A程序如果是你写的话就好办了。你点按钮时可以向B程序发送消息。
UDX协议
2008-09-10
打赏
举报
回复
楼上,你测试过没有?
GetDlgCtrlID。程序每次执行句柄值都是不同的,但ID肯定是相同的。
UDX协议
2008-09-10
打赏
举报
回复
vista就不用考虑了。
其他系统可以通过注入方式,或hook方式把自己的dll注入到a进程 ,在你的dll中枚举你需要的窗口,重新定义消息入口就可以处理了。
cnzdgs
2008-09-10
打赏
举报
回复
GetDlgCtrlID。但程序每次执行句柄值都是不同的,通常根据ID来识别控件。
FortheC
2008-09-10
打赏
举报
回复
[Quote=引用 14 楼 wwwllg 的回复:]
消息中还有窗口的句柄信息,这样可以得到id,比如idc_button1,2等,当然你在别人的进程 中是看到这些宏的是一些数字,你可以用spy++查看,记住ID,然后在消息处理中就可以知道是哪个button了。
[/Quote]
这个消息中的窗口的句柄, 是不是就是某些控件的句柄? 哪个函数可以根据此句柄来获得ID呢? 谢谢!
cnzdgs
2008-09-10
打赏
举报
回复
[Quote=引用 14 楼 wwwllg 的回复:]
消息中还有窗口的句柄信息,这样可以得到id,比如idc_button1,2等,当然你在别人的进程 中是看到这些宏的是一些数字,你可以用spy++查看,记住ID,然后在消息处理中就可以知道是哪个button了。
[/Quote]
蒋晟
2008-09-10
打赏
举报
回复
在父窗口中捕获WM_COMMAND或者BN_CLICK。Vista中的UAC如果打开了的话,跨进程的窗口访问可能被禁止,需要修改两个程序的代码才可以允许互相访问。
你有可能需要为A程序的每一个版本写一套代码。举例来说,如果A程序是Windows里面的音量控制,那么你有可能需要为每个语言的每个操作系统版本的程序编写不同的代码。
UDX协议
2008-09-10
打赏
举报
回复
消息中还有窗口的句柄信息,这样可以得到id,比如idc_button1,2等,当然你在别人的进程 中是看到这些宏的是一些数字,你可以用spy++查看,记住ID,然后在消息处理中就可以知道是哪个button了。
FortheC
2008-09-10
打赏
举报
回复
我对消息这东西真的不甚了解, 难道当消息来到之时, 可以根据这个消息来判断此消息是来自哪个控件ID的?
FortheC
2008-09-10
打赏
举报
回复
我还是那个问题, 如果Hool消息, 有N个按钮, 按钮1被点击时发出BN_CLICKED消息, 按钮2被点击时也是发出BN_CLICKED消息, 按钮3也是,按钮4也是..... 如果Hook BN_CLICKED消息, 当消息来到时, 怎么知道是哪个按钮?
scq2099yt
2008-09-10
打赏
举报
回复
同意Hook
加载更多回复(1)
js添加
点击
监控
事件的方式
本文介绍了在 JavaScript
中
为元素添加
点击
监控
事件的几种方式,包括内联事件处理
程序
、DOM0 级事件处理
程序
、DOM2 级事件处理
程序
和 jQuery 方式,并给出了示例代码和解释,可根据项目需求和场景选择合适方式。
【Python】如何使用pywinauto自动
点击
GUI
程序
窗体上的
按钮
本文介绍如何使用Pywinauto库实现对Windows GUI
程序
的自动化操作,包括启动
程序
、定位
按钮
及模拟
点击
等步骤。提供了两个具体示例,涵盖常用工具如spy++和inspect的使用方法。
javascript
中
操作另
一个
页面的
按钮
博客围绕JavaScript展开,询问能否在JavaScript里操作与当前页面无关的另
一个
页面的
按钮
,提问者自称是新手。
Unity|用
一个
PC端控制另
一个
PC端上两个
程序
的屏幕显示顺序
这篇博客介绍了
一个
利用Unity、TcpListener和TcpClient实现在局域网
中
,通过一台电脑控制另一台电脑上两个
程序
屏幕显示顺序的方法。通过
点击
控制端的
按钮
,可以改变目标电脑上指定
程序
的前台显示。
Java基础 awt Button
点击
按钮
后在控制台输出文字
本文展示了
一个
使用Java和Eclipse IDE在CentOS环境下创建GUI应用
程序
的例子。通过具体代码,介绍了如何创建窗口、
按钮
,并实现
按钮
点击
事件的监听与响应。
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章