MFC如何获取运行程序的数据

比如说我运行一个程序A,想要自己写一个MFC程序,来获取程序A中的数据A获取到一些文本信息,我想要知道A获取的数据是什么,然后显示到我的MFC程序中。这个如何实现?... 比如说我运行一个程序A,想要自己写一个MFC程序,来获取程序A中的数据

A获取到一些文本信息,我想要知道A获取的数据是什么,然后显示到我的MFC程序中。
这个如何实现?
展开
 我来答
bhtzu
2013-08-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4269万
展开全部
你说的程序A是否可控?如果A是不可修改代码的软件,那么只能通过SPY++获取显示该文本的窗口和控件句柄,然后通过API函数::FindWindow获取A程序指定窗口指定控件的句柄,然后GetWindowText获取窗口内容。当然前提是A软件没有禁止窗口捕捉和获取。
追问
谢谢你,现在程序A是有一个按钮 ,点击这个按钮,会生成一些数据,
SPY++ 可以获取程序A这个按钮的句柄吗,可以的话,根据计算坐标来模拟点击一下吗,
前提是,我写的MFC程序让程序A在后台执行,前台看不到界面。
抱歉,叙述的有点啰嗦
追答
如果没有显示窗口就不行,因为要获取句柄。
不需要模拟点击,可以获取A程序窗口句柄后尝试消息发送试试,但这个不一定成功。
其实这种方式获取并不靠谱,因为你无法确定A程序是否支持,如果A能有组件或者库函数接口获取,是最好的,如果没有。。。。不见得一定成功。
任明星Ming
2013-08-17 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1154万
展开全部
有很多办法,只能给你思路,你要自己去实现:
1. 在程序A里,向你的MFC程序发送窗口消息,消息中附带你的文本信息。
2. 用SOCKET通信,MFC作为服务端,A程序成为客户端,客户度向服务端发送信息。
追问
程序A是已经存在的EXE,不可控的。有好方法解决吗
追答
这个估计就没有好的办法了。
除非:计算该EXE的控件指针,尝试在内存中获取。但难度很大。
还有就是楼下的建议了,也不失为一种好的选择。但须注意每次A程序启动时,控件的窗口句柄可能是不一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式