M
Mike
I am writing an application (in C++) to interrogate the controls on any
currently running .NET application. Most of the information I need I can
retrieve from the window and class information available through the HWNDs
retrieved using the EnumChildWindows() API.
My problem occurs with controls that have the class name like
'WindowsForms10.BUTTON.app3'. So far I have seen this class name used for
button, checkbox, radio button and group box controls, and basically all the
other windows' styles are the same for each control type. The only way to
distinguish these controls is by the control type name, and as far as I can
see this property cannot be accessed from an external process.
However I have noticed that at runtime controls within a .NET application
seem to have a property/variable called 'WM_GETCONTROLNAME' which appears to
me to be a type of windows message. Sending this value as a windows message
to a .NET control has no effect.
Could someone please tell me if this WM_GETCONTROLNAME can provide me with
the functionality I need or do I need to inject my own code into the running
process in order to retrieve the information I need from the inside???
Thanks in advance...
Mike
currently running .NET application. Most of the information I need I can
retrieve from the window and class information available through the HWNDs
retrieved using the EnumChildWindows() API.
My problem occurs with controls that have the class name like
'WindowsForms10.BUTTON.app3'. So far I have seen this class name used for
button, checkbox, radio button and group box controls, and basically all the
other windows' styles are the same for each control type. The only way to
distinguish these controls is by the control type name, and as far as I can
see this property cannot be accessed from an external process.
However I have noticed that at runtime controls within a .NET application
seem to have a property/variable called 'WM_GETCONTROLNAME' which appears to
me to be a type of windows message. Sending this value as a windows message
to a .NET control has no effect.
Could someone please tell me if this WM_GETCONTROLNAME can provide me with
the functionality I need or do I need to inject my own code into the running
process in order to retrieve the information I need from the inside???
Thanks in advance...
Mike