Friday, May 25, 2007

Hack the Start Menu and Taskbar

XP Professional's Group Policy Editor gives you instant access to changing more than three dozen interface settings. Here's how to use it to create your own personalized Start menu and taskbar.

XP Professional's Group Policy Editor does more than just customize the Control Panel ; it gives you control over many aspects of XP's interface as wellin particular, the Start menu and taskbar. In fact, it gives you quick access to more than three dozen separate settings for them.

Run the Group Policy Editor by typing gpedit.msc at the Run prompt or command line. Go to User Configuration\Administrative Templates\Start Menu and Taskbar. As you can see in Figure 2-5, the right pane displays all the settings you can change. If you click the Extended tab at the bottom of the screen, you'll be shown a description of the setting that you've highlighted, along with an explanation of each option. Settings you can customize include showing the My Pictures icon, the Run menu, and the My Music icon on the Start menu; locking the taskbar so that it can't be customized; and many others. To change a setting [Hack #9], double-click it and choose the options from the menu it displays.


Figure 2-5. Customizing the Start menu and taskbar in the Group Policy Editor




There's not room in this hack to go into detail about each setting you can change, so I'll tell you about some of my favorites. I've never been a big fan of My Documents, My Pictures, and My Music. In fact, I never use those folders, so there's no point having them on the Start menu. The settings in the Group Policy Editor let you get rid of them.

If you share your PC with other people, the Group Policy Editor is a great way to make sure no one can change the Start menu and taskbar except you. So, when you have the Start menu and taskbar working the way you want, they'll stay that way until you want to change them. Enable "Prevent changes to Taskbar and Start Menu settings," and no one will be able to change their settings except you. Select "Remove drag-and-drop context menus on the Start Menu," and no one except you will be able to remove or reorder items on the Start menu. You can even stop anyone else from shutting down Windows by selecting "Remove and prevent access to the Shut Down command." (Of course, they can still shut down your PC the old-fashioned way: using the power switch.)

Among the many entries here are a lot of pointless ones, by the way. You can remove the Log Off entry on the Start menu, for example, which certainly isn't high on my list of must-haves. But who knows, you might want to do that, or make any of the many other changes the Group Policy Editor allows. Go in there yourself and muck around; you'll find plenty to change.

AddThis Social Bookmark Button

Tuesday, May 22, 2007

Clean Up the Most Frequently Used Programs List

Make this infrequently used tool useful. Ban programs from the Most Frequently Used Programs List, change the number of programs on the list, or do away with it altogether to make more room for the Pinned Programs List.

Windows keeps track of programs you use frequently and puts them on the Most Frequently Used Programs List, which appears on the new Windows XP-style Start menu (not the Classic-style Start menu) between the Pinned Items List at the top and the All Programs link at the bottom. The Most Frequently Used Programs List is a quick way to access programs you use often. But the rules for when programs appear on that list and disappear from the list are murky at best, and there appears to be no logic to what programs appear there.

There is some hidden logic, however. XP bans a variety of programs from the list. If any of the following words or phrases is included in the program's shortcut name, the program will be excluded from the list: Documentation, Help, Install, More Info, Readme, Read me, Read First, Setup, Support, and What's New.

Additionally, the following executables are excluded from the list: Setup.exe, Install.exe, Isuninst.exe, Unwise.exe, Unwise32.exe, St5unst.exe, Rundll32.exe, Explorer.exe, Icwconn1.exe, Inoculan.exe, Mobsync.exe, Navwnt.exe, Realmon.exe, and Sndvol32.exe.


2.5.1. Banning Programs from the List

You might want to ban other programs from the list, not just those that XP bans by default. Just because you use a program a time or two doesn't mean you want it on the Start menu's Most Frequently Used Programs List. You can ban programs from the list using a Registry hack.

Run the Registry Editor and go to HKEY_CLASSES_ROOT\Applications. Underneath this key, you'll find a series of subkeys, each representing an application. The primary purpose of these subkeys, as you'll see later in this hack, is to determine whether the program appears on the Open With dialog box that appears whenever you try to open an unknown file type. But you can also add a value to any of the subkeys which will ban programs from appearing on the Most Frequently Used Programs List.

Look for a subkey that is the executable name of the application you want to ban from the listfor example, visio.exe for the Visio business illustration program. Once you find the application's subkey, create a new String value for that subkey, named NoStartPage. Leave the value blank. Exit the Registry. You might have to reboot for the setting to take effect and the program to be banned from the list.

