Delphi跨程序读取文本框内容

跨程序读取文本框内容的 Delphi 代码,真的挺实用。自动化测试、数据监控、甚至你要从老系统偷点值出来,这种需求还蛮常见的。用的是FindWindowGetWindowText组合,思路清晰,实现也不复杂。

Delphi 的窗口句柄操作,其实多人都绕着走,但真掌握了之后,能省下不少事。像文章里这段代码:

TextBoxWnd := FindWindowEx(MainWnd, 0, 'TTextBox', PChar(TextBoxCaption));

就是拿来干脆利落地定位控件。搞清楚类名和标题,配合 Spy++,定位没啥难度。响应也快,代码也简单。

跨进程读取文本GetWindowText就行,但得注意长度限制,默认 256,太短可以改。哦,还有,目标程序如果用的是自绘控件(像某些 Qt 或 Electron 写的),那你这套方法就不管用了。

代码整合得也挺贴心的,一个GetTargetTextBoxValue包起来,用起来就直接了:

function GetTargetTextBoxValue(ProcTitle, TextBoxCaption: string): string;

提醒一句,安全软件会拦截你操作别的程序的控件,尤其是那些涉及账号密码的地方。如果你拿来做测试还好,搞灰产就别说我推荐的哈~

如果你常做桌面自动化或 UI 测试,可以把这段代码放工具库里,挺好用的。

rar
BF.rar 预估大小:9个文件
file
Project1.res 876B
file
Unit1.~dfm 629B
file
Unit1.dfm 609B
file
Unit1.ddp 55B
file
Project1.cfg 376B
file
Unit1.pas 1KB
file
Project1.dpr 188B
file
Project1.dof 2KB
file
Unit1.~pas 1KB
rar 文件大小:4.3KB