Microsoft KB Archive/126239

{|
 * width="100%"|

PRB: Win32-Based Screen Saver Shows File Name in Control Panel

 * }

Q126239

3.10 3.50 WINDOWS NT kbgraphic kbprb

-

The information in this article applies to:


 * Microsoft Win32 Application Programming Interface (API), used with:
 * Microsoft Windows NT Server versions 3.1, 3.5
 * Microsoft Windows NT Workstation versions 3.1, 3.5

-

SYMPTOMS
After writing a Win32-based screen saver, if the IDS_DESCRIPTION string is missing from the string table, the file name of the screen saver module is displayed in the desktop control panel applet. This happens even if the DESCRIPTION entry is specified in the .def file of the module.

CAUSE
Each Windows screen saver has a name, which is a string packed into the screen saver module by the linker. This name is displayed in the screen saver name drop down list box under the desktop applet in the control panel. The user can select different screen savers for the desktop through this list box.

Under 16-bit Windows, the name of a screen saver is specified by the DESCRIPTION entry in the .def file. Under Windows NT, this is no longer true. Instead, a special entry in the string table is used to specify the name of a screen saver. This string must have IDS_DESCRIPTION as its string ID.IDS_DESCRIPTION is defined in SCRNSAVE.H.

If the DESCRIPTION entry is missing from the .def file for a 16-bit screen saver, or the IDS_DESCRIPTION is missing from the string table for a 32-bit screen saver, Windows NT displays the file name of the screen saver module in the drop down list box in the Desktop control panel applet.

RESOLUTION
Place the DESCRIPTION entry in .def file for a 16-bit screen saver, or place the IDS_DESCRIPTION in the string table for a 32-bit screen saver.

STATUS
This behavior is by design.