delphi怎么获取其他程序运行时的即时数据
比如获取迅雷下载软件是的速度,大小等信息,如果有所有控件的句柄的话。我尝试使用通过句柄获取标题的方法但是却只能取到应用程序的标题,取不到内部的信息,请高手们解答下,完成后...
比如获取迅雷下载软件是的速度,大小等信息,如果有所有控件的句柄的话。
我尝试使用通过句柄获取标题的方法但是却只能取到应用程序的标题,取不到内部的信息,请高手们解答下,完成后继续送分 展开
我尝试使用通过句柄获取标题的方法但是却只能取到应用程序的标题,取不到内部的信息,请高手们解答下,完成后继续送分 展开
2个回答
展开全部
你做的这个是“第三方软件”,也可以说成“外挂程序”。
如果官方软件没有提供编程接口的话,可能要有点麻烦。
一般情况下外挂程序获取目标程序参数的方法是直接查找内存基址。
实现目标程序一个事件的方法是调用"call"来实现。
你说的 获得下载速度,大小等信息,要先使用 反汇编工具(OD或CE),找到基址。然后通过 ReadProcessMemory API函数读取,但是在找到基扯后,还不能马上用ReadProcessMemory来读取,这个你还得看看ReadProcessMemory的参数。
有些程序对外挂程序做了防范机制,你可能很难找不到基址,或函数调用call。
还有,你获取目标程序界面上内容的函数是哪个,SendMessage(H,WM_GETTEXT,。。)还是GetWindowText,这两个函数看起来功能一样,其实不太一样哈,SendMessage得不到的 你可以用一下GetWindowText.
不过最好的办法是查找基址。
如果官方软件没有提供编程接口的话,可能要有点麻烦。
一般情况下外挂程序获取目标程序参数的方法是直接查找内存基址。
实现目标程序一个事件的方法是调用"call"来实现。
你说的 获得下载速度,大小等信息,要先使用 反汇编工具(OD或CE),找到基址。然后通过 ReadProcessMemory API函数读取,但是在找到基扯后,还不能马上用ReadProcessMemory来读取,这个你还得看看ReadProcessMemory的参数。
有些程序对外挂程序做了防范机制,你可能很难找不到基址,或函数调用call。
还有,你获取目标程序界面上内容的函数是哪个,SendMessage(H,WM_GETTEXT,。。)还是GetWindowText,这两个函数看起来功能一样,其实不太一样哈,SendMessage得不到的 你可以用一下GetWindowText.
不过最好的办法是查找基址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询