Window-Eyes: Performance, Reliability, and Stability
"Unleashing the power of your mind's eye."
(C)1995-2011 GW Micro, Inc. All Rights Reserved
Phone: 260-489-3671
Released: 3/10/2011

[Please note: The following information can also be found in the Window-Eyes Help menu, under the Documentation pulldown.]

Welcome to Window-Eyes 7.5

GW Micro is proud to announce the release of Window-Eyes 7.5. This version of Window-Eyes introduces several new features, including full UIA support, support for Internet Explorer 9 and Windows Live Mail/Windows Live Messenger 2011, a brand new Remote Assistance feature, plus a completely re-designed (and much more intuitive) user interface. In addition to these new features, Window-Eyes 7.5 also boasts a significant performance increase in Microsoft Office products, along with many bug fixes and stability improvements. Window-Eyes 7.5 is also the first version of Window-Eyes to re-brand the notion of scripts into a more comfortable and recognizable term: apps. Window-Eyes Apps embrace a broader sense of usage by including everything from program enhancements that deal specifically with accessibility issues to more convenience-oriented apps and everything in between. While the underlying structure of these Window-Eyes enhancements is the same industry standard that has been in place since its inception, the concept of an app is more widely known, and the use of this term will help eliminate the confusion often associated with the more technical expression.

Keep reading to learn more about Window-Eyes 7.5, and what it can do for you.

Keeping In Touch

Now that you have the power of Window-Eyes at your fingertips, why not join up with other Window-Eyes users on a GW Micro e-mail list? There are several to choose from: GW-Info for lively discussions of GW Micro products and services, GW-News for GW Micro news announcements only, GW-Scripting for Window-Eyes script developers and users, and many more. To subscribe, unsubscribe, or manage an existing subscription, visit Subscribing is as simple as entering your email address in the email address edit box, selecting the Subscribe/Default radio button, selecting the GW-Info email list from the combo box of available lists, then selecting the Modify button. You will then receive a confirmation message. Select the link provided in the confirmation email, and you will become a member of the largest public network of Window-Eyes users, always eager and willing to answer any questions you may have. Although we encourage all users to help each other with questions and problems, you can take comfort in knowing that the GW-Info list is constantly monitored by GW Micro employees.

You may also contact us directly by using the contact information listed above. Thank You!

Window-Eyes is developed with you in mind. Please feel free to contact us regarding any questions, comments, or suggestions that you may have; we are eager to hear from you. Now read on to learn more about your latest investment, and thank you for choosing Window-Eyes!


The following documentation consists of important information that you need to know before using this version of Window-Eyes.

1. You must already have an existing copy of Window-Eyes 7.X (including 7.0, 7.01, 7.02, 7.1, 7.11, or 7.2) installed before installing Window-Eyes 7.5.

2. Window-Eyes 7.5 will not install over a version of Window-Eyes less than 7.0. If you are running a version of Window-Eyes less than 7.0, you will need to upgrade to Window-Eyes 7.2 by contacting our order department at 260-489-3671, or

3. As of July 13, 2010, Microsoft ended support for all Windows 2000 products. Window-Eyes 7.5, therefore, will not install under Windows 2000, and requires at least Windows XP to run.

This readme is divided up into various sections. The start of each major section will begin with two plus signs and the start of each minor section will begin with two minus signs. This means that you can search for ++ to move to the start of a major section, and -- to move to the start of a minor section. If you are reading the manual on a Windows PC using Notepad, we recommend maximizing the Notepad window with ALT-SPACE, then X. It is also a good idea to make sure that "word wrap" is enabled. This is usually found under the format menu of Notepad.

++New Features in Window-Eyes 7.5

-- New User Interface

The most striking difference between this version of Window-Eyes and all previous versions, is a complete redesign of the Window-Eyes user interface, also known as the Window-Eyes control panel. In the past, Window-Eyes settings were controlled by a simplistic system where individual settings had to be changed one at a time by entering and exiting various menus. Using a modernized dialog and common layout, the new Window-Eyes user interface allows you to control all settings in one window.

