Home
General UI|Manipulate icons

2.3.01 Introduction

You could just skip reading here, head on over to the software section, [VP 7.1], and get some tool to start changing the icons you want. Do that first, anyway. Then get back when certain icons won't work for you, or to gain some understanding of what these tools do to get it done.

2.3.02 System settings on icon display

Notable options you can tweak concerning icon display are colordepth, caching of the icons and colordepth, again, for display in system tray.

First off there's the colordepth of your icon display in general. Windows XP defaults to 32-bit colored icons (24-bit, plus an 8-bit alpha channel). Windows 98/2k, or Windows 95 with the plus-package installed, give you the option to show ‘icons all possible colors’ at your display properties (rightclick your desktop, choose properties, then the ‘plus’ or ‘effects’ tab - there's also the settings tab which tells you what your graphics card/monitor combination can handle). This option sets display of your icons to 16-bit, though. If you can handle 24-bit colors, uncheck this option.

There's a simple registry tweak (read about registry editing: [VP 1.3]) to set the icon BPP (Bits per pixel) to 16 (if you ain't got 98/2k or the plus package, and that's your limit) or 24. Set to 24 immediately with this registry file - 24bit.reg - or in registry, go to ‘HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics’. In right pane you'll find, or create a string value called ‘Shell Icon BPP’ (no quotes). Rightclick on it, choose modify and enter your color depth, 16 or 24, restart to see effect.

Note that the option to show ‘icons all possible colors’ (read: set to 16-bit) is available in a lot of related software, often checked by default. Can't count the times hitting ‘apply’ set my icons back (please, I can do the thinking myself). Good software is clear in what's being applied, reads what a user has set in registry already and assumes nothing on what my preferences are…

One exception where all this won't work - the systray, in Win 9x/2k (works in Win Me/XP). It can only display 16 colors... Dr. Hoiby found that a little hex editing your ‘explorer.exe’ will solve this (read about modifying system files - [VP 1.4] - and the tools needed: [VP 7.1]). Dr. Hoiby has a growing list of downloadable language versions and for differing version numbers.

