开源
功能说明: 该程序是一个基于易语言开发的实用工具,其主要功能是通过 Windows API 消息机制,准确获取外部窗口中特定子窗口(通常是编辑框)的文本内容。程序的核心逻辑封装在自定义子程序中,旨在演示如何跨进程读取其他应用程序界面的控件数据。
程序功能总结如下:
1. 核心功能模块:
程序最关键的子程序是“取子窗口标题_"。这是一个公开类型的文本型子程序,专门用于通过发送消息的方式准确取到外部编辑框的内容,而非简单的 API 取标题。该子程序接收三个主要参数:父窗口类名、父窗口标题以及子窗口类名。内部执行流程如下:
- 首先调用“寻找顶级窗口_"API 根据类名和标题找到父窗口句柄。
- 接着调用“寻找子窗口_"API 在父窗口中查找指定类名的子窗口句柄。
- 获取句柄后,先发送 WM_GETTEXTLENGTH 消息(消息值 14)获取文本长度。
- 根据长度分配内存空间,再发送 WM_GETTEXT 消息(消息值 13)将实际文本内容读取到缓冲区。
- 最后返回读取到的文本内容。
2. 界面交互逻辑:
在“窗口程序集 1"中,定义了按钮点击事件"_按钮 1_被单击”。当用户点击界面上的按钮时,触发该事件。事件代码调用了核心子程序“取子窗口标题_",并传入了一组特定的参数(代码注释中说明是以 QQ 登录框为例,参数包括"TXGuiFoundation"、"QQ2010"、"ATL:30A451E0")。获取到的内容会被直接赋值给界面上的“编辑框 1",从而让用户看到读取结果。
3. 系统 API 支持:
程序在 DLL 命令部分声明了多个必要的 Windows 系统函数,均来自 user32.dll:
- 寻找顶级窗口_ (FindWindowA):用于查找符合条件的顶级窗口。
- 寻找子窗口_ (FindWindowExA):用于在指定父窗口下查找子窗口。
- 发送消息_长度/内容 (SendMessageA):用于向窗口句柄发送消息,分别处理获取文本长度和获取文本内容的请求。
4. 应用场景与说明:
代码注释中明确指出,虽然示例使用的是 QQ 登录框的账号编辑框,但该程序具有通用性。用户可以根据需要修改传入的窗口类名和标题,以获取其他外部应用程序编辑框的内容。程序还包含了标准的启动子程序和临时测试子程序结构,符合易语言的标准开发规范。
综上所述,这是一个演示如何使用易语言结合 Windows 消息机制来实现外部窗口文本读取的示例程序,适用于需要自动化获取界面信息或进行窗口交互开发的场景。
======窗口程序集1
| |
| |------ _按钮1_被单击
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 取子窗口标题_
| |
| |
======调用的Dll
| |
| |---[dll]------ 寻找顶级窗口_
| |
| |---[dll]------ 寻找子窗口_
| |
| |---[dll]------ 发送消息_长度
| |
| |---[dll]------ 发送消息_内容
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。