Jump to content
MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. ×

Icon Swap software


Recommended Posts

Updated Jan, 2007: This now works for XP.

IconSwap changes system resources such as icons, bitmaps, avis, dialogs, etc. It is freeware.

I wrote IconSwap because I was so bored with my default icons. I'd like to XPize my system but I run Windows 2000.

IconSwap is based on XPize by XPero but it is designed for Windows 2000. Thanks go to XPero for donating avi's, bitmaps, etc.

Unfortunately, Win2k won't display 32-bit icon alpha channel transparencies. Essentially, Xp desktop icons look like crap. So IconSwap was designed to replace any icon set you like. There are many available around the net. Actually, every resource can be user defined.

The idea is you put your new icons (bitmaps, avis, etc) in a directory with a .txt file (I call mine iconset.txt) that tells IconSwap where to put the icons. If I get bored with a set, I just load in another set.

The download (coming later) only changes 'My Computer' and 'Recycle' icons. The executable (iconswap.exe) will do far more if you add to the iconset.txt file but for now, 3 icons is fine to get you started.

This is how iconset.txt looks for changing these three icons:

[icon Group]

%WinDir%\explorer.exe, 100, MyComp.ico

%SysDir%\shell32.dll, 32, Trash.ico

%SysDir%\shell32.dll, 33, TrashFul.ico

See pics for the before and afters.

Edit February 2007:

The (nearly) complete iconset.txt file for all Win2k and XP resources can be found at post #28 (end edit).

All the original icons (bitmaps, avis, etc) get saved in a restore directory so you can change things back to original if you like.

Thanks go to Damian from the Netherlands for being the first to alpha test this for me.



Thanks XPero




Edited by Squeeto
Link to comment
Share on other sites

Here are some more pics from my system.

The boot screen is mine and I'll provide a download.

The Window banners are XPero's and were modified by WildBill and then myself.

The desktop icons are by Paul Boyer (Mormegill) called LaSTCobaltXPV1-1. Because they were designed for XP, you can see that they don't display quite right on Win2k. I won't provide a download for these but you can find them at Stardock.com

If anyone knows how to modify explorer.exe to view these icons properly, please post it here and I will program it in to IconSwap.

The run dialog bitmap can be grabbed at:









Edited by Squeeto
Link to comment
Share on other sites

The download for IconSwap has been moved to the first post.


1_ press Browse button and select 'NewIcons' and 'iconset.txt'

2_ press Replace button

3_ wait until finished

4_ reboot and run Iconswap again

5_ press the Refresh button

You may need to turn off virus protection.

I have found that if you do a lot of computer activity during Step3, IconSwap may miss cancelling a Windows File Protection error as they pop up. So '3_ wait until finished'.

You should have a new MyComputer icon and trash bin icons.

Known or possible issues:

1. non-English Win2k might have to close a Windows File Protection dialog box.

A note to all. If Windows complains that system files are being modified and wants you to insert your Win2k installer disc, don't. We are hacking protected Windows system files and of course it is going to complain. Also let me know if you get one of these messages. I am trying to program iconswap to catch all of these so that they don't display.

The file res1.zip contains a few of the resources (icons, avis, bitmaps, etc) that XPero or I have made. You can see these in the previous pictures. I will probably rename this (increment the number) as I add to it.

This uses the following software:

Resource Hacker (reshacker.exe) version by Angus Johnson

File Zapper (zap.exe) by IBM

GoRC.exe version 0.90.2 by Jeremy Gordon

If any of the three complain that I am including their software in my download, I will remove them. You will have to get them on your own and put them in the \bin directory.


Edited by Squeeto
Link to comment
Share on other sites

I migth eventually try another stab at getting 32-bit icons to work in Win2k, but at the moment I'm trying to get TClock3 0.2.3 firmed up (it's pretty much been re-architected from top to bottom but the maximize/minimize/close button halo feature isn't as stable as I want it to be yet--the rest is just about bulletproof at this point and even runs on XP).

I've learned a lot about the 32-bit icon problem, though, and it looks like it's most likely a problem with the treeview component. It looks like the treeview component stores all icons in a single giant image file, and when I send the command to retrieve the image file the alpha values in it are wrong. This tells me that any solution would necessarily involve somehow overriding how the treeview component works, at least in the EXPLORER.EXE process. I don't yet know if this is doable without investigating, but I have a sample of code that overrides existing Windows code in a running process (for capturing window contents), so it seems at least *theoretically* possible (though I can't say how easy or difficult it would be without digging a lot deeper). It's also possible that the problem isn't the treeview component itself but the mechanism for loading icon resources; in that case I would have to find where that happens and possibly override that, but no guarantees. It looks like a really tough problem to solve, but possible at least in the theoretical sense. For all I know, it might involve overriding both the treeview component (for painting the icons) as well as loading them...

Edited by WildBill
Link to comment
Share on other sites

Since we're talking about replacing resources and theoretical stuff, wouldn't it theoretically be possible to edit ntoskrnl.exe so that rather than call the boot logo that's stored internally it instead loads an external one - and also to set a higher resolution and colour depth in the process? I imagine it'd involve a fair amount of step-through work to see what happens where/when, but setting screen resolutions and displaying bitmaps seems relatively uncomplicated to me compared to some of what people here get up to.

Just pondering.

Link to comment
Share on other sites

I found another icon, see pic. Actually they are not too hard to find; I have been busy with another project this week.

The download has been up for about a week now and no complaints so here is my iconset.txt. So more for you to try:

[Icon Group]
%WinDir%\explorer.exe, 100, 02.ico;My Comp
%SysDir%\shell32.dll, 32, 06.ico ;trash
%SysDir%\shell32.dll, 33, 07.ico ;trash full
%SysDir%\shell32.dll, 18, 03.ico ;Netwk Places
%WinDir%\notepad.exe, 1, 74.ico ;notepad
%SysDir%\notepad.exe, 1, 74.ico ;notepad
%SysDir%\shell32.dll, 152, 74mod.ico ;txt files
%SysDir%\user32.dll, 105, start.ico;Start Button
%SysDir%\stobject.dll, 230, volume.ico;Sound Volume
%SysDir%\stobject.dll, 231, volmute.ico;Sound Volume
%SysDir%\shell32.dll, 25, run.ico ;run box icon in menu
%SysDir%\shell32.dll, 25, run.ico ;run box icon in menu
%SysDir%\netshell.dll, 190, 190.ico ;network activity, front front
%SysDir%\netshell.dll, 191, 191.ico ;network front back
%SysDir%\netshell.dll, 192, 192.ico ;network back front
%SysDir%\netshell.dll, 193, 193.ico ;network back back
%SysDir%\netshell.dll, 195, 195.ico ;network unplugged

%SysDir%\ntoskrnl.exe, 1, bootscr.bmp ;boot screen
%SysDir%\msgina.dll, 101, 101.bmp ;Windows banner
%SysDir%\msgina.dll, 107, 107.bmp ;Windows banner

%SysDir%\shell32.dll, 161, 161.avi ;file copy

%SysDir%\shell32.dll, 1003, run_dlg.rc

[Add Bitmap]
%SysDir%\shell32.dll, RUN_DLG, run_dlg.bmp

And this is the run_dlg.rc text for that cool run dialog box:

1003 DIALOGEX 0, 0, 188, 83
CONTROL "Run", 1, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 67, 59, 14 , 0x00020000
CONTROL "Cancel", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 63, 67, 59, 14 , 0x00020000
CONTROL "Find", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 124, 67, 59, 14 , 0x00020000

res1.zip from post #3 has been updated.


Link to comment
Share on other sites

do you know how to fix that?

Nope. My hope is that someone can though. WildBill (see post #5) is making a stab at it. Maybe Tihiy (of Revolutions 98) knows the trick.

I would like to see 2 things:

1. fix this icon display limitation

2. find the location of all resources for W2k

I'll bet that there are quite a few hackers that have changed all of the icons already. Kramy comes to mind.


Dels too.

Found a couple more:

[icon Group]


%SysDir%\shell32.dll, 28, 02.ico ;shutdown in menu

%SysDir%\msgina.dll, 22, 02.ico ;shutdown in dialog box

I just used the 'My Computer' icon from before (02.ico).


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...