Delphi跨程序读取文本框内容
跨程序读取文本框内容的 Delphi 代码,真的挺实用。自动化测试、数据监控、甚至你要从老系统偷点值出来,这种需求还蛮常见的。用的是FindWindow
加GetWindowText
组合,思路清晰,实现也不复杂。
Delphi 的窗口句柄操作,其实多人都绕着走,但真掌握了之后,能省下不少事。像文章里这段代码:
TextBoxWnd := FindWindowEx(MainWnd, 0, 'TTextBox', PChar(TextBoxCaption));
就是拿来干脆利落地定位控件。搞清楚类名和标题,配合 Spy++,定位没啥难度。响应也快,代码也简单。
跨进程读取文本用GetWindowText
就行,但得注意长度限制,默认 256,太短可以改。哦,还有,目标程序如果用的是自绘控件(像某些 Qt 或 Electron 写的),那你这套方法就不管用了。
代码整合得也挺贴心的,一个GetTargetTextBoxValue
包起来,用起来就直接了:
function GetTargetTextBoxValue(ProcTitle, TextBoxCaption: string): string;
提醒一句,安全软件会拦截你操作别的程序的控件,尤其是那些涉及账号密码的地方。如果你拿来做测试还好,搞灰产就别说我推荐的哈~
如果你常做桌面自动化或 UI 测试,可以把这段代码放工具库里,挺好用的。
BF.rar
预估大小:9个文件
Project1.res
876B
Unit1.~dfm
629B
Unit1.dfm
609B
Unit1.ddp
55B
Project1.cfg
376B
Unit1.pas
1KB
Project1.dpr
188B
Project1.dof
2KB
Unit1.~pas
1KB
4.3KB
文件大小:
评论区