Disabling Scrolling Menus

One of the more irritating features of the new Windows configurations is the conversion of readable menus into scrolling menus. The original Windows 95 provides a multi-column Start menu - Windows 95c, Windows 98, and Windows NT4 are cursed with scrolling menus. Fortunately, some systems provide a way for the user to select which technique is used. When supported, this "feature" is controlled in 2 parts

For specific details, inspect your own registry. In general, HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced is used to define checkboxes and radio buttons which are displayed under Windows Explorer / View / Folder Options... / View. Most keys contain

As you can see, the available keys depend on the operating system. In the Win 98 column, those marked with "c" show up in RegMon as being checked in HKCU. The others, marked with an "x", are in HKLM, but are never checked (as far as I can tell).


Specific settings for controlling Start Menu scrolling
Verified with Win 98 and NT 4

Below are the specific registry settings that you can use to control whether or not scrolling is enabled. However, depending on your screen resolution, if you turn scrolling off, then some of the Start Menu selections may not display and, therefore, can not be clicked. If this happens, you can re-arrange the Start Menu into folders. (Hey, you should do this anyway. Unfortunately, if you do, then most uninstall programs will leave the icons in the menu. Then you will have to locate them and manually delete them.)

(Systems missing SHDOC401.DLL do not allow users to control how the Start Menu is displayed.)

To install the following registry values

 
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\StartMenuScrollPrograms]
"Type"="checkbox"
"Text"="Enable Start/Programs Menu Scrolling"
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"ValueName"="StartMenuScrollPrograms"
"CheckedValue"="true"
"UncheckedValue"="false"
"DefaultValue"="true"
"HelpID"="update.hlp"
Because the HelpID is missing a reference number, it will specify that no help is available. If you know the correct number, please let me know.

HKLM defines the dialog (provides the checkbox)

HKCU stores the user's selection


Explorer Versions

This is by no means a complete list of explorer.exe versions (as of Feb 2001, Microsoft lists 15). However, it is apparent that in order to disable the scrolling menu, SHDOC401.DLL is required. The string StartMenuScrollPrograms occurs in only SHDOC401.DLL. Interestingly, the DLL Dependency Viewer does not associate this with explorer.exe, or any other executable. However, it is associated with IE 4 and 5 installations. SHDOC401.DLL has many CLSIDs in the registry. The Start menu CLSID is referenced by shell32.dll, but there is no overt link. (Using version 2.0 Beta 3 of the DLL Dependancy Walker there is an impled/delayed link to shell32.dll. Version 1.0 does not show this type of link.)

It appears that IE 4 broke the Start Menu if the Desktop Update was installed, and that IE 5 allows you to fix it ... if you know how.


References


Author: Robert Clemenzi - clemenzi@cpcug.org
URL: http:// cpcug.org / user / clemenzi / technical / WinExplorer / ScrollingMenus.htm