Yes me to coming at the window-eyes scripting system from the jaws scripting system it has been quite a learning curve. Going to check out that addition script now.
From: Chip Orange [mailto:[email protected]] Sent: Monday, February 23, 2009 7:10 AM To: [email protected] Subject: RE: General Concept Question Hi Steve, I think this is a very useful start towards a scripting tutorial, and hope you'll consider adding it to the wiki site. I realize you may think it was "shooting from the hip", but it's got some absolutely invaluable info that just isn't in the WE scripting docs anywhere, on how to begin tackling a scripting project. I feel like Rick, a lot of the docs are so minimal as to only let you know a method or property exists, but not what it is used for. Some of the examples, for Boolean properties say, simply speak whether it's set to true or false. I'm trying to point out how someone like Rick, making the transition from API programming, may not be helped all that much by the current scripting manual. If you started the tutorial in the wiki with something like this, others would have something to work with and expand. I just wanted to thank you for giving so much valuable info to new scripters, in such a few lines. Chip _____ From: Stephen Clower [mailto:[email protected]] Sent: Sunday, February 22, 2009 11:59 PM To: [email protected] Subject: Re: General Concept Question Rick, The SDK that you use with Visual Studio contains the bare essentials that are needed to build Win32 programs. By itself, the SDK doesn't extend the IDE in any way The object reference that you see inside the Window-Eyes help menu is indeed a very detailed description of the screen reader's Com API. It can be overwhelming at first-- especially if one doesn't know where to start looking. Based on your questions, I would recommend looking at the Script and Window objects first. By examining the Script object, you will gain an understanding of how to connect Window-Eyes events inside a script. The Window reference contains the events, methods, and properties you need to find and monitor any operating system or application window. You might then want to look at the Keyboard object to learn how to register hotkeys. After that, examine whichever objects you believe will help you in reaching your script's goals. Some invaluable scripts that have helped me navigate a few conceptual and technical hurdles include WeEvent, Immed, and Virtual Explorer. WeEvent makes it easy to hook any of the Window-Eyes events to an application and watch what happens in real time. The event log can then be studied as it populates or saved for later review. Immed is GW Micro's immediate window script. If you want to test out a few lines of code without writing a full-blown script, then this is an essential time saver. Virtual Explorer is written by Jamal Mazrui and enables you to graphically explore windows and their relationships. Now that I've summarized the scripts, here's a brief overview of how I use them to make my life easier. I first invoke Virtual Explorer when I'm inside the program I want to script. I can quickly look at every window inside the app (including window titles, text, style information, handles, class names, etc). If I later decide I want to monitor one of these windows, I can use VX to quickly obtain the information I need. Once I have a general idea of the application's structure, I pull up WeEvent and select various events to monitor. Nine times out of ten, I select all of the available MSAA options, tab back to my application, and use it for a minute or two to allow plenty of data to accumulate in the WeEvent log. I'll then go back to WeEvent and study the results of the monitoring. This step can, and usually does, take some time. Once I know what I want to monitor, I can open Immed to write out a quick code snippet to accomplish this and observe what happens. I then add the snippet to my script once I have it working the way I want. Aside from looking through the Window-Eyes object reference and using the above scripts, you might be amazed with how much you can learn from actually reading through a script itself. Nearly all of the packages on Script Central contain human-readable code that is filled with explanatory comments. I learned a great deal about how to connect and interpret MSAA events, for instance, by reading through Aaron Smith's Adobe Audition 3 script. Hope this helps. Steve On 2/22/2009 11:04 PM, Ricks Place wrote: Thanks Steve: There is the Windows API, VBScript and the Windows DLLs and Framework. I use to use the Windows DLLs to access some information about windows controls and modify them with the DLLs. So I sort of get making calls to Windows DLLs from a script to access system properties or events. Now, Windoweyes says they have an API that provides direct access to the controls of a running application like Visual Studio. Is the definitions of the Objects in their reference document the documentation for their API? Do you know the commands you would put into a script to find a button with some name or handle inside a given window or dialog. Then, once found set focus to it and pressit or fire it's activation event somehow? The sum total I found in the GW documentation was how to display a couple of message boxes. Nothing on interacting with controls in a running program let alone using MSAA nor the new UIA or whatever it's called. What is their SDK all about? I haven't seen anything on using that either. Thanks Rick USA ----- Original Message ----- From: Stephen Clower <mailto:[email protected]> To: [email protected] Sent: Sunday, February 22, 2009 1:22 PM Subject: Re: General Concept Question Rick, This might work if the VWD software supports Com automation and if the gridview control can be manipulated as an object. I honestly don't know if it does, but the idea is sound. You can also pull up the WeEvent script and monitor the MSAA information that the gridview sends out and write a script to intercept and speak the data. Best regards, Steve On 2/22/2009 6:45 AM, Ricks Place wrote: Hi: I have a GridView I want to make work better. Would I instantiate a instance of it using the get object command? Can I assume it's properties and methods would then be available in my script? Would I use a Windows Control to display a more Windoweyes Friendly version of the Data and allow for adding new rows and cells? Rick USA
