Jump to content

[Howto Guide] Change XP Default Theme


Geej

Recommended Posts

I remembered when I want to change the default XP theme in HFSlip, I search the forum for some answers but

could not find any complete informations.

There are some post mentioned in MSFN-nlite & RyanVM forum but not in HFslip forum.

After some searching, most useful info is from Gosh, plus trial & errors, I finally got it working in HFSlip.

Hence sharing this info with HFslip users. After all, default XP theme is so old now.

BTW, this method is useful only if you use user-attended mode or without Winnt.sif method.

First get your fav theme. Majority of themes can be found from various forums :(MSFN-nlite, RyanVM or Wincert.net)

Here is how to make your fav theme as default theme :

As I like Kel's Midnight theme v1.8 by Kelsenellenelvian, I choose this theme as the default theme for demonstration.

Making your fav theme to your default theme mainly consist of 3 parts:

Part 1: Modify your fav theme to fit the default theme requirement

Part 2: Insert Default theme inf

Part 3: Included a patched uxtheme.dll accroding to your OS (or see post #10 for download link for English XP)

Part 1:

=====

Download the theme & modify the following:

1)a. Unpack Themes_Kels_Midnight_Addon_1.8.cab to it's own subfolder

b. Unpack MIDNIGHT.CAB to its subfolder again.

Convert Midnight Blue.jpg to Midnight Blue.bmp using any image editor

Remember to delete Midnight Blue.jpg

c. Edit 'Midnight Blue.Theme' using any text editor: (I use notepad++)

		 Scroll to 	[Control Panel\Desktop]  section
Change
Wallpaper=%WinDir%Web\Wallpaper\Midnight Blue.jpg
to
Wallpaper=%WinDir%Web\Wallpaper\Midnight Blue.bmp

d. While we are editing, you may want to change [Theme] section

[Theme]
; My Computer
From DefaultValue=C:\WINDOWS\Explorer.exe,0
to
DefaultValue=%windir%explorer.exe,0

; My Documents
To DefaultValue=%windir%SYSTEM32\mydocs.dll,0

; My Network Places
To DefaultValue=%windir%system32\SHELL32.dll,17

; Recycle Bin
to full=%windir%System32\shell32.dll,32
empty=%windir%System32\shell32.dll,31

e. There are 3 more themes (Midnight Green.Theme, Midnight Grey.Theme & Midnight Pink.Theme) which you might

want to convert to environment variable style

Save Midnight Blue.Theme, Recab back the whole folder back to MIDNIGHT.CAB (& remember to delete MIDNIGHT folder)

2) Next, decompress MIDNIGHT.IN_ to MIDNIGHT.INF

Replace any text reference of 'Midnight Blue.jpg' to 'Midnight Blue.bmp' (use the Find/replace feature in your text editor)

(There are only 2 text references to replace)

Edit the following:

	[SourceDisksFiles]
Midnight Blue.jpg=1 <-- located at line 54
[wall]
Midnight Blue.jpg <--- located at line 141

to
[SourceDisksFiles]
Midnight Blue.bmp=1
[wall]
Midnight Blue.bmp

Recompress MIDNIGHT.INF back to MIDNIGHT.IN_

Then Delete MIDNIGHT.INF

3) Repack the whole package back to Themes_Kels_Midnight1.8.cab (this is now the modified one)

Give a slightly differently name, such as Default_Themes_Kels_Midnight1.8.cab

Part 2:

=====

Create an .inf, say DefaultthemeMidnightBlue.INF in HFGUIRUNONCE folder with the following code: (attachment available for download, after the codebox)

[Version]
Signature=$Windows NT$

[Optional Components]
MyThemesRegTweaks

[DefaultInstall]
OptionDesc ="Registry Entries"
Tip ="Registry Entries"
Modes =0,1,2,3
AddReg =REGEntries.AddReg
DelReg =REGEntries.DelReg

[MyRegTweaks]
OptionDesc ="Registry Entries"
Tip ="Registry Entries"
Modes =0,1,2,3
AddReg =REGEntries.AddReg
DelReg =REGEntries.DelReg

