delphi怎么获取其他程序运行时的即时数据

比如获取迅雷下载软件是的速度,大小等信息,如果有所有控件的句柄的话。
我尝试使用通过句柄获取标题的方法但是却只能取到应用程序的标题,取不到内部的信息,请高手们解答下,完成后继续送分

你做的这个是“第三方软件”,也可以说成“外挂程序”。

如果官方软件没有提供编程接口的话,可能要有点麻烦。

一般情况下外挂程序获取目标程序参数的方法是直接查找内存基址。

实现目标程序一个事件的方法是调用"call"来实现。

你说的 获得下载速度,大小等信息,要先使用 反汇编工具(OD或CE),找到基址。然后通过 ReadProcessMemory API函数读取,但是在找到基扯后,还不能马上用ReadProcessMemory来读取,这个你还得看看ReadProcessMemory的参数。

有些程序对外挂程序做了防范机制,你可能很难找不到基址,或函数调用call。

还有,你获取目标程序界面上内容的函数是哪个,SendMessage(H,WM_GETTEXT,。。)还是GetWindowText,这两个函数看起来功能一样,其实不太一样哈,SendMessage得不到的 你可以用一下GetWindowText.

不过最好的办法是查找基址。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-20
我写过类似这样的软件,是获取网管软件的数据,可以给你看看。
和我的百度Hi联系吧。

delphi怎么获取其他程序运行时的即时数据
一般情况下外挂程序获取目标程序参数的方法是直接查找内存基址。实现目标程序一个事件的方法是调用"call"来实现。你说的 获得下载速度,大小等信息,要先使用 反汇编工具(OD或CE),找到基址。然后通过 ReadProcessMemory API函数读取,但是在找到基扯后,还不能马上用ReadProcessMemory来读取,这个你还得...

delphi 怎么读取其它程序窗口的listview里的数据内容
a 读取b b:functionsgetlist()begin return list;end;

delphi如何给另一个程序发送指令,程序接收到指令之后执行操作
下面只是一例:一.第一种办法,利用注册Windows全局的消息.并覆盖wndProc过程来监听消息处理.1. 发送消息方: private strWM:Cardinal; \/\/定义一个局部变量 ... proccedure Form1.Create(sender:TObject); begin strWM:= RegisterWindowMessage('newspopMessage'); \/\/注册一个...

delphi 打开窗口直接运行代码
点击Button1 按钮后 可以向里输入数据 然后点Button2保存到数据库 将各字段用 edit 等控件一一对应建立,点击 Button1 时,先清空各 edit 原有数据;输入完成后,点 Button2 时,数据库执行 Append,再将数据 Post 到数据库中。

怎么用C++或DELPHI实现读取另一个进程的变量?
2:创建虚拟共享内存。3:管道,了解linux的人都应该知道这个东东 更详细的东西可以学习WINDOWS\/LINUX内核编程你也可以参考一下网页 VC++实现进程间数据传递的实例 http:\/\/tech.163.com\/06\/0119\/12\/27R2H8K800091LRC.html 同时您也可以在GOOGLE上搜索“进程间通信”,会有更详细的资料 ...

delphi 写的EXE程序正在运行,突然停电了,如何捕获这种异常,大虾们来...
这怎能捕获呢,电都没了,程序就在内存全消失了。唯一的就是程序中,定时保存当前程序状态或部分参数,一旦停了,能知道从哪里再开始。--- 客户端EXE程序要定时向服务端的数据表中写当前服务器的时间(SQL中可以写 服务端时间而不是客户端时间),服务端一旦检测客户端写入的时间已与实际时间 严重超时...

如何用delphi实现实时显示并存储嵌入式设备(单片机)中采集来的气象数据...
可以在delphi中使用定时器,每隔100ms发送一次请求,运行一次嵌入式设备进行采集数据,以显示并存储。也可以用嵌入式设备每隔多久向delphi程序发送数据包,delphi被动的用新的数据包更新界面。具体显示不过不懂的话可以参考delphi附带的lib里的demo,记得里面有个thread就是用数字显示模拟图像,很简单。

如何在Delphi中访问DBF数据库
8. 编译并运行应用程序。单击显示按钮,获取Visual FoxPro表中的数据。处理损坏的数据和元数据。UniDAC提供IgnoreDataErrors和IgnoreMetaDataErrors选项,分别忽略损坏的数据错误和元数据错误。设置这两个选项为True时,跳过损坏的数据,正确检索其他数据。当不完全了解DBF文件格式时,可以自动确定xBase数据库的...

Delphi 如何用多线程进行数据采集
Create方法:constructor Create (CreateSuspended: Boolean);--- 其中CreateSuspended参数确定线程在创建时是否立即执行。如果为True,新线程在创建后被挂起;如果为False,线程在创建后立即执行。FreeOnTerminate属性:property FreeOnTerminate: Boolean;--- 该属性确定程序员是否负责撤消该线程。如果该属性为T...

delphi程序开发中,域管理员怎么只运行一次程序
里面字段有ID, Pwd, 等等字段]运行的时候读取这个字段的值:如果为True and UserID = '1001' 则表示用户'1001'已经登录程序了, 提示用户 如果为False and UserID = '1001' 则表示用户'1001'未登录程序, 那么正常启动程序, 并且将数据库中IsRunning字段改为1 ...

相似回答