What other controls are you not able to get working? (different contol's respond to different messages. A message that works with 1 control, will not necessarily work for another. The same message may have a different meaning for different controls)

I tried with a quick sample VB application I created to test with.
I added 2 Labels, 2 TextBoxes, and a Button, and was able to get the text of all of the controls.

BTW: To differentiate between 2 controls that are the same type, you need either the HWND of the control, the control's title (which may not be unique) or the control's Control ID. (You need something that is unique for that control, the HWND being the best candidate).

Again HTML dialogs, or web browser controls (or similair type of controls) work differently. You would have to use COM/DOM , etc with these type of controls.

If you are trying to build an application that will work (without modification) with all the different possible applications that the developers may build, that would be difficult as you would have to account for every type of control, and know what messages work with different types of controls, and try to figure out how to pull it all together.

There are probably better ways to do whatever it is you are going to be doing in the long run. Maybe the developers could develop the programs so that the controls can be accessed externally (through VBScript or similair), etc.