The new Window-Eyes dialog consists of two panes: a left hand pane with a treeview representing the various categorized groups of settings, and a right hand property page which contains various controls representing individual options. When you select an item in the treeview, the property page will update dynamically with the controls relevant to the selected group. You can press the Tab key to move between controls in the property pane, as well as to move from the property pane to the treeview. Pressing F6 will also move focus back and forth between the tree view and the property pane. The dialog also consists of three menu items. File (for managing settings), Apps (for managing and accessing apps), and Help (for accessing documentation and other support services).

Modified settings take effect immediately with the option to save the settings to disk permanently. Finding and changing settings is made easy through better organization along with more human readable names, plus additional features like being able to synchronize the Screen, Keyboard, and Mouse settings. Standard shortcuts such as Control-O to open settings, and Control-S to save, provide a level of consistency familiar among other programs. Much care has been taken to ensure an environment that is never without speech, including the ability to revert settings, an auditory prompt before switching synthesizers, and quick access to the factory default synthesizer. Beginner and Advanced options continue to exist, allowing more confident users access to all Window-Eyes settings, and keeping new users from being inundated with unnecessary options. Regardless of beginner or advanced settings, context sensitive help can be obtained at any time, on any of the controls in the Window-Eyes user interface, simply by pressing F1. Either a balloon tool tip with a brief synopsis of the selected control, or the Manual (opened to the relevant section), will be presented. In addition, all editable controls are value sensitive, meaning that if you try to type a letter into an edit box that only accepts numbers, Window-Eyes will notify you of the error, ensuring that only correct data is stored when settings are saved.

In addition to a new layout, almost all Window-Eyes settings now have their own "scope." Scope refers to the range a setting should have, or, in other words, whether a setting should apply to a specific program or globally to all programs. In general, this behavior has existed in Window-Eyes for some time. Only now is the ability to apply a setting to all programs as simple as a push of a button. For example, you may wish to have the announcement of blank lines on for every application. You need only toggle that setting's scope to Global, and it will immediately take effect in all programs. Even individual hot keys can be made to function globally. You no longer need to use external utilities to convert sets back and forth simply to make a setting work in all programs.

Set files have also undergone significant change. Instead of using cryptic file extensions like .000 or .001, set files now use a more meaningful file extension: .set. In addition, set files are now XML based, providing an open, standard language for storing Window-Eyes settings, as well as allowing for future extensibility. Window-Eyes also provides the ability to convert older set files to the new XML format using the Update Outdated Settings option in the File menu. During the conversion process, older set files will be backed up automatically. The Window-Eyes upgrade will automatically convert old set files to the newest format. Manually copied set files can be updated using the Update Outdated Settings in the Window-Eyes File menu.

A complete description of the new user interface can be found in the new Window-Eyes manual. In an effort to increase readability and minimize technical babble, the Window-Eyes manual has been drastically reduced in size while continuing to maintain high quality content. In addition, the level of documentation relates to the user interface. In other words, if only the beginner settings are shown in the Window-Eyes control panel, then only the beginner documentation (relating to those settings) will be provided. If the advanced settings are shown, then advanced documentation will be provided. You can access the manual at any time by opening Window-Eyes with Control-Backslash, pressing Alt-H for Help, D for Documentation, then M for Manual.

Window-Eyes 7.5 is also the first version of Window-Eyes to re-brand the notion of scripts into a more comfortable and recognizable term: apps. Window-Eyes Apps embrace a broader sense of usage by including everything from program enhancements that deal specifically with accessibility issues to more convenience-oriented apps and everything in between. While the underlying structure of these Window-Eyes enhancements is the same industry standard that has been in place since its inception, the concept of an app is more widely known, and the use of this term will help eliminate the confusion often associated with the more technical expression.

-- UIA

Window-Eyes 7.5 now provides full support for UI Automation (commonly referred to as UIA), a technology developed by Microsoft to provide assistive technology products with standard means to access and control parts of a program's user interface. UIA is similar to MSAA, but contains much richer information. While UIA is a new technology, applications like Visual Studio 2010 (as well as applications built with Visual Studio 2010) are already putting it to use.

-- Remote Assistance

