求获取delphi程序中的控件文本的代码 (获取第三方程序控件的文本)

jhjjc 2016-09-17 03:50:37
我这里有个软件是用delphi开发的,有个会员输入窗口要输入一些文本框数据,我现在想做一个小程序来自动输入文本框的数据,文本框的数据能通过查找句柄进行控件文本的填写,但是数据要根据会员输入窗口下方的控件显示内容来判断输入什么数据、数据是否成功写入数据库。网上查了一些资料,能获取控件的句柄,但不能提取控件文本,因本人是菜鸟,想在此求助高手帮忙写一段代码实现我想要的功能。另外能加上注释那就最好不过了。
下面是我要控制delphi开发的程序的界面

我想要读取“卡号为空,不能写卡”这个区域显示的文字,我用了类似下面的方法可以取到文本文档的状态栏的文字,但是取不到这个界面的“卡号为空,不能写卡”这几个字。

部分代码
GetWindowThreadProcessId(hTargetWindow, lProcessID)
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, lProcessID)
If hProcess = 0 Then Exit Sub
lpBuffer = VirtualAllocEx(ByVal hProcess, ByVal 0&, Len(s), MEM_COMMIT, PAGE_READWRITE)
If lpBuffer = 0 Then Exit Sub
lPartIndex = 1
Call SendMessage(hStatusBar, SB_GETTEXT, lPartIndex, ByVal lpBuffer)
Call ReadProcessMemory(ByVal hProcess, ByVal lpBuffer, ByVal s, Len(s), ByVal 0)
VirtualFreeEx hProcess, ByVal lpBuffer, 0, MEM_DECOMMIT
Debug.Print "状态栏"; lPartIndex + 1; "中的文字为:"; s
该控件在SPY中显示是属于TdxStatusBar类

请教大家用什么办法可以读取到delphi写的TdxStatusBar控件的文本呢?
...全文
692 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主的问题解决了吗,我现在已经远程注入了,但是不知道怎么拿静态文本的对象,方便分享下方法吗?
kciv 2019-07-05
  • 打赏
  • 举报
回复
还有人用delphi啊!!
我也在用,哈哈!
Illusion_1202 2017-07-11
  • 打赏
  • 举报
回复
楼主的问题解决了吗,方便分享下方法吗
jhjjc 2016-09-19
  • 打赏
  • 举报
回复
谢谢mjp1234airen4385,你提供的资源好像不针对第三方程序的呀
mjp1234airen4385 2016-09-18
  • 打赏
  • 举报
回复
你看这个资源能不能帮到你 http://download.csdn.net/detail/mjp1234airen4385/1550580

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