Im trying to solve 'the riddle' of high color icons that most of the time disappear after shell update (I reinstalled quite few times NT4 on the same test machine, installed SP6 /postSP6/drivers/and did few settings and 9 out of 10 I loose the original high color icons when installing IE6 with shell update, but few times somehow they stayed there after shell update and its driving me nuts not to know what causes this )
Windows NT 4 without the shell update uses icons from cool.dll (if it works like Win95+Plus) due registry settings. When the shell update is installed, it erases those settings and icons are once again loaded from shell32.dll. Also, if you look closely, these icons are NOT 16 color ones, they are 256-color ones, but they do not look as fancy. I could be wrong, of course, and MS added these COLL.DLL icons into the original Shell32.dll, in this case, only resource editing would do...
this occurs on nt4 without the shell update but i dont know why and i dont know how to fix it really, can i have some advise on that.
The system DLL user32..dll was relocated in memory the application will not run properly. the relocation occured because the DLL C:\winnt\system32\shell32.dll occupied an address range reserved for windows nt system dll'.
I've seen that in WinXP+just about any Vista icon pack. I think it is because it makes SHELL32.DLL bigger, so it uses memory in an address range that overlaps the one that was originally intended for an system dll. Since the shell update replaces the SHELL32.dll with a newer version that contains more icon formats, odds are that it also has a different default start address, and therefore doesn't overlap that system dll. You could try patching SHELL32.DLL to use another start address if it detects the older version.
About 32-bit icons, you could try patching gdi32.dll to add an GdiAlphaBlend function. If you go to the Windows 9x forum you might notice a project called KernelEx, it patches the system DLLs and adds unimplemented funcions: if you use the same logic and implement that function, you might as well be able to use that Win2k Revolutions Pack DLL and add true 32-bit icon support to your project
Btw, awergh, keep up the good work.