Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I've just created such a tool, but I cheated a bit. Was actually about to ask the same question myself on the PB newsgroups. My solution is made of two parts:</p> <p><strong>Spy-like tool</strong> - a stand-alone app that like Spy++, i.e. lets you drag a target onto a control, using Windows API functions (though written in PB).</p> <p><strong>Internal infrastructure for target applications</strong> - located at the ancestor of all of the application's windows. Once given a certain (windows) handle, it goes through the Control[] array and looks for the control whose handle matches the given one. If necessary, it also recurses into control-containers such as tabs.</p> <p>When the user selects a control, the spy tool first looks for its containing window using Windows API. When found, the tool sends a custom message to that window, which is then handled by the app's infrastructure. The control is then located in the PB app, and its details are finally sent back to the spy tool, which presents them to the user.</p> <p>I suspect the infrastructure part can be replaced with some external thing, as I've seen tools that seem to be able to do that (Visual Expert, QTP). However, I haven't had the time to further investigate, and this solution was relatively easy to develop.</p> <p>I've got to say, your question comes on a surprising timing. See <a href="https://stackoverflow.com/questions/1003134/is-contributing-internal-tools-to-open-source-worth-the-effort">this recent question of mine</a>. If you're interested in the tool I've created, drop me a comment.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload