hacks done by me. most of these hacks were tested on windows xp pro (eng/sp3), therefore the offsets and values could be different on other systems.
task manager graph colors
windows analog clock colors
windows calculator colors
iconic left taskpanel (Classic)
iconic top taskpanel with details
iconless bottom taskpanel / shellstyle
bottom taskpanel / shellstyle with icons
only details bottom taskpanel
removing control panel icons from category view
list view in control panel's category view
add / remove programs window layout
simple logonui
removing the annoying focus rectangle (Sp3)
removing the flashing blue screen before the logon / lock screen
custom desktop text
removing the drive letters
volume control without 3D border
alternate bootscreen
defrag colors
time date calendar
non-fixed taskbar button width
sound recorder graph color
screen saver hack (ssmypics.scr)
turn off shut down dimming effect
space between start menu and taskbar buttons
remove taskbar button icons
Live Messenger: turn off cleartype
shut down and log off dialog hack
hacks waiting to be complete
these hacks are buggy at the moment.
big taskbar buttons (With big icons) - bug: pixelated icons
big tray icons - bug: pixelated icons
no taskbar but working start menu (winkey)
taskbar buttons in a "child window"?
00FF00 = 0,255,0 = green
008040 = 0,128,64 = dark green
fFFF00 = 255,255,0 = yellow
taskmgr.exe win xp+SP1 (version: 5.1.2600.1106, eng):
performance tab: pagefile usage value color: hex 00FF00 @ offset: 0000500F
performance tab: the grid: hex 008040 @ offset: 00004752
performance tab: pagefile graph line color: hex fFFF00 @ offset: 00001000
performance tab: cpu usage history graph color: hex 00FF00 @ offset:00000FE0
performance tab: cpu usage percent number color: hex 00FF00 @ offset: 00004E07
network tab: graph line color: hex 00FF00 @ offset: 00001028
network tab: grid color: hex 008040 @ offset: 00007166
network tab: yellow vertical line color: hex fFFF00 @ offset: 00001024
network tab: the yellow numbers color: hex fFFF00 @ offset: 00006F60
taskmgr.exe win xp+SP2 (version: 5.1.2600.2180, eng/hun) and win Xp+SP3 (Eng):
performance tab: pagefile usage value color: hex 00FF00 @ offset: 000056CF
performance tab: the grid: hex 008040 @ offset: 00004DC6
performance tab: pagefile graph line color: hex fFFF00 @ offset: 00001000
performance tab: cpu usage history graph color: hex 00FF00 @ offset:00000FE0
performance tab: cpu usage percent number color: hex 00FF00 @ offset: 000054B0
network tab: graph line color: hex 00FF00 @ offset: 00001028
network tab: grid color: hex 008040 @ offset: 00007B0F
network tab: yellow vertical line color: hex fFFF00 @ offset: 00001024
network tab: the yellow numbers color: hex fFFF00 @ offset: 000078B2
hour/Minute color + hours dot color: 008080 @ offset: 000019C5 the hours "background?" color: 00FFFF @ offset: 00001A02
thanks to Radiumflux @ virtualplastic for pointing me in the right direction.
Pink(FF00FF), blue(0000FF), Red(FF0000)
C button color FF0000 @ offset: 12CA0, Ce button color fF0000 @ offset: 12CA8,
backspace color fF0000 @ offset: 12CB0, sta button color 0000FF @ offset: 12CB8,
dot color color 0000FF @ offset: 12CC0, and button color FF0000 @ offset: 12CC8,
or button color FF0000 @ offset: 12CD0, xor button color FF0000 @ offset: 12CD8,
lsh button color FF0000 @ offset: 12CE0, / button color FF0000 @ offset: 12CE8,
* button Color FF0000 @ offset: 12CF0, + button Color FF0000 @ offset: 12CF8,
- button Color FF0000 @ offset: 12D00, mod button Color FF0000 @ offset: 12D08,
x^Y button Color FF00FF @ offset: 12D10, int button Color FF0000 @ offset: 12D18,
not button color FF0000 @ offset: 12D20, sin button color FF00FF @ offset: 12D28,
cos button color FF00FF @ offset: 12D30, tan button color FF00FF @ offset: 12D38,
ln buttton color FF00FF @ offset: 12D40, log button color FF00FF @ offset: 12D48,
sqrt button color 0000FF @ offset: 12D50, x^2 button color FF00FF @ offset: 12D58,
x^3 button color FF00FF @ offset: 12D60, N! button color FF00FF @ offset: 12D68,
1/x (scientific) color FF00FF @ offset: 12D70, 1/x (stndrd) color 0000FF @ offset: 4573,
dms button Color FF00FF @ offset: 12D78, % button Color 0000FF @ offset: 12D80,
f-E button Color FF00FF @ offset: 12D88, PI button color 0000FF @ offset: 12D90,
= button color FF0000 @ offset: 12D98, mc button color FF0000 @ offset: 12DA0,
mr button color FF0000 @ offset: 12DA8, ms button color FF0000 @ offset: 12DB0,
m+ button color FF0000 @ offset: 12DB8, exp button color FF00FF @ offset: 12DC0,
( button color FF00FF @ offset: 12DE8, ) button color FF00FF @ offset: 12DF0,
ave button color 0000FF @ offset: 12DC8, sum button color 0000FF @ offset: 12DD0,
s button color 0000FF @ offset: 12DD8, dat button color 0000FF @ offset: 12DE0,
+/- button color 0000FF @ offset: 12C98, 0 button color 0000FF @ offset: 12DF8,
1 button color 0000FF @ offset: 12E00, 2 button color 0000FF @ offset: 12E08,
3 button color 0000FF @ offset: 12E10, 4 button color 0000FF @ offset: 12E18,
5 button color 0000FF @ offset: 12E20, 6 button color 0000FF @ offset: 12E28,
7 button color 0000FF @ offset: 12E30, 8 button color 0000FF @ offset: 12E38,
9 button color 0000FF @ offset: 12E40, a button color 0000FF @ offset: 12E48,
b button color 0000FF @ offset: 12E50, c button color 0000FF @ offset: 12E58,
d button color 0000FF @ offset: 12E60, e button color 0000FF @ offset: 12E68,
f button color 0000FF @ offset: 12E70
24 px wide left taskpanel showing only icons.
It Is The original SHELLSTYLE from SYSTEM32 Folder, But a bit Customized.. fixed size panel and no details info.
download classic version
top shellstyle, showing only vertically aligned icons and detals. fixed size. i recommend to unregister the shimgvw.dll ( run: regsvr32.exe /u shimgvw.dll ) for the best viewing experience. or if you don't want to do it, rename this registry entry: HKEY_CLASSES_ROOT\CLSID\{3F30C968-480A-4C6C-862D-EFC0897BB84B} and the thumbnails will gone.
or remove (rename) this key:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3F30C968-480A-4C6C-862D-EFC0897BB84B}
download top shellstyle version
iconless bottom taskpane horizontally aligned. all the icons were removed from both taskpanel and the control panel category views. auto sized. but you can change it to fixed size if you want by adding this height=175rp ( or whatever size ) to this line: ... scrollviewer id=atom(scroller) ...
download iconless version
bottom taskpanel horizontally aligned ( the 4 group ) and showing the icons. the control panel is also iconic version. auto sized. but you can change it to fixed size if you want by adding this height=175rp ( or whatever size ) to this line: ... scrollviewer id=atom(scroller) ...
download icon version
bottom taskpane showing only the details information about files and folders. the control panel view is iconless in this version. the content is fixed size. i recommend to unregister the shimgvw.dll ( run: regsvr32.exe /u shimgvw.dll ) for the best viewing experience.
note that, by unregistering the shimgvw.dll, thumbnails of the images (and size) will not be displayed. or if you don't want to do it, rename this registry entry: HKEY_CLASSES_ROOT\CLSID\{3F30C968-480A-4C6C-862D-EFC0897BB84B} and the thumbnails will gone.
or remove (rename) this key:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3F30C968-480A-4C6C-862D-EFC0897BB84B}
download detail version 1 | download detail version 2
to remove the icons is simple. find all instances of ' <element id=atom(icon) layoutpos=left /> ' in uifile2 and change all to this: ' <element id=atom(icon) layoutpos=left width=0rp height=0rp/ > '
yes, you can increase and decrease the main category icons size if you want bigger or smaller icons. but if you want iconless, do not remove those lines, just add width=0rp height=0rp, else you will see nothing.
target file is shellstyle.dll, uifile2. change this line <element id=atom(categorylist) layout=gridlayout(5,2) /> to this <element id=atom(categorylist) layout=gridlayout(-1,1) /> to have it simple 1 column listview. the original ' gridlayout(5,2) ' means 5 rows and 2 columns. the links are grouped in 2 columns. 5-5 links.
and change this:
< element id=atom(appletlist) layoutpos=top layout=gridlayout(-1,2) />
to this:
< element id=atom(appletlist) layoutpos=top layout=gridlayout(-1,1) />
if you don't have this line in your uifile then your target is shell32.dll uifile4. or you have to copy this from shell32 to shellstyle.dll.
target is xpsp2res.dll RC data, uifile 1 (100). the appwiz.cpl also has the uifiles, but due to the windows update, this resource is not used anymore.
to have the menu top instead of the right side, change this line:
<scrollviewer id=atom(listscroller) sheet=styleref(listscroller) xscrollable=false layoutpos=left >
to this: <scrollviewer id=atom(listscroller) sheet=styleref(listscroller) xscrollable=false yscrollable=false layoutpos=top >
and to have this menu left aligned, change this:
<ARPSelector id=atom(optionlist) sheet=styleref(optionpane) layout=borderlayout() contentalign=wrapcenter >
to this:
<ARPSelector id=atom(optionlist) sheet=styleref(optionpane) layout=flowlayout(0,0,0,0) contentalign=wrapleft >
the first 3 icons (bitmap) are in the appwiz.cpl > bitmap section, and the 4th icon is in moricons.dll.
so, if you want the 4 menus on top and the title text right instead of bottom (under the icon), change these lines:
<arpframe resid=main id=atom(frame) sheet=styleref(frame) layout=borderlayout()>
<scrollviewer id=atom(listscroller) sheet=styleref(listscroller) xscrollable=false layoutpos=left>
<ARPSelector id=atom(optionlist) sheet=styleref(optionpane) layout=borderlayout() contentalign=wrapcenter>
<button id=atom(change) layoutpos=top accessible=true accRole=43 accName=rcstr(5) layout=borderlayout()>
<element layoutpos=top content=rcbmp(101)/>
<element layoutpos=bottom Shortcut=rcchar(84) content=rcstr(5) />
</button>
<button id=atom(addnew) accessible=true accRole=43 accName=rcstr(6) layoutpos=top layout=borderlayout()>
<element layoutpos=top content=rcbmp(102)/>
<element layoutpos=bottom Shortcut=rcchar(85) content=rcstr(6) />
</button>
<button id=atom(addrmwin) accessible=true accRole=43 accName=rcstr(7) layoutpos=top layout=borderlayout()>
<element layoutpos=top content=rcbmp(103)/>
<element layoutpos=bottom Shortcut=rcchar(86) content=rcstr(7)/>
</button>
<button id=atom(pickapps) accessible=true accRole=43 accName=rcstr(10040,handlemap(1)) layoutpos=top layout=borderlayout()>
<element layoutpos=top content=rcbmp(100,3,-1,0,0,0,0,handlemap(1))/>
<element id=atom(pickappsshortcut) layoutpos=bottom content=rcstr(10040,handlemap(1))/>
</button>
</ARPSelector>
</scrollviewer>
to this:
<arpframe resid=main id=atom(frame) sheet=styleref(frame) layout=borderlayout()>
<scrollviewer id=atom(listscroller) sheet=styleref(listscroller) xscrollable=false yscrollable=false layoutpos=top >
<ARPSelector id=atom(optionlist) sheet=styleref(optionpane) layout=flowlayout(0,0,0,0) contentalign=wrapleft>
<button id=atom(change) layoutpos=top accessible=true accRole=43 accName=rcstr(5) layout=flowlayout(0,0,0,0)>
<element layoutpos=top content=rcbmp(101)/>
<element layoutpos=left Shortcut=rcchar(84) content=rcstr(5) />
</button>
<button id=atom(addnew) accessible=true accRole=43 accName=rcstr(6) layoutpos=top layout=flowlayout(0,0,0,0)>
<element layoutpos=top content=rcbmp(102)/>
<element layoutpos=left Shortcut=rcchar(85) content=rcstr(6) />
</button>
<button id=atom(addrmwin) accessible=true accRole=43 accName=rcstr(7) layoutpos=top layout=flowlayout(0,0,0,0)>
<element layoutpos=top content=rcbmp(103)/>
<element layoutpos=left Shortcut=rcchar(86) content=rcstr(7)/>
</button>
<button id=atom(pickapps) accessible=true accRole=43 accName=rcstr(10040,handlemap(1)) layoutpos=top layout=flowlayout(0,0,0,0)>
<element layoutpos=top content=rcbmp(100,3,-1,0,0,0,0,handlemap(1))/>
<element id=atom(pickappsshortcut) layoutpos=left content=rcstr(10040,handlemap(1))/>
</button>
</ARPSelector>
</scrollviewer>
simple logon screen. no backgrounds, no icons and Without the annoying blue flash color before logon or lock computer screen.
download graphite (eng)
change all selected values to the red values in user32.dll. (Don't forget to Make a backup first)
so change this:
8BFF558BECA18010477E8B881007000033D2423BCA5
68BF27C028BF18B880C0700003BCA0F8CDD290100565168490
05A00FFB098080000FF750CFF7508E8A8FEFFFF5E5DC20800
to this:
b801000000C208009090909090909090909090909090
90909090909090909090909090909090909090909090909090
909090909090909090909090909090909090909090909090
In My version it was at offset; 1ED4F,but if you do a search for Drawfocusrect in a disassembler, you can easily see what is the offset in yor dLL.
this is (was) the second most annoying thing in xp. ( the first one is the focus rectangle on every button and text ) but now, we can finally eliminate this annoying little thing. and you only have to modify one single number in logonui.exe. number 74 to number 75. easy as hell hack.
In My version it was at offset; 771f ,but if you do a search for CreateSolidBrush in a disassembler, you can easily see what is the offset in yor dLL. then you have to change that number (74) to 75.
but here is the hexcode snippet where you have to change that 74: FF15F41000018BF085F67415568D45 - search for it in hexeditor and change it. if you can't find this code snippet, try search for this: F085F67415568D. if you still can't find it, you will have to use a disassembler first to determine the correct code.
p.s:
or alternatively, you can download my simple logonui which doesn't have this blue flash. you can reshack it to your likings. change bitmaps, change uifile, etc. it's up to you now.
just a little mod of the windows version on desktop text.
you can enable / disable this text with tweakui > general, or in regedit; HKEY_CURRENT_USER\Control Panel\Desktop > PaintDesktopVersion. 1 = enable, 0 = disable.
the strings are in win32k.sys file > message table.
210, "Windows %ws"
211, "%ws build %ws (%ws)"
the first line is the windows version; Windows %ws ( font and size used = caption font ), the second line is the build and service pack number; %ws Build %ws (%ws) ( font and size used = menu font ).
this simple reshack will remove the drive letters after your drive names in explorer window. typically the ' (x:) '. change shell32.dll > stringtable 577, 9224 %1!ls! (%2!c!:) to this: %1!ls! or to remove just the ':' after the drive letter, change to: %1!ls! (%2!c!)
see the third screenshot. tells everything. you just have to add a new bitmap, place its code to the top, + requires a little positioning (0,0), + remove the STYLE DS_MODALFRAME, and the job is done. or instead of using a bitmap, you can insert a new static control; ss_grayframe, or ss_blackframe, or ss_whiteframe.
but here is my code: sndvol32.exe > dialog 106
106 DIALOG 0, 0, 30, 70
STYLE WS_POPUP
EXSTYLE WS_EX_TOOLWINDOW
CAPTION ""
CLASS "Tray Volume"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "MS Shell Dlg"
{
CONTROL 666, 0, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE | WS_GROUP, 0, 0, 45, 105
CONTROL "Vol", 1010, STATIC, SS_CENTER | WS_CHILD | WS_VISIBLE | WS_GROUP, 2, 4, 26, 8
CONTROL "", 1011, STATIC, SS_BITMAP | WS_CHILD, 75, 19, 5, 30
CONTROL "", 1001, "msctls_trackbar32", TBS_VERT | TBS_BOTH | TBS_NOTICKS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 8, 11, 13, 54
CONTROL "Mute", 1000, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_TABSTOP, 8, 70, 60, 9
}
since sp2, we can use a new boot screen in windows xp. now, we can get 3 types of bootscreen. the original one, the blank one (By using the /noguiboot options in boot.ini file), and there is a 3rd version that looks like the check disk screen. (By Using the /sos option in boot.ini file)
this hack is about the third one (Check disk type screen).
changing the colors is easy. only requires an image editor that can handle / edit color palettes. that's all. this hack also modifies the check disk screen.
the target image files are in ntoskrnl.exe, bitmap 6 and bitmap 7. bitmap 6 is for the top and bottom color + the middle content color, bitmap 7 is for the bottom placed separator/divider. you just have to modify the bitmap's color palette to change the colors. see the screenshots and you will understand.
the boot texts
the microsoft (r) windows (r) ... text > ntsokrnl.exe > message table
the x system processor text > ntoskrnl.exe > messagetable
the checking file system text: > autochk.exe > message table
the the volume is clean text: > autochk.exe message table
the windows has finished checking the disk text > ulib.dll > message table
hacking the colors of the defrag we have to hex-edit dfrgui.dll. here are the default hex color values for xp pro sp3: DC0000 (red): at offset A4C6, 0000DC (blue): at offset A4EA, 00DC00 (green): at offset A4D2, FFFFFF (white): at offset A50E. as you can see always after "0488" and alwasy before "00EB"
the red, green, blue, white bitmaps are in the dfrgres.dll.
btw here is a hex-editor help.
hex 6A01 @ offset 14A6 weekdays name [in 1-2-3 words] > 6A01 ..02 or ..03
hex 6A03 @ offset 140F weekdays name bg color > 6A00 - 6A??
hex 6A13 @ offset 141B weekdays name text color > 6A00 - 6A??
hex 6A03 @ offset 1189 weekdays bar bg color > 6A00 - 6A??
hex 6A08 @ offset 11C6 days text color > 6A00 - 6A??
hex 6A05 @ offset 11AA days text bg color > 6A00 - 6A??
hex 6A05 @ offset 1142 the whole calendar bg color (original white) > 6A00 - 6A??
hex 2000 @ offset 111E 2digit day numbers (if 3000)
?? = values from 00 to FF.
(You can resize the calendar with reshacker)
By default the windows taskbar buttons are fixed width. (You can change the width of the taskbar buttons by adding MinWidth (reg_sz) to HKCU\Control Panel\Desktop\WindowMetrics. in example: MinWidth = 300)
But with this hack you get something different. You get non-fixed tasbar button width, which means the taskbar button will always fill the whole taskbar width, even if you have only one application on the taskbar. see the screenshot.
the hack: open c:\windows\explorer.exe with a hexeditor. locate this chunk 6A39A368750401 @ offset 194B5. change it to 6A11A368750401. done.
tip: you don't need to restart or logoff. just do like this: open explorer with a hexeditor, edit the chunk, before you save the file, kill the explorer process with taskmanager, save the file, restart the explorer process with taskmanager. and always make backup of the file first!
the green wave graph color hex value is: 00FF00 @ offset 892E. for white, change it to FFFFFF or you could use any hex color values you want.
a little hack of the picture viewer screensaver. originally this screensaver shows pictures overlaping the pictures one by one. with this hack it shows the images without overlaping the previous pictures. see the screenshot.
the hack: hex value 6A04 @ offset 5220. change it to 6a18. done.
explorer.exe > hex 6A21A34067 @ offset 194AC. change it to 6A21A34068 and no more space between the start menu and the taskbar items. (picture 2)
If you want more space: change hex value 6A20 @ offset 194A3 to 6a30 or 6a22 or 6a23 or 6a31... dependig on how wide "space" you need.
msgina.dll > hex 6A0550 @ offset 278A0. change it to 6A0551 and no more dimming effect when you want to shutdown.
explorer.exe > hex 6A31FFD36A32 @ offset 1543B. change it to 6A9FFFD36A32 and hex 68300400 @ offset 15479 change it to 68310400. this will remove the taskbar button's icon.
Windows live messenger 2009 build 14.0.8089.726
msnmsgr.exe > hex value 750B @ offset 96E56, simply change it to 740B, save the file, you are done. no more blurry text and headache.
you can download the files (xp, sp3, eng) required for this from here or here is the to do list.
changed in msgina.dll
dialog 20100
20100 DIALOGEX 0, 0, 164, 124
STYLE DS_SYSMODAL | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_MAXIMIZE
| WS_BORDER
EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW
CAPTION "sdd"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 0, ""
{
CONTROL "&Stand By", 20104, BUTTON, BS_OWNERDRAW | WS_CHILD
| WS_VISIBLE | WS_TABSTOP, 10, 10, 144, 32
CONTROL "T&urn Off", 20103, BUTTON, BS_OWNERDRAW | WS_CHILD
| WS_VISIBLE | WS_TABSTOP, 10, 46, 144, 32
CONTROL "&Restart", 20105, BUTTON, BS_OWNERDRAW | WS_CHILD
| WS_VISIBLE | WS_TABSTOP, 10, 82, 144, 32
}
+++
bitmap 20142
(use any size and any color, it is just the background color of the
dialog)
bitmap 20150 (the buttons)
***************************
changed in shell32.dll
dialog 1089
1089 DIALOGEX 0, 0, 164, 88
STYLE DS_SYSMODAL | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_MAXIMIZE
| WS_BORDER
EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW
CAPTION ""
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
CONTROL "&Switch User", 14338, BUTTON, BS_OWNERDRAW
| BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 10, 144, 32
CONTROL "&Log Off", 14339, BUTTON, BS_OWNERDRAW | BS_NOTIFY
| WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 46, 144, 32
}
+++
bitmap 14354
(use any size and any color, it is just the background color of the
dialog)
bitmap 14356 (the buttons)
the required bitmaps are here
do your reshacks at your own risk!
if you decide to reshack your system, never download windows updates ( i mean, it's highly not recommended )! because if you do that, all of your works will be gone*, and you have to do it from the beginning. and of course turn off the automatic windows update and/or disable the windows update service. * it depends on how deep your system is reshacked.