Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: overview control manager
First get the window that you want to control up on the screen. Next run the ANALYSIS.WBT script in another window, which when you select the title of the window you want to identify, will produce a report showing the unique control identifier IDs, names, and sequence numbers. You can then use this information in the functions included with the extender. There are lots of examples in the help file, and more on this website.
Basically all windows exist in a tree-structured list off a "parent" window. Each and every window (which includes buttons, radio buttons, check boxes, lists and *everything*) has an absolutely unique window handle. However the window handles change every time you run the program.
To do any thing with a window you need the window handle. But as it is totally unpredictable, you need a way to determine the window handle when you need it.
Beside the handle, which is unique, windows have a number of other attributes which can be used to identify it. However these other attributes are not unique, and so you must pick and choose among them to decide what to do.
These other attributes are the windows name or title, the position in the list of windows (known as the sequence number), the type of window (known as the class) and the window identifier (known as the ident or ID).
Usually by listing at the report produced by the "Window Analysis" script, you can determine some way to work down from the parent top windows (which is the window handle returned by DllHwnd) to the exact window you wish to modify.
You must state at the window analysis script report and work out an unambigious way to work down from the parent to the desired lower level "child" window. Use the cWndByxxx functions to do this.
I treat the fucntions like...
Best Choice to Worst Choice:
cWndById cWndByName cWndByClass cWndBySeqFirst I see if a window at a particular level has a unique ID. If so I prefer to use that. If two windows at the same level have the same ID, then I see if the window names (or titles) are different. If not, then I check the class of the windows. And finally resort to the sequence number of the window.
I don't like sequence numbers as they can quickly and mysteriously change when you least expect it.
We've added a whole slew of new functions recently, which can get at the more complex types of standard windows controls.
Article ID: W12516
Filename: !Overview of Control Manager Usage.txt
File Created: 2017:07:28:13:58:24
Last Updated: 1999:06:22:10:41:26