Remote Assistance support is available for Windows Vista and Windows 7 (both 32-bit and 64-bit are supported). Remote Assistance for Windows XP will be forthcoming in a free, future upgrade. To start a Remote Assistance session (as the helpee), select the Ask for Help item under Help -> Remote Assistance. Make note of the 6-digit password provided, and contact a person from whom you want to receive assistance (the helper). They will then select the Offer Help option under Help -> Remote Assistance, enter their name and the 6-digit password you provided them. After they choose to connect, you will receive a confirmation to allow the helper to have access to your computer (the name they entered will be presented in the confirmation dialog).

When a successful connection is made, the Remote Assistance screen on the helper's side will go full screen (where all key strokes will be sent to the helpee's machine), and speech will automatically be ported to the helper's synthesizer. Note that the synthesizer is not changed to match the person asking for help. The person receiving help will hear speech with their same synth and the person helping will receive speech through their own synthesizer. In other words, the synthesizers do not have to match. When the helper is done assisting, the connection can be terminated by pressing Alt-Tab to the Remote Assistance dialog, and selecting the Cancel Help Request button. Both the helper, and helpee, can choose to terminate the connection at any time.

While connected, and full screen, the helper may choose to press Control-Alt-Break to switch from full screen to windowed mode. Once in windowed mode, the helper can access their machine resources like normal. Alt-tabbing back to the Remote Assistance dialog, and pressing Control-Alt-Break again will switch from windowed mode back to full screen. In windowed mode, the following hot keys can be used to provide full screen functionality:

ALT+PAGE UP: Switch between programs from left to right
ALT+PAGE DOWN: Switch between programs from right to left
ALT+INSERT: Cycle through the programs in most recently used order
ALT+HOME: Display the Start menu
CTRL+ALT+BREAK: Switch the client computer between a window and a full screen
ALT+DELETE: Display the Windows menu
CTRL+ALT+Minus sign (-): Place a snapshot of the entire client window area on the Terminal server clipboard and provide the same functionality as pressing ALT+PRINT SCREEN on a local computer (ALT+PRT SC)
CTRL+ALT+Plus sign (+): Place a snapshot of the active window in the client on the Terminal server clipboard and provide the same functionality as pressing PRINT SCREEN on a local computer (PRT SC)

-- Virtual Braille

In addition to the Virtual RDP and Virtual Citrix speech synthesizers that have been available for Terminal Services and Citrix, Window-Eyes 7.5 now offers the choice of a Virtual Braille display. When enabled, Window-Eyes will send data from the remote connection to a locally connected Braille display, providing complete Braille output.

-- Miscellaneous

* Window-Eyes 7.5 provides support for the current private builds of Internet Explorer 9.

* Enhanced support for both Windows Live Mail and Windows Live Messenger 2011, including an updated Windows Live Mail app which now ships by default with all Window-Eyes installations.

* We have made significant strides in increasing the speed with which Window-Eyes navigates all Word documents, and Outlook 2007/Outlook 2010 messages, specifically those with tables and table of contents.

* All factory set files have been converted to the new XML set file format. In addition, antiquated set files have been removed, and all existing set files have updated documentation.

* Context sensitive help (Control-Shift-/) and the key describer (Insert-1) have both been updated to reflect the new UI changes.

* If the rate was modified during a Read to End (using the U/D keys), Window-Eyes will now restore the rate settings to what they were before the Read to End began.

