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