Microsoft KB Archive/182382

{|
 * width="100%"|

HOWTO: Password Protecting Screen Savers without ScrnSave.lib

 * }

Q182382

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK)
 * Microsoft Windows NT Server versions 3.5, 3.51, 4.0
 * Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0
 * Microsoft Windows 95

-

SUMMARY
The ScrnSave.lib static library provides the "standard" Windows (in this article, "Windows" refers to Windows 95 and Windows 98 and does not include any version of Windows NT) Screen Saver password, not Windows itself. The "standard" Windows Screen Saver password is not available to Screen Savers that are not written to use ScrnSave.lib. Screen Savers that are not written to use ScrnSave.lib need to implement independent password authentication, encryption, and storage.

Windows NT ignores the password handling within the Screen Saver and uses the user's system password.

MORE INFORMATION
The ScrnSave.lib library provides password protection for Screen Savers that use it. Windows Screen Savers that are not written with ScrnSave.lib need to provide independent password handling. To do this, Screen Savers need to provide a Password Change dialog box.

The Password Change dialog box is displayed when the Screen Saver is started with a "/a " argument, where  is an unsigned decimal number representing the HWND of the owner window of the password dialog box. If no HWND is passed in the Password Change dialog box, the foreground window should own the Password Change dialog box.

When the Screen Saver runs it should check the HKEY_CURRENT_USER/ REGSTR_PATH_SCREENSAVE/REGSTR_VALUE_USESCRPASSWORD (REGSTR_PATH_SCREENSAVE and REGSTR_VALUE_USESCRPASSWORD can be found in regstr.h) registry key if it needs to use the Screen Saver's password protection. If the Screen Saver does need to use its password protection, it needs to prevent the user from switching to other applications without giving the password. To do this the Screen Saver needs to call:

  int prev;

SystemParametersInfo(SPI_SCREENSAVERRUNNING,TRUE,&prev,0); This prevents the user from using ALT+TAB to switch to another application or CTRL+ALT+DELETE to kill the Screen Saver.

When the user hits a key or moves the mouse, the Screen Saver confirms the password. If the password is validated, the Screen Saver calls the following to re-enable task switching:

  int prev;

SystemParametersInfo(SPI_SCREENSAVERRUNNING,FALSE,&prev,0); Additional query words:

Keywords : kbOSWinNT kbScreenSaver kbGrpDSUser kbOSWin

Issue type : kbhowto

Technology : kbWinNTsearch kbWinNTWsearch kbWinNTW400 kbWinNTW400search kbWinNT351xsearch kbWinNT350xsearch kbWinNT400xsearch kbWinNTW350 kbWinNTW350xsearch kbWinNTW351xsearch kbWinNTW351 kbWinNTSsearch kbWinNTS400xsearch kbWinNTS400 kbWinNTS351 kbWinNTS350 kbWinNTS351xsearch kbWinNTS350xsearch kbWin32SDKSearch kbAudDeveloper kbWin95search kbSDKSearch kbZNotKeyword3 kbWin32sSearch