But if you have a different version, here's some things to consider and maybe get it done:

  • Open in the editor and look for the offsets mentioned below. They're in the left row, but the exact value probably isn't - have a look at the structure and you'll see you've got to find the exact offset somewhere in the row that's most close to it. If you've got a different version, check if it matches one of the known values documented by Dr. Hoiby. Like for Win 98, there's two offset numbers mentioned as being common. If it matches one, you might take the risk (...), just be sure you know how to recover. For 2k there's a whole string and the risk is a little less.
  • (Summarizing Dr. Hoiby's results a bit...) For Win 98, first and second edition, there's two offsets known: 0x4b6b (English version) and 0x41c2 (French, Dutch, Greek, Czech versions). There's a 01 string there that needs to be changed to 11. It seems for the German and Spanish versions this change needs to be done at two different strings, at differing offsets, so there's no guarantee, really.

    For 2k (and 2k+sp1) there's much more clarity. All confirmed versions have this setting at offset 0x19e5 (2k without sp1) or 0x1d51 (2k with sp1). The string that needs to be changed is ff 74 24 18. Set to 6a 11 90 90 and you're done. Same goes for 2k+sp2, tells James Battle, but it's at offset 0x1ecc now (thanks).

2.3.03 General procedure

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\explorer\Shell Icons
  0 (Explorer) Unknown File Type 22 (Startmenu) Find
  1 (Explorer) Default Document 23 (Startmenu) Help
  2 (Explorer) Default Application 24 (Startmenu) Run
  3 (Explorer) Closed Folder 25 (Startmenu) Suspend
  4 (Explorer) Open Folder 26 (Startmenu) Docking
  5 (Drive) 5.25 inch floppy 27 (Startmenu) Shutdown
  6 (Drive) 3.5 inch floppy 28 (Overlay) Sharing
  7 (Drive) Removable Drive 29 (Overlay) Shortcut
  8 (Drive) Hard Drive 30 (Overlay) ??
  9 (Drive) Network Drive 31 (Desktop) Recycle bin empty
10 (Drive) Network Drive disconnected 32 (Desktop) Recycle bin full
11 (Drive) Cd-ROM Drive 33 (Explorer) Dial-up Networking
12 (Drive) RAM Drive 34 (Explorer) Desktop
13 Entire network (globe) 35 (Startmenu) Settings/Control Panel
14 ?? 36 (Startmenu) Programs/Program folder
15 (Explorer) Networked Computer 37 (Startmenu) Settings/Printers
16 (Explorer) Printer(s) 38 ??
17 (Desktop) Network Neighborhood 39 (Startmenu) Settings/Taskbar
18 (Explorer) Workgroup 40 (Explorer) Audio CD
19 (Startmenu) Programs 42 (Explorer) Saved search (.fnd)
20 (Startmenu) Recent documents 43 (Explorer & Startmenu) Favorites
21 (Startmenu) Settings 44 (Startmenu) Log Off

2.3.04 Desktop icons

general:

2.3.05 Drive icons

general:

2.3.06 Folder icons

In all Windows OS's, you can change the default open & closed folder icon. The utilities handle those, and you can always go to your ‘Folder options’ (sometimes in your control panel, else available as an option in default toolbar of any window). Choose the ‘File types’ tab and find the folder, consequently the option to change the icon(s), listed. It might well be no surprise for most you can also change the icon for individual folders.

In Windows XP, it's simple. You rightclick a folder, choose ‘properties’, then select the ‘Customize’ tab, from there you can change the icon. This has been available for much longer though, with the introduction of IE4, yet was somewhat hidden. Lots of icon related tools handle it (read about related tools: [VP 7.1]), here's documented what is happening:

  • A file called desktop.ini is created in the folder;
  • It's given the attribute ‘hidden’;
  • And these lines are inserted: [.ShellClassInfo]
    IconFile=path\name
    IconIndex=0
  • Last, the folder is given the 'system' attribute (this method: [VP 1.2]).

It's not too difficult to do this yourself, but very time consuming, in particular if you're doing multiple folders. But understanding it means you can modify it later. For instance, you can have the icon on the folder even if you put the folder to disk, and give it to someone else. Or, the icon doesn't get lost if you move your icons.

This you can achieve by simply copying the icon into the folder and modify the path in notepad. Instead of ‘IconFile=x:\xx\xx\xx.ico’ it should read ‘IconFile=.\xx.ico’. Give the icon the attribute ‘hidden’ if you don't want it to show up.

This whole thing doesn't survive a ‘zip’ (the system-attribute of the folder gets lost...). And last, adding a line like ‘InfoTip=Nice stuff in here’ makes this text show up when you move your cursor onto the folder.

In XP, some people found this behaving buggy. As found at the - excellent - John Savill's FAQ for Windows:

“If the folder is one that you customized using the Customize This Folder Wizard in Windows Explorer or a standard Windows customized folder (e.g., the Fonts folder), you might not be able to remove the read-only attribute or you might receive an error when you try to write a file to the folder. In either scenario, Windows is preventing you from writing to the folder because the OS is using the read-only flag to determine whether the folder is a system folder.”

Seems XP, at times - we didn't found this happening - does it a little differently, and gives the folder a &#but it can be told to use the system attribute (only for newly customized folders). For this, find this registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

On the right, rightclick and create a new dword value, name it ‘UseSystemForSystemFolders’ (no quotes). Rightclick the value and set to 1. A reboot will make it effective.

2.3.07 Filetype icons

general:

You're read above that Windows retrieves icons for its startmenu from one specific registry key - the Shell Icons key. This goes for all OS's up to XP, and covers the main icons and some submenu icons. Additionally, there's a couple more you can change, and in XP, it all differs a lot.

For the search submenu icons, you need to go into registry (read about registry editing: [VP 1.3]). This key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\FindExtensions

Underneath there are a ‘Shellfind’ and a ‘Static’ key. Shellfind is the general search option, haven't found the way to change that yet... but underneath ‘Static’ there's any other search function displayed on this menu. Expand these till you find the ‘DefaultIcon’ key and change the path in the string on the right.

Within 2k/XP (Me ?) the ShellFind/ShellSearch key (name differs) is moved to the ‘Static’ key and changing the icons for general search (plus, search for computers and printers on the network) becomes possible.

HKEY_CLASSES_ROOT\CLSID\{7007ACC7-3202-11D1-AAD2-00805FC1270E}\DefaultIcon

In XP, with startmenu in classic mode, you'll find the regkeys/programs don't change everything anymore. That is, icons shown in submenus still work, but those for the main menu do not. Even when changing it at the CLSID value for the item at HKEY_CLASSES_ROOT\CLSID\ (that is, changing the default value at the underlying ‘DefaultIcon’ key) just won't work. Also, and we dug deep, there's no other registry setting(s) controlling it even. This means you'll have to manually edit the icons inside shell32.dll (read about modifying system files - [VP 1.4]). There's more versions inside, here's the versions that get displayed. Note we're pointing to ‘icon groups’ (all sizes of an icon), as opposed to seperate icons - these are different sections inside the .dll, as you can see in a resource editor:

#322 - Favorites #327 - Documents
#323 - Search #328 - Run…
#324 - Help and Support #329 - Turn Off Computer…
#325 - Log Off… #330 - Settings
#326 - Programs #331 - Hibernate

The we have the new startpanel in XP, with two columns. Not sure which utilities have added support for which icons, but at least they can all be changed manually. In steps:

  • Go to your display properties (rightclick desktop, choose properties). At the desktop tab, hit the ‘Customize Desktop…’ button. In this dialog, you can change My Computer, My Documents and My Network Places (plus the Recycle Bin), as shown on the desktop, but also in the startpanel upperright section.
  • Go to the root of the drive you installed XP on, ‘Documents and Settings’ folder. Inside is a folder named after the profile you're in, open and there's the My Recent Documents folder. Rightclick, choose properties, ‘Customize’ tab, change from there.
    Also there's a folder called ‘xxx's documents’, with the My Pictures and My Music folders inside. The last one has a ‘Customize’ tab when going to its properties, first hasn't. You've got to edit the desktop.ini manually (read about folder icons above). If you want to rename, btw, go to folder properties, uncheck the read-only attribute, hit apply and change directly (read-only will be set back when clicking OK).
  • Other items in the right section have icon setting in the registry at HKEY_CLASSES_ROOT\CLSID. Clsid values there have an underlying ‘DefaultIcon’ key, where you can set the path to your icon. Here's the values: {1A9BA3A0-143A-11CF-8350-444553540000} - Favorites
    {2559a1f0-21d7-11d4-bdaf-00c04f60b9f0} - Search
    {2559a1f1-21d7-11d4-bdaf-00c04f60b9f0} - Help and Support
    {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0} - Run...
    {7007ACC7-3202-11D1-AAD2-00805FC1270E} - Network Connections
    {D20EA4E1-3957-11d2-A40B-0C5020524153} - Administrative Tools
    And some are at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID:

    {21EC2020-3AEA-1069-A2DD-08002B30309D} - Control Panel
    {2227A280-3AEA-1069-A2DE-08002B30309D} - Printers and Faxes
  • Left part of the panel has two sections. Upper part is for apps you pin to the panel, lower parts shows most used programs. Windows creates shortcuts in seperate folders, but these you can just rightclick, choose properties and change from there.
  • When you've chosen to show your browser and email client in the upperleft part, rightclicking doesn't work. We've found no references in the registry, main program icon gets displayed. Only way to change this is editing this icon in the application itself… or, if you uncheck the option to display those, then rightclick the regular IE/OE shortcuts in your programs group, there's the option to ‘pin to startmenu’. New icons get displayed in exactly the same spot, and since they're shortcuts, it's easy to change the icons - change icon in programs folder first, then pin them to startmenu.

Whole right part of the panel uses 24x24 icons. That explains some bad looking icons, format is not common in pre-XP icons. A good icon editor can add this format to the icon file.

2.3.09 Cursors

Changing the cursors has been a build-in feature of Windows since forever - in your control panel, choose ‘Mouse’ and you point all cursor varieties to any .cur or .ani file. Just a couple occasions where this fails.

Having trouble with the ‘hand’ cursor, running IE5 (not able to change it anymore), you will need to modify an IE file to change it, mshtml.dll (cursor #50/51), but you can replace it (and the one with a stop sign) with a decent cursor in any palette (read about modifying system files - [VP 1.4]).

The ‘hand issue’ is fixed in IE6/XP, but you may encounter a new cursor you can't define, when inserting a cd (default arrow + spinning cd). It's inside user32.dll, #116 - you can replace it with a cursor up to 32-bit colors.

Now, Win 2k/XP have the option to display a shadow underneath the cursor, very smooth… With XP introducing 32-bit icons (with an 8-bit alpha channel), icon/cursor editors followed and let you use alpha-blended transparency for cursors too. Cursors with an alpha channel, when selected, will disable the drop shadow function but using these tools you can add your own shadow to it. This works in both 2k and XP.

2.3.10 Limits & other methods

We've covered all general icons that Windows retrieves information about in registry.

Top Top
© Some rights reserved | accessibility | xhtml 1.1 | sitemap | search | msgboard | disclaimer