Configuring Screen Savers on a Thin Client

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

If you want the shell to load a screen saver after a specified time period, you must include the dynamic-link library (DLL) of the screen saver in your image. You must also configure the registry to support the screen saver.

This topic describes the three registry keys to modify in order to configure a screen saver on a Windows thin client.

Power Registry Key

The following example registry key shows the required settings for a Windows Embedded CE powered thin client.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
    "BattPowerOff"=DWORD:0
    "ExtPowerOff"=DWORD:0
    "ScreenPowerOff"=DWORD:300

This registry key is defined in wceshellfe.reg at %_WINCEROOT%\PUBLIC\WCESHELLFE\OAK\FILES.

The ScreenPowerOff registry entry specifies how much idle time, in seconds, that must elapse without any user input before the shell starts the screen saver.

KEYBD Registry Key

When the user presses the CTRL+ALT+END keyboard shortcut, the Windows Thin Client Shell brings the shell UI to the foreground. To configure this keyboard shortcut, set the following registry entries under the KEYBD registry key.

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "DriverName"="Kbdmouse.dll"
    "CalVKey"=DWORD:0
    "ContLessVKey"=DWORD:0
    "ContMoreVKey"=DWORD:0
    "TaskManVKey"=DWORD:23

The KEYBD registry key is defined in keybd.reg at %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\KEYBD.

Shell Registry Key

The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBT\Shell registry key configures the screen saver for the Thin Client Shell. This registry key is defined in rdp.reg at %_WINCEROOT%\PUBLIC\RDP\OAK\FILES. The following table shows the named values.

Value Description

ScreenSaver (REG_SZ)

This value specifies the DLL to load when the screen saver starts. This value is entered at build time.

The following list shows the three screen savers that are included with the Windows-based Terminal Services user interface source code. You can use one of the following as the screen saver:

  • SSFloat (ssfloat.dll)
  • SSBlank (ssblank.dll)
  • SSTile (sstile.dll)

To include one of these screen savers, supply the name of the desired screen saver in the RDP_MODULES environment variable in %_PROJECTROOT%\Oak\Misc\Cesysgen.bat.

ScreenSaverEnable (REG_DWORD)

This value specifies whether to enable the screen saver.

If this value is equal to 0, the screen saver is not enabled. If it is greater than 0, the screen saver is enabled and the shell tries to load the screen saver specified. Because the shell queries this registry every time that it receives a WM_POWERBROADCAST message, this value can be changed dynamically.

To configure screen savers in the registry

  1. In Platform Builder, on the File menu, select Open, and then select File.

  2. Set Files of Type to All Files.

  3. Navigate to %_WINCEROOT%\PUBLIC\WCESHELLFE\OAK\FILES.

  4. Select wceshellfe.reg and click Open.

  5. In wceshellfe.reg, add the required settings for the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power registry key.

  6. On the File menu, select Open, and then select File.

  7. Set Files of Type to All Files.

  8. Navigate to %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\KEY.

  9. Select keybd.reg and click Open.

  10. In kebd.reg, add the required settings for the HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD registry key.

  11. On the File menu, select Open, and then select File.

  12. Set Files of Type to All Files.

  13. Navigate to %_WINCEROOT%\PUBLIC\RDP\OAK\FILES.

  14. Select rdp.reg file and click Open.

  15. In rdp.reg, add ScreenSaver and ScreenSaverEnable to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBT\Shell registry key.

  16. On the File menu, select Save All.

During the build process, makeimg.exe processes all .reg files in the build directories to create a single file, Reginit.ini. Reginit.ini forms the basis for the system registry.

See Also

Tasks

How to Develop a Thin Client

Other Resources

Customizing a Thin Client