Page 1

Windows 95 Registry Techletter # 2

The Windows 95 Shell Icons.

How to change the Windows 95 Shell Icons!

From the Folder Icons to the Drive Icons.

By:

Jeff Asselin, CompuServe ID: 71373,736, MSN ID: Jeff_Asselin

In collaboration with:

Ralph Burri, CompuServe ID: 100606,1571, MSN ID: Ralph_Burri

The Shell Icons:

In Windows 95, the shell is not Program Manager (progman.exe) anymore, but a different, object-oriented interface, Explorer (explorer.exe).

The Win95 Explorer has many improvements over the old interface, including a complex Shell Namespace, support for Shell Extensions, and a highly customizable interface.

But there are many things that can’t seemingly be customized; among those are the Icons displayed by the shell (the Shell Icons). The icons displayed for different files are controlled by the File Associations entries, and we won’t discuss this here. The ones we are concerned with are the Icons that are an integral part of the shell, like the Folder Icon, the Start button icon, the My Computer icon, the Drive icons, as well as the numerous icons displayed on the Start Menu.

In Windows 95, the Shell Icons are defined in the shell32.dll library. You could try to change them by directly editing the file, but this can be risky, and there are better ways to do this. There is a Registry key that shell32.dll checks before displaying icons, and it’s the possible use of that key we will discuss in this Techletter. We will also discuss how to modify some of the Namespace objects, like “My Computer” and the “Control Panel”.

Before you go further, though, you should know some registry basics. Please download our Techletter #0 (INTRO.EXE) from the WINNEWS forum on CompuServe or any other place where it is found to familiarize yourself with registry manipulation.

The Shell Icons entry:

The key we describe here does not exist by default. It could have been created by the MS Plus! Package, or by the TweakUI PowerToy from Microsoft if you changed the shortcut arrow icon. To simplify the matters, we include here a .regfile that lets you create the key.

We are also including a few modified icons that are suitable for use as replacement for the folder and disk icons. They’re in .zip format, and should be placed in the \windows folder. We also include a .regfile that will create the entries:

Once you have used the Shell Icons.reg file, go to the

Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\

Explorer\Shell Icons key.

This is what you should see:

