Sometimes it can be difficult to automate some software for one of a few reasons:
Perhaps different fields share a common control ID.
Perhaps the GUI designer overlapped many controls, so AutoIt Window Info won't show you the one that you actually have your mouse over.
This script aims to provide a solution. The idea is for you to populate such a GUI with different values in each field, and then allow this script to 'capture' that window. It will then group controls sharing the same text values and display their ClassNameNNs, which is generally** an excellent way to reliably differentiate between controls.
Prepare the window that you wish to automate.
Start this script.
Click the Capture button.
Activate the other window by clicking on it.
Return to the script's window and browse the assembled TreeView.
** Proven not to work with .NET applications; _ControlGetHandleByPos() may be your only hope there.
Add "Copy Item" and "Copy All" buttons to copy information from the TreeView to the clipboard (thanks to the idea)
Show control text as an AutoIt string definition (with macros as appropriate) instead of just naively wrapping it in single quotes
Adjust for script-breaking changes in AutoIt v184.108.40.206 (thanks to )