2.5.1.1 Another use for HKEY_CLASSES_ROOT\Applications
While you're rooting around in HKEY_CLASSES_ROOT\Applications, you might want to hack the Open With dialog box (shown in Figure 2-6) that appears whenever you try to open an unknown file type. Each application's subkey in HKEY_CLASSES_ROOT\Applications controls whether that particular application will show up on the dialog box.


Figure 2-6. Hacking the Open With dialog box




If you want to ban a particular program from the Open With dialog box, look for the application's subkey underneath HKEY_CLASSES_ROOT\Applications, add a String value named NoOpenWith, and leave the value blank.

2.5.1.2 Ban programs from the Most Frequently Used Programs List with Tweak UI
If you don't want to muck around in the Registry, you can ban programs from the Most Frequently Used Programs List using Tweak UI. Run Tweak UI, and choose Taskbar XP Start Menu. You'll see the screen shown in Figure 2-7, with a list of programs and checks next to most or all of them.


Figure 2-7. Using Tweak UI to ban programs from the Most Frequently Used Programs List




Each program with a check next to it will be allowed to appear on the Most Frequently Used Programs List. To stop a program from appearing on the list, uncheck the box and click OK.


2.5.2. Change the Number of Programs That Appear on the List

By default, the Most Frequently Used Programs List has room for six programs, but you can change that default and have more or fewer programs appear. Right-click the Start button and choose Properties Customize General. The Customize Start Menu dialog box, shown in Figure 2-8, appears. To customize the number of programs to include on the list, edit the "Number of programs on Start menu" box. You can choose any number between 0 and 30. Be aware, though, that depending on your screen resolution and whether you're using large or small icons, the entire list might not appear if you choose a large number. No matter how high your resolution is, for example, don't expect there to be room for 30 programs.


Figure 2-8. Customizing the number of programs on the Most Frequently Used Programs List





2.5.3. Make Room for the Pinned Programs List
The Pinned Programs List, just above the Most Frequently Used Programs List on the XP-style Start menu, gives you instant access to any program you want. You, rather than the operating system, decide what programs go there. To add a program to it, drag the program's icon or filename to the Start menu, and when the menu pops up, drag it to the spot on the list where you want it to appear.

This list makes a lot more sense than the Most Frequently Used Programs List: after all, you know better than XP what programs you want within easy reach. So, do what I do: kill the Most Frequently Used Programs List as a way to make more room for the Pinned Programs List. When you kill the Most Frequently Used Programs List, there will be a big blank space between the Pinned Programs List and the All Programs button. Drag programs to fill that space; the shortcuts will stay there until you delete them.

You can kill the Most Frequently Used Programs List with a Registry hack. Run the Registry Editor and go to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. Create a new DWORD called NoStartMenuMFUprogramsList and give it a value of 1. You'll have to reboot or log off and back on for the setting to take effect. When it does, the nice big blank space will be left for you to fill with pinned programs.

AddThis Social Bookmark Button

Monday, May 21, 2007

Build Customized Control Panels

Armed with all this Control Panel hackery, you can build customized Control Panels. For example, you can build a Control Panel for computer newbies, which hides the more technical applets and categories. Hide the applets in the Network and Internet Connections category, the Performance and Maintenance category, and the Sounds, Speech, and Audio Devices categorythat way, newbies can't get into trouble by making changes that will affect the system in unexpected ways.

For system administrators, group all system-type applets into a single category, such as Network and Internet Connections. You'd probably want to keep all the existing applets there, but also add the Administrative Tools, Scheduled Tasks, and System applets to it, as well as the Printers and Faxes applet. (If the administrator has to handle other hardware, such as scanners, add the Scanners and Cameras applet as well.)

For those who like to hack their systems and want instant, stripped-down access to customization tools, take all the applets that are now in Network and Internet Connections, and all those in Performance and Maintenance, and group them into the Appearance and Themes category. Then force the Control Panel to display as a cascading menu, and all of the hackery-type applets will be available instantly because the Appearance and Themes category is at the top of the cascading menu and all the relevant applets will be available directly from it.

AddThis Social Bookmark Button

Add Specific Folders to the Open Dialog Box

When you use certain Windows applications (such as Notepad) to open a file, on the left side of the Open dialog box are a group of icons and folders (such as My Documents, My Recent Documents, Desktop, My Computer, and My Network) to which you can navigate to open files.

Good idea, bad implementation. Do you really keep documents in My Computer? Unlikely, at best. It would be much more helpful if you could list only those folders that you use, and if you could choose to put any folder there, not just ones XP decides you need.

