【发布时间】:2015-06-05 05:47:36
【问题描述】:
我目前正在尝试制作一个调试工具,它将位于专有应用程序(通过 BLE 与硬件接口)之上。
在这个应用程序内部(用 QT 编写)有一个文本框,其中包含来自硬件的日志信息流,我想制作一个应用程序来监控该文本框并处理正在记录的数据。
我打开 Spy++ 并找到了我需要的窗口句柄,但是,它只显示为“QWidget”,并且 WM_GETTEXT 没有提取任何数据。这两个链接还提到标准 Win32 API 无法读取 QT 小部件(这对我来说感觉很奇怪,因为我确信所有东西都需要通过 Windows GUI 层): https://forum.qt.io/topic/36867/accessing-qtextedit-from-another-program/9 https://forum.qt.io/topic/19256/how-get-handle-of-qwidget-child-with-vb-net/9
我愿意接受任何和所有选择!我对这个语言不可知论者。如何读出 QTextEdit 的日志数据?
【问题讨论】:
-
Err... 我不知道您为什么希望能够通过访问其窗口句柄来从由任意代码实现的 Qt Widget 中读取数据。您可能会查看Sikuli:“Sikuli 自动执行您在屏幕上看到的任何内容。它使用图像识别来识别和控制 GUI 组件。当无法轻松访问 GUI 的内部或源代码时,它很有用。” (但我认为与代码的开发人员交谈以提供某种钩子也是值得的,而不是花费大量开发时间以不稳定的方式完成此类任务......!)
-
看看这个工具-github.com/KDAB/GammaRay