Personalizing the Start Menu
Windows has a nice new Start menu, which you can customize more thoroughly than you could with the Start menu in any earlier version of Windows. Open the Taskbar And Start Menu Properties dialog box by right-clicking the taskbar and clicking Properties. On the Start Menu tab, select either the Start Menu option or the Classic Start Menu option to choose which version of the Start menu to use, and then click Customize. The Customize Start Menu dialog box appears; you use this box to customize how Windows displays the Start menu.
You can customize the Start menu using other methods, too. For example, you can use Tweak UI to control which programs appear in the frequently used programs list, and to customize which icons you see on the Start menu. You learn how to use Tweak UI in Chapter 5, “Mapping Tweak UI.” In addition, Windows has dozens of policies that control the Start menu's behavior. Those policies aren't useful as hacks, however, because it's difficult to script and deploy policies to users in the Users and Power Users groups. Members of neither group can change settings in the Policies branch of the registry.
The following sections describe the most useful Start menu hacks. First you learn how to configure what does and does not appear on the Start menu. Then you learn how to prevent some programs from appearing on the frequently used programs list. You also learn how to restore the Start menu's sort order when it's not in alphabetical order.
Configuring the Menu's Contents
Even though you can completely customize the Start menu in the user interface, power users and IT professionals will likely want to script Start menu customizations. Power users don't want to reconfigure the Start menu every time they install Windows. IT professionals can use scripts to deploy these settings or configure them automatically when creating default user profiles. (See Chapter 12, “Deploying User Profiles.”)
If you want to script these settings, you need to know where to find them in the registry. All these settings are in the same place: HKCU\Software\Microsoft\Windows\ CurrentVersion\Explorer\Advanced. Table 4-4 describes which values you can add to this key. You see two sections in this table. The first section, “Classic Start Menu,” contains values that affect the classic Start menu. The second section, “New Start Menu,” contains values that affect the new Start menu, also known as the Start panel. Most of these settings are REG_DWORD values, but some are REG_SZ values. If the possible data for any of the settings in Table 4-4 includes 0x01, 0x02, and so on, that setting is a REG_DWORD value. If the possible data includes NO or YES, it's a REG_SZ value.
Name | Data |
Classic Start Menu | |
StartMenuAdminTools | 0x00–Hide Administrative Tools 0x01–Display Administrative Tools |
CascadeControlPanel | NO–Display Control Panel as link YES–Display Control Panel as menu |
CascadeMyDocuments | NO–Display My Documents as link YES–Display My Documents as menu |
CascadeMyPictures | NO–Display My Pictures as link YES–Display My Pictures as menu |
CascadePrinters | NO–Display Printers as link YES–Display Printers as menu |
IntelliMenus | 0x00–Don't use personalized menus 0x01–Use Personalized Menus |
CascadeNetworkConnections | NO–Display Network Connections as link YES–Display Network Connections as menu |
Start_LargeMFUIcons | 0x00–Show small icons in Start menu 0x01–Show large icons in Start menu |
StartMenuChange | 0x00–Disable dragging and dropping 0x01–Enable dragging and dropping |
StartMenuFavorites | 0x00–Hide Favorites 0x01–Display Favorites |
StartMenuLogoff | 0x00–Hide Log Off 0x01–Display Log Off |
StartMenuRun | 0x00–Hide Run command 0x01–Display Run command |
StartMenuScrollPrograms | NO–Don't scroll Programs menu YES–Scroll Programs menu |
New Start Menu | |
Start_ShowControlPanel | 0x00–Hide Control Panel 0x01–Show Control Panel as link 0x02–Show Control Panel as menu |
Start_EnableDragDrop | 0x00–Disable dragging and dropping 0x01–Enable dragging and dropping |
StartMenuFavorites | 0x00–Hide Favorites menu 0x01–Show Favorites menu |
Start_ShowMyComputer | 0x00–Hide My Computer 0x01–Show My Computer as link 0x02–Show My Computer as menu |
Start_ShowMyDocs | 0x00–Hide My Documents 0x01–Show My Documents as link 0x02–Show My Documents as menu |
Start_ShowMyMusic | 0x00–Hide My Music 0x01–Show My Music as link 0x02–Show My Music as menu |
Start_ShowMyPics | 0x00–Hide My Pictures 0x01–Show My Pictures as link 0x02–Show My Pictures as menu |
Start_ShowNetConn | 0x00–Hide Network Connections 0x01–Show Network Connections as link 0x02–Show Network Connections as menu |
Start_AdminToolsTemp | 0x00–Hide Administrative Tools 0x01–Show on All Programs menu 0x02–Show on All Programs menu and Start menu |
Start_ShowHelp | 0x00–Hide Help and Support 0x01–Show Help and Support |
Start_ShowNetPlaces | 0x00–Hide My Network Places 0x01–Show My Network Places |
Start_ShowOEMLink | 0x00–Hide Manufacturer Link 0x01–Show Manufacturer Link |
Start_ShowPrinters | 0x00–Hide Printers and Faxes 0x01–Show Printers and Faxes |
Start_ShowRun | 0x00–Hide Run command 0x01–Show Run command |
Start_ShowSearch | 0x00–Hide Search command 0x01–Show Search command |
Start_ScrollPrograms | 0x00–Don't scroll Programs menu 0x01–Scroll Programs menu |
Trimming the Frequently Used Programs List
Each time you run a program, Windows adds it to the list of frequently used programs you see on the Start menu. (See Figure 4-6). However, you might not want every program you open to appear in this list. For example, I don't want to see Notepad in this list, nor do I want to see Command Prompt. By customizing HKCR\Applications, you can choose which programs do and don't appear in this list.
HKCR\Applications contains subkeys for a variety of programs that Windows knows about. The name of each subkey is the name of the program file. Thus, you see the subkeys notepad.exe and explorer.exe in HKCR\Applications. If you want to customize another program, add its subkey to this key. For example, to customize whether Command Prompt appears in the list of frequently used programs, add the subkey cmd.exe to HKCR\Applications. Then, to keep the program off of the list, add the REG_SZ value NoStartPage to it.
Figure 4-6 Windows displays on the Start menu the programs that you frequently use.
Restoring the Sort Order
Unless you disable dragging and dropping on the Start menu (see Table 4-4), users can sort the All Programs menu. Windows also sometimes adds new shortcuts to the bottom of the All Programs menu. In either case, finding the program that you want to run is difficult when the sort order of the Start menu gets disorganized.
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder contains the sort orders of the Favorites menu and the Start menu. The subkey Favorites contains the sort order of the Favorites menu. The subkey Start Menu contains the sort order of the classic Start menu, and the subkey Start Menu2 contains the sort order of the new Start menu. Deciphering the contents of these three keys is almost impossible, but you can remove any of them to re-sort the corresponding menu in alphabetical order. For example, to restore the All Programs menu to alphabetical order, remove the subkey Start Menu2. To restore the Favorites menu in both Windows Explorer and Microsoft Internet Explorer, remove the subkey Favorites.
I like to keep a script handy to automatically remove MenuOrder. The following listing is an example. Save this listing to the text file Resort.inf, right-click it, and then click Install. This script is different from the others you've seen in this chapter because you can't uninstall it; its changes are permanent.
Listing 4-5 Resort.inf
[Version] Signature=$CHICAGO$ [DefaultInstall] DelReg=Reg.Settings [Reg.Settings] HKCU,Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder
TIP
You've sorted the Start menu just the way you wanted it—wouldn't it be dandy if you could transfer that sort order to another computer? You're in luck. Export the key MenuOrder to a REG file, and then import that REG file to the computer on which you want to use that sort order.