In fact, you can do it with a Registry hack. It'll let you put just the folders of your choosing on the left side of the Open dialog box. Note that when you do this, it will affect XP applications such as Notepad and Paint that use the Open and Save common dialog boxes. However, it won't affect Microsoft Office applications and other applications that don't use the common dialog boxes.

Run the Registry Editor and go to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32. This is the key that determines how common dialog boxes are handled. You're going to create a subkey that will create a customized location for the folders, and then give that subkey a series of values, each of which will define a folder location.

This works with XP Home Edition only, not XP Professional.

To start, create a new subkey underneath HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32 called Placesbar, and create a String value for it named Place0. Give Place0 a value of the topmost folder that you want to appear on the Open dialog box, for example, C:\Projects.

Next, create another String value for Placesbar called Place1. Give it a value of the second folder that you want to appear on the Open dialog box. You can put up to five icons on the Open dialog box, so create new String values up to Place4 and give them values as outlined in the previous steps. When you're done, exit the Registry. You won't have to reboot for the changes to take effect. Figure 2-10 shows an example of an Open dialog box customized in this way.


Figure 2-10. A customized Open dialog box




If you do not want any folders to appear in common Open dialog boxes, you can do that as well. In HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32 create a new DWORD value called NoPlacesBar and give it a value of 1. Exit the Registry. If you want the folders back, either delete NoPlacesBar or give it a value of 0.

AddThis Social Bookmark Button

Monday, May 14, 2007

Turn Off System Beeps

To me, system beeps that my PC makes when it encounters certain system errors are like balloon tipsgnatlike annoyances that I can do without. So, I turn them off using a Registry hack. Run the Registry Editor , go to HKEY_CURRENT_USER\Control Panel\Sound, and find the Beep and ExtendedSounds String values. Set each value to No. Exit the Registry and reboot. The beeps will no longer sound.

AddThis Social Bookmark Button

Sunday, May 13, 2007

Rename and Change "Unchangeable" Desktop Icons and System Objects

To create the perfect XP interface, you want to be able to give every desktop icon and system object the name and icon of your choice. Here's how to do iteven to objects that appear to be unchangeable.

Interface hackers (myself included) are a details-oriented bunch. We want to be able to control every part of the interface so that it reflects our personality. That means being able to choose our own icons for desktop items and system objects, give new names to system objects, and create our own balloon tipsfor example, adding a balloon tip to the Recycle Bin saying "Take out the trash!"

But it's not as simple as you might think. Microsoft has a way of protecting its own. For example, it won't let you change the text and balloon tips associated with a variety of system objects, such as the Recycle Bin, Outlook, Internet Explorer, My Computer, and My Network Places.

You can normally change both the name and the balloon text (text that appears when you hover your mouse over the icon) of all the icons on your desktop, but you can't change these. Normally, to change the name and balloon text of an icon, first you right-click the icon and choose Properties. To change the name of the icon, you choose the General tab and, in the box at the top, type in the name that you want to appear beneath the icon.

Then, to change the balloon text, you click the Shortcut tab and in the Comment box type in the text that you want to appear. When you're ready to make the change, click OK. The icon name and balloon text should now be changed.

But when you try to do this for system objects such as Outlook, Internet Explorer, My Computer, and Network Neighborhood, it won't work. The proper options don't appear when you right-click them and choose Properties.

There are ways, however, to change them in any way you want so that you can create your own personalized XP interface.

2.6.1. The Registry to the Rescue
The Registry is your best tool for personalizing XP. It will let you change both the text and balloon tip associated with system objects. First, you need to know the object's class ID (CLSID), which uniquely identifies each system object. Table 2-3 lists the CLSIDs for common desktop objects.

Table 2-3. CLSIDs for desktop objects Desktop object
CLSID