* Selecting a Braille display that is not physically connected or connected but not responding, will still allow you to navigate through Braille options, and interact with the display through scripting (which you normally wouldn't be able to do without a physical connection).

* A new hot key called "App Status Rotor" (Undefined by default) has been added to the Miscellaneous hot keys. This hot key will rotor the app status between Off, On and Manual.

* The Caps Lock key will now, by default, emulate the insert key when used as a modifier. When pressed and released by itself, it will still act as a caps lock. This makes the new laptop layout more intuitive, especially considering keyboards either missing insert keys, or that have insert keys that are difficult to get to. This option can be disabled globally using the option under Keyboard -> Special Keys.

++Enhancements Between Window-Eyes 7.5 and Window-Eyes 7.5 Beta 1

-- UI

* We fixed a problem where you were unable to modify the radio buttons under General -> Startup Options.

* The list of Braille displays is now alphabetized.

* We fixed a problem where the list of Braille displays would be appended to over and over when you entered and exited the Window-Eyes control panel with Devices -> Braille Displays selected.

* The Association -> Current Association portion of the Window-Eyes control panel has been modified. We removed the radio buttons and replaced them with a combo box. We also added a Save and Associate button to make the new association an on-demand setting, rather than something that happened automatically.

* We fixed a problem where the App Manager dialog would lose focus when disabling or restarting an app.

* We fixed some problems relating to the cursor in Browse Mode in Internet Explorer 9, including reading the current line.

* The "Save to Disk" button has been changed to "Save Settings" to match the option in the File menu.

* Added button shortcuts to our UI. This includes all buttons except for the program and global scope toggle buttons.

* When in the read only edit box under General -> Startup Options, both Control-S and Alt-S (to save settings) would say "Unable to save file". This problem has been resolved.

-- Web/Email

* We fixed a problem in Internet Explorer 9 where multi-line edit boxes were not reading correctly when either reviewing or editing text.

* We fixed a problem where indexes would still read in Thunderbird, even after disabling the index verbosity option.

* In Thunderbird, index information is now provided in the message list for both threaded and un-threaded views.

* When arrowing through text in Thunderbird and Firefox, Window-Eyes could hang on certain kinds of text. This problem has been resolved.

-- Miscellaneous

* If a UIA enabled application did not respond to our request to unhook from UIA when shutting down, it would cause Window-Eyes to hang until the application responded or closed. We have worked around this limitation.

* We have fixed several stability issues and memory leaks. Thank you to everyone who continues to send in Window-Eyes Error Reports. Window-Eyes stability, reliability, and performance is largely due to your continued input.

* We fixed a problem where Say Blank did not say, "blank" on web pages when the appropriate verbosity option was enabled.

* Enabling the Key Describer could cause Special Keys to be enabled/spoken. This problem has been resolved.

* All Tip of the Day messages have been updated to reflect the new Window-Eyes environment.

* When a a read-only edit box gets focus, Window-Eyes will now read up to 5K of text automatically.

* We fixed a problem where hot keys containing F1 could not be captured in Window-Eyes

* We fixed a problem where bringing up the Find dialog (or other Window-Eyes dialogs) could cause Window-Eyes to hang.

-- Braille

* In the Programs and Features control panel, the date contained question marks in Braille. This problem has been resolved.

* We have added support for the latest Alva displays.

* We fixed a problem where read-to-end in Microsoft Word was very slow with Braille enabled (especially with Grade 2).

* Typing in edit boxes with Braille would occasionally cause hangs. This problem has been resolved.

* We fixed a problem where the full path of a selected tree view item would not show up correctly in Braille.

-- Apps

* All GW Micro apps have been modified to check for updates on launch. To avoid a plethora of update dialogs, the GW Micro toolkit has been altered to provide a single indication that app updates are available. When you confirm this notification, you will be taken to the Window-Eyes Add/Remove Apps dialog where you can choose to update all apps at once, or individual apps at a time. This provides a much more streamlined approach to app updates.

* We fixed a problem where external Apps in Vista and above could cause Window-Eyes to crash.

* If you canceled out of the Quick Start Wizard, some settings like baud rate and stop bits would get messed up. This problem has been resolved.

* Duxbury, IEEnhance, iTunes are now part of the factory default apps.

* We fixed a GPF that would occur when accessing the Title property of some windows in a Windows collection.

* The Strings method was not accepting UNC file names. This problem has been resolved.

* We resolved a problem where Key Label dictionary file names were not returned correctly through the KeyLabelDictionary object.

++Enhancements Between Window-Eyes 7.5 Beta 1 and Window-Eyes 7.2

-- Email

* Thunderbird 3.1 changed how it indicates links between editing a message and reviewing a message. As a result, Window-Eyes would get confused when you focused a link. Now it works as expected.

* In Thunderbird 3.1, Browse Mode would come on when replying to a message. This has been fixed.

-- Office

* Navigating through Word documents is now substantially faster, especially in documents containing table of contents and/or tables.

* We fixed a rare problem where the inbox of Outlook 2010 would not speak.

* We fixed a problem where if both speech and Braille index and count verbosity options were enabled, then the index of the tab control in any Office ribbon for Braille would come out doubled. So instead of seeing "1 7" you would see "11 77".

* Window-Eyes now correctly reads the treeviews in Microsoft Office installs.

* We fixed a problem where Window-Eyes could go catatonic during an Office install.

* We fixed a few OSM issues brought out on some specific video cards when using Microsoft Access and Windows 7.

* Several of the spin (also known as up/down) controls in Outlook (encountered when editing or reviewing appointments) weren't reading correctly or showing up in Braille. This problem has been resolved.

* In the Word Paragraph dialog (Alt, H P G), the line spacing combo box wasn't reading correctly. This problem has been resolved.

* In Word 2010, the Styles pane (Control-Alt-Shift-S) would not read as you arrowed through the styles. This problem has been resolved.

* We fixed a problem where memory usage would continue to grow when using Word. This would cause instability after working in Word for a long period of time.

* We fixed a problem where cells in Excel would be accidentally selected based on their overlapped status.

* Window-Eyes now supports Arabic/Hebrew in Word.

* We fixed a problem where lines could be clipped or silenced in Word and Outlook.

-- Braille

* If Auto Route cursor was enabled, and focus was on a control with a cursor, and a quick message came up, you would not be able to navigate through the quick message. This has been resolved.

* If Auto Route cursor was disabled, the cursor would incorrectly move when navigating with the Braille display.

* In Windows Explorer (under Windows 7 only) Braille would show question mark characters around dates and times. This problem has been resolved.

-- Miscellaneous

* We fixed a problem where Window-Eyes would crash upon launch after installing the Terminal Services role under Windows Server 2008 Service Pack 2.

* Window-Eyes now communicates with tree view controls directly, meaning their contents should always be 100 percent accurate.

* In Windows 7, under the Wireless Devices feature in the Notification Area, the check box option to connect automatically wouldn't speak when it was focused (nor would the connect button). This problem has been resolved. Due to a Microsoft bug, the check box will always report checked. They also made the text "Check Box" part of the check box name, meaning Window-Eyes will speak "check box" twice.

* We fixed a problem caused by a bug in the latest Flash player that would cause Internet Explorer to crash. We have reported this issue to Adobe, and have worked around the problem for now.

* When launching Window-Eyes, you could receive a large number of script errors. This problem has been resolved.

* We fixed a problem of Window-Eyes not starting automatically even though the Startup Options were set correctly.

* We fixed a problem where Window-Eyes would get stuck in "downloading page" mode.

* We fixed a problem where Window-Eyes would lock up when using Braille and the mouse to review clips.

* If you redraw the screen (using Insert-Backslash), Window-Eyes will reset the active synthesizer. In the past, redrawing the screen would only reset the synthesizer speech parameters. Now the synthesizer is stopped and restarted.

-- Scripting

NOTE: Please refer to the updated scripting manual for detailed information about all new objects, properties, methods, and enums.

* Added Accessibles.FilterByRoleAndState method.

* Added BrailleTable.Filename

* Added Braille.ShowExtraSpacing (BrailleOptions.ShowExtraSpacing is now deprecated)

* Added Braille.SpeechBoxModeCharacteLimit (BrailleControlInformation.SpeechBoxModeCharacterLimit is now deprecated)

* Added Braille.SeparatorDotPattern (BrailleControlInformation.SeparatorDotPattern is now deprecated)

* Added Braille.LineModeRightIndicatorDotPattern (BrailleControlInformation.LineModeRightIndicatorDotPattern is now deprecated)

* Added Braille.LineModeLeftIndicatorDotPattern (BrailleControlInformation.LineModeLeftIndicatorDotPattern is now deprecated)

* Added Braille.LineModeIncludeDataIndicators (BrailleControLInformation.LineModeIncludeDataIndicators is now deprecated)

* Added Braille.BrailleWindow (BrailleSettings.BrailleWindow is now deprecated)

* Added Braille.UseGraphicSeparator

* Added Braille.Tracking property to indicate the cursor the Braille is following.

* Added Key.Insert

* Added Mouse.OnMoveEx, Mouse.OnButtonUpEx, Mouse.OnButtonDownEx, and Mouse.OnWheel.

* Added Speech.CharacterName, Speech.Phonetic, and Speech.Spell methods.

* Added Window.Settings2, Settings2, SetFile.Scope, SetFileScope, and Hotkey.Scope property to support the new ability to make most set file settings global or program specific.

* Added Text.PriorCharacterStatic, Text.CharacterStatic, Text.NextCharacterstatic, Text.PriorWordStatic, Text.WordStatic, Text.NextWordStatic, Text.PriorClipStatic, Text.ClipStatic, and Text.NextClipStatic.

* Added the UpDownEventInfo object, which provides the position and delta information of an up/down control.

* Key.RequiredModifiers is now read/write.

* Application.RunInSystemTray is now read/write.

* Added mbNone to the Mousebutton enum.

* Added MouseWheelDirection enum.

* Added hkScriptStatusRotor to the HotkeyID enum

* Added SpecialKeySettings.EnableCapsLockAsInsertKey.

* If an external script didn't register itself, Window-Eyes would crash on exit. This problem has been resolved.

* Script.CommonFileDialog now runs in it's own thread to avoid sluggishness and deadlocks when hooking using it along with Keyboard.OnKeyboardUp or Keyboard.OnKeyboardDown.

* We now verify parameters passed to methods and events. This means you will now get an error if you attempt to, say, pass an Object when a Bool is expected.

* When you stop a script, and the script doesn't respond in a reasonable amount of time (because it may be stuck in an infinite loop, for example), Window-Eyes will now kill the process (for external scripts) or the thread (for internal scripts) to ensure the script really stops.

* The MenuLevel property is back to working. Note there is no longer an intermediate setting. So if you read or set and the value is intermediate then it gets switched to advanced.

* We fixed a problem where scripts running with errors would be stopped when the Script Manager dialog was opened or updated.

* We have tweaked the .WEPM file extension in an effort to keep registry cleaners from thinking that it's clutter. Also, on launch of Window-Eyes, if there is no "All Users" association for the .WEPM extension, one will be made for the current user.

* The Menu.Enabled was not working correctly. Technically, Enabled and Grayed are two separate properties, but since there's no reason why you would Gray an option yet leave it Enabled, or why would you disable a menu item but not gray it, the Grayed and Enabled property are the same but opposite. In other words, if you set Grayed to True, Enabled is automatically set to False. Conversely, if you set Enabled to True, Grayed is automatically set to False.

* For embedded scripts, Window-Eyes now creates Scripting.Dictionary and Scripting.FileSystemObject objects (created with CreateObject) in the Window-Eye's process, meaning the objects will now run much faster. All other COM objects are created out of process in order to keep their integrity levels at medium (as they should be).

* When stopping all scripts (either by exiting Window-Eyes, switching profiles, using the App Status Rotor, or installing a package that requires all scripts be restarted), Window-Eyes no longer displays any script error dialogs..

* We fixed a problem when setting Window.Rectangle. Child windows would get moved because incorrect coordinates were being sent internally.

* If no window existed when attempting to get ScreenPoint.Window, an error would occur. Now, Window-Eyes returns Nothing.

* We fixed several cases where Window-Eyes would return a NULL string pointer from methods. With VBScript, there is no way to determine this scenario, and it could cause issues. Now, in embedded scripts, Window-Eyes will return an empty string instead of a NULL string. Non embedded scripts will still receive the NULL string (because they can handle them).

* When designing XML dialogs, you can now specify "helptext", "helpcontext" and "helpfile" for any focusable element (and for whole groups). All three attributes are described in the General Attributes section of the Designing Custom User Interfaces section of the Scripting manual. If you specify the appropriate attributes, then pressing F1 will activate the specified help section of a specified help file, or display the help in tooltip text, automatically. Nothing is required in the script itself.

* Synthesizer.UseSpecifiedSpeechParameters did not work correctly. This problem has been resolved. In addition, Synthesizer.UseEngineSpecifiedSpeechParameters has been deprecated as it is no longer needed.