I'm currently trying to make a debugging tool which will sit on top of a proprietary application (which interfaces over BLE with hardware).
Inside of this application (written in QT) there is a text box which has the stream of logging information coming from the hardware, and I want to make an application which will monitor that text box and process the data being logged.
I cracked open Spy++ and found the handles of the window I needed, however, it only displayed as "QWidget" and WM_GETTEXT wasn't pulling any data out. These two links also mention that QT widgets can't be read by the standard Win32 API (which feels strange to me, as I was sure everything needed to pass through the Windows GUI layer): 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
I'm open to any and all options! I'm language-agnostic on this one. How can I read out the QTextEdit logging data?
Qt's widgets support Assistive Technology (AT) out of the box. On Windows, Qt's Accessibility is available through MSAA and IAccessible2. Either one is capable of inspecting widget trees, and delivering a widget's properties across process boundaries.
Either interface is officially supported by Qt.