My Computer
{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Recycle Bin
{645FF040-5081-101B-9F08-00AA002F954E}

Microsoft Outlook
{00020D75-0000-0000-C000-000000000046}

Internet Explorer
{FBF23B42-E3F0-101B-8488-00AA003E56F8}

The Internet
{3DC7A020-0ACD-11CF-A9BB-00AA004AE837}

My Network Places
{208D2C60-3AEA-1069-A2D7-08002B30309D}

Briefcase
{85BBD920-42A0-1069-A2E4-08002B30309D}

Dial-Up Networking
{992CFFA0-F557-101A-88EC-00DD010CCC48}


Armed with the proper CLSID, it's easy to change the name and balloon text of system objects. First, use Table 2-3 to find the CLSID for the object whose name or balloon text you want to change. Then run the Registry Editor , go to HKEY_CLASSES_ROOT\CLSID, a key that lets you change characteristics of system objects, and highlight the CLSID whose name or balloon text you want to change. For example, to change My Computer, highlight the subkey HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}. Keep in mind that HKEY_CLASSES_ROOT\CLSID has many CLSIDs listed under it, so it might take you a while to find the proper subkey.

Once you find the right subkey, if you want to edit the name of the object, open the Default value and type in the text that you want to appear underneath the object. If you want to edit the balloon text for the object, open the InfoTip value and type in the text that you want to appear as balloon text. Once you're done, exit the Registry and reboot.

You might also be able to force the changes to take effect without rebooting. After you exit the Registry, go to your desktop and press F5 to refresh the screen. The new names and balloon tips might appear now.

2.6.2. Change the Desktop Icons of System Objects
You can hack objects besides names and balloons with this method. You can also change the desktop icons of system objects that appear to have unchangeable icons.

First, using Table 2-3, find the CLSID for the object whose icon you want to change. Then run the Registry Editor, go to HKEY_CLASSES_ROOT\CLSID, and look for the CLSID subkey from Table 2-3 for the object whose icon you want to change. Open the subkey and then the DefaultIcon subkey under that. For example, to change the icon for My Computer, open the subkey HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon. Change the Default value to the path of the icon that you want displayed. Exit the Registry. You might have to reboot for the new settings to take effect.

Some people aren't able to change their icons using this method. Instead of editing HKEY_CLASSES_ROOT\CLSID, they have to edit HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\, and that does the trick.

AddThis Social Bookmark Button

Friday, May 11, 2007

Remove "Nonremovable" Desktop Icons

To create your own customized XP interface, you need to be able to remove certain desktop icons. A Registry hack lets you remove any you want, including those apparently protected by XP.

Creating the perfect, customized XP interface doesn't mean just changing icons; it also means removing them. For example, many power users look down their noses at America Online, and yet, on many systems, that icon can't be removed easily.

America Online isn't the only icon protected in this way; many others are as well. Which desktop icons are protected on your system will depend on your exact version of XP (for example, SP-1) and the manufacturer of your PC. The Recycle Bin is protected on all versions, but the America Online icon is protected on some systems, and not on others.

To customize XP to your liking, you'll want to be able to delete these protected icons. To do so, you'll need a Registry hack. Run the Registry Editor and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace. Here's where you'll find various special desktop icons. They're not listed by name, but instead by CLSIDfor example, {645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. Table 2-3 lists CLSIDs of common desktop objects, so use it to find the CLSID of the icon you want to delete.

To remove an icon from the desktop, simply delete the key of the iconfor example, {645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. Then exit the Registry, go to your desktop, and press F5 to refresh the screen. The Recycle Bin icon should now be gone.

On some systems, the icons might not be deleted immediately. Instead, after making the Registry change, you might have to right-click the icon and choose Delete.


Some CLSIDs in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace can be deleted from the desktop without having to go through this procedure, but when you try to delete them they might give you a special warning message. For example, when you try to delete Microsoft Outlook from the desktop, you get the warning message "The Outlook Desktop icon provides special functionality and we recommend that you do not remove it." If you like, you can edit that message to display whatever you want. In the CLSID's subkeyfor example, {00020D75-0000-0000-C000-000000000046} for Microsoft Outlookyou'll find the value Removal Message. Edit this value to whatever text you want, and your warning message will appear whenever someone tries to delete the icon.

Keep in mind that when you remove desktop icons you're removing only icons, not the underlying feature or program. So, the Recycle Bin still works even if you remove its icon. To open the Recycle Bin, go to C:\RECYCLER and open the folder inside it. To restore an item that's been deleted, right-click it and choose Properties Restore. Delete items as you would any other item.

Some manufacturers make America Online a nonremovable desktop icon. If that's the case with your PC and you want to remove it, delete the CLSID {955B7B84-5308-419c-8ED8-0B9CA3C56985}. America Online will still work, but its icon will no longer be on the desktop.

AddThis Social Bookmark Button

Recategorize Control Panel Applets

Hiding applets goes only partway toward cleaning up the Control Panel. You can also recategorize applets and put them in any category you want. For example, by default, the Mouse Properties applet can be found in the Printers and Other Hardware category, but if you prefer that it instead be found in Accessibility Options, you can move it there.

To put an applet into any category you want, you need two pieces of information: the filename of the applet (for example, main.cpl for the Mouse Properties dialog box), and the Registry value for each Control Panel category (for example, 0x00000007 (7) for Accessibility Options). For filenames of each applet, see Table 2-1. For the Registry value for each Control Panel category, see Table 2-2. With these two pieces of information in hand, you can recategorize any or all Control Panel applets.

Table 2-2. Control Panel categories and their Registry value data Control panel category
Value data


Accessibility Options
0x00000007 (7)

Add or Remove Programs
0x00000008 (8)

Appearance and Themes
0x00000001 (1)

Date, Time, Language, and Regional Options
0x00000006 (6)

Network and Internet Connections
0x00000003 (3)

Other Control Panel Options
0x00000000 (0)

Performance and Maintenance
0x00000005 (5)

Printers and Other Hardware
0x00000002 (2)

Sounds, Speech, and Audio Devices
0x00000004 (4)

User Accounts
0x00000009 (9)

No category
0xffffffff



To recategorize a Control Panel applet, run the Registry Editor [Hack #83] and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Extended Properties\{305CA226-D286-468e-B848-2B2E8E697B74}2. The key {305CA226-D286-468e-B848-2B2E8E697B74}2 is the container that holds all Control Panel categories. (Remember that it's safest to back up your Registry first [Hack #86] .)

Now find the Registry key of the applet you want to recategorize. The filename of the applet will appear on the end of the key; for example, %SystemRoot%\system32\main.cpl is the Mouse Properties dialog box. Turn to trusty Table 2-1 for a list of other filenames for Control Panel applets.

Change the key's DWORD value to the value of the Control Panel category into which you want the applet to appear, as detailed in Table 2-2. For example, if you want the applet to appear in the Performance and Maintenance category, give it a value of 5. The value will then be displayed in the Registry as 0x00000005(5).

When you're done, exit the Registry. The applet will now appear in the new category.

AddThis Social Bookmark Button

Tuesday, May 8, 2007

Control User Logins by Hacking the Registry

Make better use of the XP login screen.

If your system contains more than one user account, or if you've set up XP to require logins, you'll have to log in to XP before you can begin to use it. But you needn't stay with the default XP login rules; you can use a single Registry key to customize how you log in. For example, you can display custom text before login, and you can remind anyone with an account on the PC to change their password a certain number of days prior to the password's expiration.

To control logon options, run the Registry Editor [Hack #83] and go to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion Winlogon subkey, which contains a variety of logon settings (as well as some settings not having to do directly with logons). Following are the most important values you can edit to customize logons.




DontDisplayLastUserName

This setting lets you control how the system logon dialog box is used. If this String value is present and set to 1, all users will have to enter both their username and password to log on. If the value is 0, the name of the last user to log on will be displayed in the system logon dialog box.




DefaultUserName

This String value contains the name of the last user who logged on. It will be displayed only if the DontDisplayLastUserName value is not present or is set to 0.




LegalNoticeCaption

This String value, used in concert with the LegalNoticeText value, displays a dialog box prior to logon that contains any text you want to display. (The text doesn't have to be a legal notice, but this value is often used for that purpose.) The box has a title and text. The LegalNoticeCaption value will be the dialog box's title.




LegalNoticeText


This String value, used in concert with LegalNoticeCaption, contains the text that you want to be displayed inside a dialog box displayed prior to logon.




PasswordExpiryWarning

This DWORD value lets you display a warning message to users a certain number of days before their passwords are set to expire. It lets you determine how many days ahead of time the warning should be issued. To edit the value, click the decimal button and enter the number of days.




ShutdownWithoutLogon


This String value enables or disables a button on the XP logon dialog box that lets the system shut down. A value of 1 enables the button (so that it is shown); a value of 0 disables the button (so that it is not shown).




Shell

This String value really doesn't have to do with logons, but it's one you should know about. It determines the shellthe user interfacethat will be used by XP. The default is Explorer.exe, but it can be another shell as wellfor example, the Program Manager from older Windows versions. Type in the name of the program; for example, Progman.exe for the Program Manager, or Taskman.exe for the Task Manager.




AutoRestartShell

This DWORD value doesn't have to do with logons either, but it's another good one to know. It sets whether to automatically restart the Windows shell if the shell crashes. A value of 1 automatically restarts the shell. A value of 0 tells XP not to restart the shell, forcing you to log off and then back on again to restart it.

Now that your system's startup and shutdown are under control, let's move on to the user interface.

AddThis Social Bookmark Button