Sounds like the program I deal with. It makes no sense having 24 blank/invisible panels just to hold 1 button. Either way, I will spare the boring details of what else problems it has. Twitter: www.twitter.com/sonfire -----Original Message----- From: jawsscripts-bounce@xxxxxxxxxxxxx [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Donald Marang Sent: Thursday, January 01, 2009 1:15 PM To: jawsscripts@xxxxxxxxxxxxx Subject: [jawsscripts] Re: Scripting horror! You described my situation with Verizon Call Assistant. All of the dialogs have the class of "#32770". I thought this was random until I discovered that Notepad also uses this class. The application uses this class for the main window, the results window, the "Toast" windows that popup in the notification area like a HelpBalloon, windows that pop up like ToolTip windows and confirmation dialogs. It would have been much simpler if I could just Reclassify individual windows as ToolTip and HelpBalloon! Instead I created my own WindowActivatedEvent, which checks for this class, then performs a series of If ... Then ... ElIf ... statements that check the Control ID and text of its first child to accurately determine the window. Although most of the Control IDs do not change, a few strangely have the same number. Perhaps they lost count when creating the controls. The numbers start at 201 and count up. But the Close button in the title bar and the next page button use the same ID. All of this takes a lot of trial and error! I still have serious problems reliably moving to buttons that are visible on the screen with theMoveToControl statement! Sometimes it seems that there is a barrier between the main dialog where the main buttons are located and other dialogs, like the results dialog. I switch to the JAWS cursor, set the restriction to none, and try every way of moving the cursor and focus I know about. But it fails! Sometimes it performs and reads and reacts like I expect, but the PC cursor refuses to move to the new window when the function finishes. In this function, I am not using any SaveCursor statements. The window handle of the application occasionally changes, even without closing! I think its schizophrenic. There are two instances of the application running all of the time according to WinDig. Is this normal for an application that also runs in the system tray? If I use nested statements throughout the application to dynamically get the main application window handle, the scripts fail. I had to set a global variable and use that to make it work at all. That is until the main application window handle decides to change. Slowly my scripts for this unruly application is becoming useful and more stable! I had a lot of cases where it came in handy, like telling me my son called and left a message just after midnight while I was on the phone with my daughter. Don Marang ----- Original Message ----- From: "Andy Borka" <andy@xxxxxxxxxxxxxxxxxxx> To: <jawsscripts@xxxxxxxxxxxxx> Sent: Thursday, January 01, 2009 10:32 AM Subject: [jawsscripts] Scripting horror! > Don't you like the programs that do the following? > > > 1. Give control IDs that always change > 2. Never give names for any of the controls or windows > 3. Make the MSAA name of a control whatever the controls value is (I.e. > the text inside an edit box or selected index of the combobox) > 4. Give about 10% of the MSAA info needed to do anything with it > 5. Never is consistent with what MSAA info is given (the info varies > from control to control) > 6. Has controls with no info at all except if it is visible or not > 7. Windows in the program that have all 1 single classname called > something like DotNet2.0.5272.Cf88120R.0.App.C0 > > > > How do you deal with a program like this? > > > > Twitter: www.twitter.com/sonfire > > > > > > __________ > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > View the list's information and change your settings at > //www.freelists.org/list/jawsscripts > __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at //www.freelists.org/list/jawsscripts __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at //www.freelists.org/list/jawsscripts