Free tool that logs all window controls hierarchy?

I am looking for an utility application that implements a kind of MSVStudio Spy.
An application that is able to log **all** controls and related details of an windows application window. Spy only sees the main controls and could not detect controls from other programming languages like delphi. It does not detects those controls that are inside other controls.
Do you know an application that could do this?

I need that application n order to inspect the target app in order to automize it later...


Last edited on
Have you checked yet? It has a bunch of utilities like what you are describing.
Not yet. I will check it up. Thanks
None found... :-(
This isn't always possible due to the structures of some programs, they may keep button and other informations in private structures instead of letting Windows know about them.

Think of a videogame's gui:
Windows doesn't really know if something is a button - It just displays it.

But, in case it still uses regular windows controls, I never found anything better than MSVS's Spy.
Not much from me, eh.
I eard about IAccessible COM Interface... But it is Very confusing
There e must be a way brecause screen readers do that
Last edited on
What did you read about IAccessible that would lead you to believe that it would be a solution to your problem? I'm not familiar with this particular interface but I am experienced enough with COM to help clarify some of the confusion you are having with the subject.
Well, I know that we can get an accessible object pointer to specific window application using:
HRESULT hr = AccessibleObjectFromWindow((HWND) GetHWND(),…

Then we can get the name of the window using:
hr = pi_acc_root_win->get_accName(g_var_self, &str_name);

Then we can get all childs levels using the same way but using a IDISPATCH interface type and then get the text of each child object, etc.
It is this last operation that I don’t know how to do that…
Topic archived. No new replies allowed.