[REGEntries.AddReg]
; Reg2Inf v0.37 - http://tinyurl.com/fgqyf
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Themes","InstallTheme",0,"%%SystemRoot%%\Resources\themes\Midnight Blue.Theme"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme","Wallpaper",0x00020000,"%%SystemRoot%%\Web\Wallpaper\Midnight Blue.bmp"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme","ThemeFile",0x00020000,"%%SystemRoot%%\resources\Themes\Midnight Blue.Theme"

or download DefaultthemeMidnightBlue.inf here

DefaultthemeMidnightBlue.INF

For changing to other themes of your choice, you need to edit DefaultthemeMidnightBlue.inf file.

Under [REGEntries.AddReg] section, modify the 3 system paths accordingly to your own theme.

Part 3:

=====

Download patched theme uxtheme.dll with XP SP3 version 6.0.2900.5512_EN.rar. Extract the package until you see uxtheme.dll

You need to compress to uxtheme.dl_ format

Where to place the files:

Put Default_Themes_Kels_Midnight1.8.cab in HFAAO folder

Put DefaultthemeMidnightBlue.INF in HFGUIRUNONCE folder

Put uxtheme.dl_ in REPLACE\i386 folder (create the folder if doesn't exist)

Done. Pls test in Virtual PC first.

Suggested Tools:

----------------------

1) Add the following cabtool registry tweak to your OS. These will allow you to convert .dll to .dl_ type and vice versa.

Cabtool Registry Tweak

2) CabTool v1.8 in SendTo style Build2, 2008/04/07

or Kels_Uber_Addon_v13.7.CAB. (CabTool v1.8 in SendTo style is already included in Kels_uberpack)

3) Any archiver tool such as IZArc or TUGzip

The above works during testing for hfslip-1.7.9_beta_m.cmd, slipstreaming SP3, WMP11 & IE7 with clean XPSP2 source.

All using TommyP's method as stated in his website.

It will not override XP own default theme (Luna.theme).

There is not need to add any code in Winnt.sif for the theme part, even if you are using unattended mode.

I hope you will find this info useful.

Edited by Geej
Link to comment
Share on other sites

  • 1 month later...

Does anyone know how Windows converts a JPG to a BMP in the background?

If we knew that and could do that on the command line it could save space if JPG images are used.

It seems it has to be a BMP and they are huge! Like 2Mb per image.

Link to comment
Share on other sites

U could do a format conversion from jpg to bmp thru irfanview executable (i_view32.exe)

If you have i_view32.exe located in c:\windows, then the command would be:

i_view32.exe "%windir%\web\wallpaper\friend.jpg" /convert="%windir%\web\wallpaper\friend.bmp"
del "%windir%\web\wallpaper\friend.jpg"
exit

Just ensure your jpg files exists on your hard-disk before this conversion takes places

(You may wish to deploy cWnd.exe to hide the console)

Alternatively, since HFSlip support autoit directly (which I appreciate it very much), you can add a script (say Convert2bmp.au3) in HFEXPERT\AUTOIT folder with the code to hide the console. Note: requires AutoIt3.exe in the same HFEXPERT\AUTOIT folder.

FileChangeDir (@WindowsDir&"\web"&"\Wallpaper")
Runwait ("i_view32.exe friend.jpg /convert=friend.bmp","",@SW_HIDE)
FileDelete (@WindowsDir&"\web"&"\Wallpaper"&"\friend.jpg"); delete friend.jpg after conversion

;Just ensure your jpg files exists on your hard-disk before this conversion takes places

Note: Put i_view32.exe in HFEXPERT\WIN folder if you wish to use any of the above 2 methods

NOTE: Default theme wallpaper still requires bmp format though.