You will probably not have any entries unless you use one of the programs mentioned earlier. If you DO have entries, you should export that key to a .regfile in case you want to restore it (click Shell Icons, the Registry menu item, choose Export, then choose a folder, a name, and make sure “Selected branch” is chosen. If you change the values and want your original ones back, you will simply have to Dbl-click that .regfile.

The way it works is that you have to create new string entries (right-click the right pane, choose New, then string key) which you name a number from 0 to 40. Then, you modify the key (Dbl-click on it) and enter the value of the icon you want to use.

The format to specify the icons is:

Drive:\path\iconfile.ext,Number.

The number specifies which icon in the file should be used for that entry. Windows 95 begins the count at 0, so if you want to use the 3rd icon in the cool.dll file, you enter:

C:\windows\system\cool.dll,2

The Shell Icons:

Here are now the actual entries you can use in that key:

0 / Generic Default icon /
1 / Default .doc icon * /
2 / Executable icon /
3 / Closed folder icon /
4 / Open folder icon /
5 / 5 ¼ drive icon /
6 / 3 ½ drive icon /
7 / Removable drive icon /
8 / Hard Drive icon /
9 / Networked Drive icon /
10 / Broken network drive icon /
11 / CD-ROM drive icon /
12 / RAM drive icon /
13 / Entire Network icon /
14 / Network connection icon u /
15 / Network Workstation icon /
16 / Local printer icon * /
17 / Network icon u /
18 / Network workgroup icon u /
19 / Program group icon (Programs folder) s /
20 / Documents icon s /
21 / Settings Icon s /
22 / Find icon s /
23 / Help Icon s /
24 / Run Icon s /
25 / Suspend Icon s /
26 / Docking Station icon u /
27 / Shut Down icon s /
28 / Shared Icon t /
29 / Shortcut arrow icon t /
30 / Big arrow icon u /
31 / Empty Recycle bin icon * /
32 / Full recycle bin icon * /
33 / Dial-up Networking icon * /
34 / Desktop icon /
35 / Control Panel icon * /
36 / Program Group icon (other folders) s /
37 / Printer folder Icon * /
38 / Fonts folder icon * /
39 / Windows Flag icon * /
40 / Audio CD icon /

The first column is the number of the key to be used to redefine the icon. The second column is the a short description of the icon. Some have special indices:

*These icons can be changed somewhere else, overriding the Shell Icons value, or have to be changed somewhere else. See the next section for information about these.

tThese icons should have Transparent backgrounds, because they are superposed on other icons

sThese icons are used on the Start menu.

uThese entries do not seem to be read from the Shell Icons key. If they are, it is unknown where change is effective, or where to change them.

The third column is the default icon found in shell32.dll, which will be used if there is no Shell Icons entry. The icons in that DLL are in the same order, and bear the same number as in the table. For a complete listing of the Shell Icons entries, with the other entries created by Plus!, see this Excel Spreadsheet:

The Shell Namespace Icons:

The 15, 17, 31, 32, 33, 35, 37, and 38 are for Shell Namespace objects, which Icons are set somewhere else. They’re set under their respective CLSIDs (Class Identifiers). We will not explain what are CLSIDs here, but we will have a Techletter that will explain them. For now, what must be known is that Shell Folders are defined by a CLSID, and that they are found under

Hkey_Classes_Root\CLSID:

Here you can change the icons for:

  • My Computer
  • Network Neighborhood
  • Recycle Bin
  • Inbox (MS Exchange)
  • The MS Internet Explorer
  • MSN

These icons don’t necessarily have their original name, so you must know the name they have on your system before you go any further.

  • Control Panel
  • Dial-up Networking
  • Printers
  • Fonts

These normally have their original names. If you’re not using the English version of Win95, these entries will have the name in the language of your version.

First Identify the precise name of the item for which you want to change the icon. Next, click on Edit|Find. Enter in the box the name you’re looking for, make sure all three “Look at” boxes are checked, and click on “Find Next”.

The registry editor will then search the keys, and should stop after a short time, and highlight a specific alphanumeric sequence, the CLSID corresponding to the item you’re looking for. The default entry of that key defines the name of the object. You can change the Recycle bin’s name here, for example.

Open that key, and you should see a default icon key. Select it, and you will see an entry similar to the Shell Icon key. You can change the icon the same way you did with the Shell Icon key.

Other problematic icons:

16: The Printer Folder functions, even though provided by shell32.dll, do not check the Shell Icons entry. The only known way to show another icon for printers in that Folder is to directly edit shell32.dll with an icon-manager program.

39: The Flag Icon is used on the Start Button, but it’s not read from shell32.dll. It’s read from C:\windows\system\user.exe, of which it’s the first icon. You can change the icon using Len Gray’s Microangelo, or another icon manager program. Depending on the size of the Taskbar it is read in different resolutions.

38: Even though you can change this icon under its CLSID, the icon itself is not used

in the shell.

Using other Icons:

If you want to replace the Shell Icons, there is another thing that’s important: Icon size and color-depth. Win95 has introduced higher-res and higher-color depth icons than in previous Windows version. The shell icons can be of 6 types:

16x1616 colors

256 colors

32x3216 colors

256 colors

48x4816 colors

256 colors

You should use icons that have at least the 3 sizes in 16 colors, and alternatively all in 256 colors. Tools such as Microangelo (muangl10.exe, found in the WINNEWS forum on CompuServe) lets you create such icons. But even if you only have 32x32/16colors icons, they will make for a very good effect.

Before the changes take effect, you will have to delete the ShellIconCache file that Windows 95 uses to store the Shell Icons for faster access. Shut down to MS-DOS, and delete the shelli~1 file in your \windows folder. Then, restart Win95 to see your new icon selection!

Or, if you prefer, simply use these 2 files:

To extract these files from the Techletter, rightclick them, click “edit Package Package” and Object Packager will open. Highlight the file in the left pane and click “Save Contents” from the file menu, give a folder and a filename and click “save”.

The shell.bat file should be in your \WINDOWS folder, the .piffile can be copied i.e. on to your Desktop. Simply Dbl-click on the .piffile to activate the process.

This document was authored by a WUGNET advisor who works in the WINNEWS forum on CompuServe, Jeff Asselin/WUGNET advisor (71373,736) and is the second Registry Techletters. To obtain any information about them, and to get all the Techletters, GO WINNEWS on CompuServe

disclaimer: the author do not provide any guaranty or assurance as for any failure or loss, either of information or money. by using any information contained in this document, you agree to these conditions, and not to hold the authors responsible of anything that may happen following the use of the informations contained therein. by reading this document,

you also implicitly agree to the copyright laws and restrictions following.

You can distribute this document in electronic format as long as you provide it in its entirety, and do not profit in any way from its distribution or publication, and that you provide sufficient credit to the authors.

It is forbidden to modify, in any way, this document. It is also forbidden to distribute this document in printed format. If you want to use the techniques in this document for publication, please communicate with the authors, and give them credit for it.

1996, Jean-François Asselin.