windows 消息机制求教,触发第三方软件的按钮事件

2019-05-05 11:10:02 +08:00
 daijinming

有这么一个案例求教下大家,可以获得第三方应用的句柄,考虑在其窗口上悬浮一个操作按钮,点击按钮要求触发下面第三方应用的按钮事件,不知道是否可行

3588 次点击
所在节点    程序员
30 条回复
gino86
2019-05-05 17:03:28 +08:00
@hakono SendMessage 的第一个参数就是窗口句柄,按钮本身也是一个窗口,它在 window API 中也是通过 CreateWindow 创建出来的。
daijinming
2019-05-05 17:21:46 +08:00
@gino86 朋友,能推荐本书吗,我也系统学习。
gino86
2019-05-05 17:23:07 +08:00
windows 程序设计第五版 作者:Charles Petzold
daijinming
2019-05-05 17:29:47 +08:00
@gino86 曾经买过,两本还挺厚,珍藏了好多年,还特别新那
vmebeh
2019-05-05 17:56:12 +08:00
还是先了解一下 windows 消息循环比较好
hakono
2019-05-05 18:12:34 +08:00
@gino86
就算是用 DirectUI 写的,再怎么没控件句柄,也至少有个根窗口句柄。直接往跟窗口发消息和别的程序又没区别。 充其量也就是计算下坐标罢了。楼主这要求是盖上一个窗口,点击窗口会触发下方的按钮,点击时候的坐标就是下方按钮所在位置的坐标,直接换算一下坐标往对应的根窗口里发消息就好了,和控件句柄又没关系。
gino86
2019-05-05 18:19:01 +08:00
@hakono 这个真没有试过,子控件是否会响应主窗口的消息,我没有验证过,如果类似 wpf 的冒泡事件或者路由事件,应该可行的。
gino86
2019-05-05 18:20:19 +08:00
@hakono 如果新的按钮是覆盖在第三方应用的按钮上面,那直接在这个位置模拟鼠标点击那肯定可以
hakono
2019-05-05 19:12:14 +08:00
@gino86 是的。如果是要通过其他的方法的话,没有控件句柄,可以采用图片识别的方法。先截一张目标按钮图片,然后每次要点击按钮的时候,截图目标整个窗口,然后匹配图片位置。当然图片放大这些也需要做好模糊查找。匹配出按钮坐标,然后要么发消息要么模拟点击。
不过等全一套写下来了会发现,这不就是按键精灵吗 233
Cloutain
2019-05-06 11:50:56 +08:00
大漠或乐玩插件 ,识别点击按钮

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/561033

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX