GW Micro is proud to host Chip Orange's Interactive Window-Eyes Script Classes, specifically designed for Window-Eyes script/app developers.

Chip holds regular sessions on learning to program, and to write scripts (apps) for Window-Eyes. This gives you the power to solve your own accessibility issues often quickly, and for yourself, rather than wait on the vendor to release another upgrade, which may or may not fix things for you. These sessions are held every Sunday evening at 7 pm eastern time; We use TeamTalk, and a passworded channel. If you'd like a copy of the .tt file, which will start TeamTalk for you, placing you in the correct server and channel (with the password automatically supplied), email If you want to participate interactively, you'll either need a microphone (or a headset with one), or you can enter your questions via the text message facility of TeamTalk.

TeamTalk is a wonderful, free, accessible, voice conferencing system, which allows for group conversations using full duplex (everyone can hear everyone else while they can talk, just like a phone conference call), with great speech quality, and the ability to upload files to the channel so the participants can instantly share in files which are part of the conference, and the ability to send private text messages to others on the channel, or to the entire group when a written message is preferable to saying it. It can be set for either push-to-talk or voice activation operation.

You can download TeamTalk at When you run the TeamTalk installer you need to choose the classic client with accessibility as the item to be installed.

You can also download a Window-Eyes app which makes TeamTalk even easier to use from app central at:

You may also choose to subscribe to the:

RSS Feed Icon Interactive Window-Eyes Script Classes RSS feed

Class Archive

Class 1

- February 20, 2011

Beginning VBScript programming: variables and types; assignment commands, looping and IF commands; introduction to the immediate mode script.

Class 1 Audio Class 1 Examples

Class 2

- February 27, 2011

Beginning VBScript programming: constants; expressions including built-in VBScript functions; writing a function in VBScript; programming style practices.

Class 2 Audio Class 2 Examples

Class 3

- March 6, 2011

Beginning VBScript programming: subroutines; input/output commands; good programming practices; creating a script and loading it into Window-Eyes.

Class 3 Audio Class 3 Examples

Class 4

- March 13, 2011

Intermediate VBScript programming: variable declarations; global verses local variables; arrays; more flow-of-control (ElseIf, Select Case, and Do); and error handling.

Class 4 Audio Class 4 Examples

Class 5

- March 20, 2011

Intermediate VBScript programming: errors and error handling/debugging; exiting subs and functions; objects and object-oriented programming; specifics to the Window-Eyes VBScript environment.

Class 5 Audio Class 5 Examples

Class 6

- March 27, 2011

Intermediate VBScript programming: object-oriented programming; specifics for Window-Eyes VBScript environment and event handling; WE VBScript development environments.

Class 6 Audio Class 6 Examples

Class 7

- April 3, 2011

Advanced VBScript programming: object-oriented programming; event handling including fully working app which demonstrates the onChildCreate event of the window object.

Class 7 Audio Class 7 Examples

Class 8

- April 10, 2011

Advanced VBScript programming: object-oriented programming; event handling expanded from previous week's example; use of more WE events for detecting when windows close; and use of WE method for searching open windows in place of keeping a dictionary. Moved into best practices for creating a full Window-Eyes app, along with a summary of app tools for creating apps, and for analyzing applications to obtain required info as to their operations. Discussed MS Windows low-level structures and organization of window objects, and WE object model properties and methods used to represent this information.

Class 8 Audio Class 8 Examples

Class 9

- April 17, 2011

Discussed programming features all apps generally make use of, and which are generated by the WEScriptFramework Wizard: shared objects for standard help dialogs, error handling, updates checking; use of XML files and INI files.

Class 9 Audio Class 9 Examples

Class 10

- May 1, 2011

Discussion of problems surrounding full-blown use of hotkeys with WEScriptFramework Wizard; creating and posting a .wepm file (last stage of app development); and use of analysis tools WEEvent and TreeView as part of an example problem which showed their usefulness in the solution.

Class 10 Audio Class 10 Examples

Class 11

- May 8, 2011

Demonstrated use of the new app from GW Micro named UIDesign which allows for easy editing of an XML file, without having to know the exact syntax of the XML in use. Also demonstrated, in conjunction with an app which allows for easy access to the Google language translation facility, how UIDesign allows for "internationalization" of apps.

Class 11 Audio Class 11 Examples

Class 12

- May 22, 2011

Doug Geoffray (founder of GW Micro) was the guest speaker for the session. He took a series of free-wheeling questions, covering a wide range of scripting topics from using the Windows messaging mechanism from within WE apps, to plans for the scripting feature of Window-Eyes, and even commercial app development, sales, and marketing.

Class 12 Audio Class 12 Examples

Class 13

- May 30, 2011

Covered adding menu items to the generated app menu and code from WE Script Framework. Used UIDesign to modify the XML menus; discussed ideas behind WE XML dialogs

Class 13 Audio Class 13 Examples

Class 14

- June 5, 2011

Covers adding dialogs to an xml file using the UIDesign app, along with concepts behind the design of window-eyes xml dialogs. also covered is the necessary vbs code needed to display and process xml dialog information.

Class 14 Audio Class 14 Examples

Class 15

- June 12, 2011

Covers how to find needed window objects (either application or their controls), and how to then obtain text from their displayed windows using 3 different methods. This is a very common task when improving the accessibility of a particular program.

Class 15 Audio Class 15 Examples

Class 16

- June 19, 2011

The use of COM automation to control other applications; and more importantly, to provide a link with them in order to provide improved accessibility for their interfaces.

Class 16 Audio Class 16 Examples

Class 17

- June 26th, 2011

Covered the various ways an app developer might make use of keystroke related objects, methods, and events to help make programs more accessible. Provided a summary of an app which made use of these keystroke objects in order to turn a non-speaking listbox of a program into one which speaks normally.

Class 17 Audio Class 17 Examples

Class 18

- July 4th, 2011

Using MSAA events to obtain additional information (and other techniques for improving accessibility of a program), and also to prevent the speaking of inappropriate prompts (or other information).

Class 18 Audio Class 18 Examples

Class 19

- July 10th, 2011

Covers various Window-Eyes objects/events which haven't been covered in previous classes including the use of timers, the onShutdown event, the onError event, modifying speech by use of the speech object's events, and the concept of "scope" as applied to changing set file settings.

Class 19 Audio Class 19 Examples

Class 20

- July 17th, 2011

Defining classes in VBScript, and their uses in app development; along with passing parameters by reference and by value to subs and functions.

Class 20 Audio Class 20 Examples

Class 21

- July 24th, 2011

Covered recently released apps of interest to developers; passing parameters by value and by reference; and how to use, how to create, and uses for shared objects.

Class 21 Audio Class 21 Examples

Class 22

- July 31th, 2011

Demonstrates making a program accessible by the analysis of an inaccessible control of a Windows control panel applet (through the use of the immediate mode app), and then uses the analysis to show how to solve the problem by having an app supply the field name and the field data for the control.

Class 22 Audio Class 22 Examples

Class 24

- August 7th, 2011

Covers the use of text foreground and background colors in various scripting scenarios.

Class 24 Audio Class 24 Examples

Class 25

- August 21th, 2011

Covers the code generated by the WE Script Framework, and it's use of 3 commonly used shared objects from the GW Toolkit.

Class 25 Audio Class 25 Examples

Class 26

- September 4th, 2011

Covers the use of the newly released GW AudioKit.

Class 26 Audio Class 26 Examples

Class 27

- September 11th, 2011

Covers the editing of VBScript apps by use of the MS Office app (now being renamed to Office VBA and VBS Editor); demonstrates variable/function typing, and features such as Intelli-Sense which make use of it in the VBA Editor.

Class 27 Audio Class 27 Examples

Class 28

- September 18th, 2011

This class covers the use of ADO, and the MS JET database engine, for adding database functionality to an app (part 1).

Class 28 Audio Class 28 Examples

Class 29

- September 25th, 2011

Part 2 of the series covering adding database capabilities to apps using ADO.

Class 29 Audio Class 29 Examples

Class 30

- October 17th, 2011

Part 3 of the series covering the use of XML dialogs, this part covers writing an event handler for editboxes, single and multiselect listboxes, pushbuttons and checkboxes. Also covered is how to have hotkeys function only inside of an XML dialog, and how to dynamically enable or disable controls based on the values in other controls.

Class 30 Audio Class 30 Examples

Class 31

- September 24th, 2011

Part 4 of the series covering the use of XML dialogs, this part covers use of the listview, treeview, and updown control types.

Class 31 Audio Class 31 Examples