Changes to USER
[This is preliminary documentation and subject to change.]
Active Accessibility changes some core operating system components. In the case of Windows 95®, user.exe and user32.dll have been replaced with slightly modified versions to support WinEvents and other accessibility enhancements.
Additionally, USER is now sensitive to screen reader applications. When USER notices that the SPI_GETSCREENREADER bit is on, it changes its behavior as follows:
-
Turns off system modal windows. This is the same as Win16 applications running under Windows NT®. Some applications might behave poorly when system modality is turned off and their window loses focus.
-
Disables the CS_SAVEBITS window class style. This style causes the system to save as a bitmap the portion of the screen image obscured by a window. Windows uses the saved bitmap to recreate the screen image when the window is removed. Windows displays the bitmap at its original location and does not send WM_PAINT messages to windows obscured by the window if other screen actions have not invalidated the stored image. Screen readers that use an offscreen model will benefit from this behavior, because WM_PAINT messages will be sent to the underlying windows when a dialog box, menu, or other window class with the CS_SAVEBITS style is hidden or destroyed.
-
A utility that wants to turn on the Screen Reader flag behavior should call the SystemParametersInfo() API and with the SPI_SETSCREENREADER and SPIF_SENDCHANGE parameters. Since multiple accessibility aids might be setting and resetting this flag, an aid that wants it to be turned on should also monitor its value in case it is turned off by another accessibility aid. You can monitor this flag, along with other system values, by looking for a WM_SETTINGCHANGE message in your message loop.