当前位置:编程学习 > VC++ >>

请问如何用vc做一个软件将另一软件中的波形图的值给掘取出来,放到现在编的软件中去参与计算

大家好,老师给的一个项目中用到一个国外的测量商业软件(买来的时候是连电脑一起 买来的,好像没有序列号无法在别的机器上安装),这个测量软件可以显示波形图,(x 轴--每一时刻)(y轴--这一时刻测量到的值),但软件上不显示某一时刻的测量俱体 值。每点一次开始按钮,波形图开始显示,每按一次结束,软件会将这期间的数据保存 为.dat文件。 我现在的问题是要用vc做一个软件将,这个值取掘取出来。网上查资料料说可 以用hook,句柄什么的,将另一软件文本框中的数据给掘取出来,但现在这个测量软件 没有文本框显示的值,就一个波形图,有办法将其中的测量数据给弄出来吗?
答案:肯定是可以的,但是比较难,
1:如果波形图是公开的控件,直接向它发消息来取得信息。
2:用不同的有规律的曲线来调试这个软件,用文件对比工具分析记录下的Dat文件。分析出Dat文件的格式
3:用不同的有规律的曲线来调试这个软件,同时用内存查询修改工具比如游戏修改工具FPE等来找到这个软件存放测量值的地址,用VC写一个直接读取这个地址并同时记录时间的软件。
4 :当然HOOK相关的画图API,得到相应的数据也可行。
其他:你是否知道保存的数据文件(.dat文件)的格式,如果知道的话直接对数据文件操作读取数值就可以,这是最简单的方法,其他的方法估计很难达到这个目的。你可以联系一下那个测量软件的开发商,如果你购买了他的正版软件,你可以说我要进行二次开发,一般情况下他会给你这些资料的。 就是hook了,这已经是黑客级别的技术了, 得看你的图形是怎么绘制出来的了。
是GDI绘制的,还是OpenGL之类的3D加速图形库绘制的。
我个人估计如果是波形绘制的话,一般还是要用到后者。

前者简单点,可以探测到绘图窗口的句柄,然后取得句柄数据或直接获得截图,然后分析。
或者hook掉他的绘图API,然后拦截数据,(首先,你得知道他是用什么API绘制的)。
后者也可以拦截绘图函数,或者获得显存数据之类的东西。

这个东西不好做,得黑客级别的,不是百度上的一些菜鸟能做的。

你还可以试试内存查找,就像“金山游侠”那种软件一样。通过筛选比较获得他的虚拟内存地址,然后用什么函数可以直接读出来~
我觉得后者更有希望。呵呵 

上一个:vc++6.0编辑窗口怎么才能插入而不覆盖后面的代码
下一个:在VC中创建一个基于对话框的工程,在主对话框中添加一些按钮之类的控件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,