You can read an article here (Read post #5)

Edited by Geej
Link to comment
Share on other sites

  • 4 weeks later...
  • 7 months later...

tanks man!

I have been read the guide but I am creating an autoextract package "for dummies" and I would want to use folder & regtweak via runonceex

unfortunately i undestarnd how to change WINNT.SIF "universal for all people"

exist any software to apply automatically this string at WINNT.SIF?

in my (crazy) project i don't use nLite

Link to comment
Share on other sites

Hi riosilente

I don't really understand what u are saying...

U don't use nlite & HFslip. R u using RMVi...?

If not at all, r u saying u want to apply a default theme using RunonceEx together with your choice theme in a normal environment?

If not, then what r u trying to achieve?

What is "universal for all people"? I interpret as ... u already understand that everyone is using WINNT.SIF to set default theme.?

For "any software to apply automatically this string at WINNT.SIF', I do not know of any. Maybe someone out there knows...

Link to comment
Share on other sites

Hi riosilente

I don't really understand what u are saying...

U don't use nlite & HFslip. R u using RMVi...?

If not at all, r u saying u want to apply a default theme using RunonceEx together with your choice theme in a normal environment?

If not, then what r u trying to achieve?

What is "universal for all people"? I interpret as ... u already understand that everyone is using WINNT.SIF to set default theme.?

For "any software to apply automatically this string at WINNT.SIF', I do not know of any. Maybe someone out there knows...

i'm so sorry but my english is very ugly... :blushing:

i find solution to my problem

i look the http://unattended.msfn.org/unattended.xp/view/web/76/

and i found solution with a simple file bat!!!

this file is in a autoextract file (make with winrar) an when extract the file, it puts in

$$\Resources\Themes\MyTheme.theme

and

Modify.CMD in i386 with this code

echo. >> WINNT.SIF

echo [shell] >> WINNT.SIF

echo CustomDefaultThemeFile = "%WinDir%\Resources\Themes\MyTheme.theme" >> WINNT.SIF

this bat modify and save the new WINNT.SIF

p.s. i think a project similar to VistaPack

p.p.s. tanks for your attention to me!

Link to comment
Share on other sites

  • 2 weeks later...

This is a patched UXTHEME.DLL ( source) for use with 3rd party visual style. For WindowsXP (SP3)

File version: 6.00.2900.5512 (xpsp.080413-2105)

Note: For use with English XP system only

coolmediafirelogo.png

PatchedUXTHEME.cab (Put in HFAAO)

Size: 99.09 Kb (101,470 bytes)

MD5: FA3B761FDA22A46C97FE4C06DCB38CC8

(If you put this file in HFAAO, then i386\REPLACE\uxtheme.dl_ is not required)

Edited by Geej
Link to comment
Share on other sites

  • 5 months later...
  • 2 months later...

XP Theme Randomizer

--------------------------

This program was made from a post [Trick] How to Set Windows theme from command line by Ken@fri

This is an autoit compiled program that select and apply randomly an existing theme.

Requirement:

1) XP OS only

2) At least have 2 themes, excluding Windows Classic Theme must be available

This program does not check whether your OS has patched UXTHEME.DLL or not.

Features:

Support console mode. The parameter is the full Theme's filename.

XPThemeRandomizer Luna.theme

If Full file name contains space, you need to double quote it.

Eg. XPThemeRandomizer "Windows Classic.theme"

Access the program thru shortcut created in Accessories Group.

Additional features (but disabled):

You can adjust the inf for a normal unattended installation & immediately follow up with the program execution with your own choosen theme, either in randomized mode or specific theme in console mode.

The supplied inf are included for these possible modes but you need to uncomment or comment the inf line yourself.

This has no effect in unattended installation as the theme you set will be override to default (or specified in WINNT.SIF) when you 1st boot to desktop.

At the most, only the wallpaper is applied.

The only way I know is via RUNONCE key but it has the disadvantage that it requries 2nd reboot to work.

Experiment/test at your own side.

XPThemeRandomizer_Addon.cab

Size: 567.87 Kb (581,496 bytes)

MD5: 4B19198234D3F3A2DAD7D3ECF4A24DE7

Since this is theme-related stuff, you might like to check out Random Wallpaper Changer utility.

Enjoy :)

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...