Is there a way to change themes from the command-line, without showing the "Personalization" window?
But this makes the "Personalization" window pop up before changing the theme. Does anyone know a way to perform this operation silently? This is a little like what Sudhir was asking earlier.
(Sorry for my bad English)
You can use Microsofts ThemeTool.exe for change the theme silently ...
The tool will be created during troubleshooting of Aero theme:
1. Go to Control Panel / Troubleshooting
2. Run "Appearance and Personalization" and don't close it after finishing.
3. Search in C:\Windows\Temp a folder thats beginns with "SDIAG_".
4. You will be found ThemeTool.exe in this folder. Copy it into an other folder of your choice.
Usage: ThemeTool.exe
[options] [theme]
Options:
getcurrentthemename
getthemestatus
changetheme
Sample:
ThemeTool.exe changetheme C:\Windows\Resources\Themes\YourTheme.theme
EXCELLENT. Just a short note that for me on W7-64, in Step 2., I needed to click on the Aero troubleshooting link... just clicking on the general "Appearance and Personalization" troubleshooting tool did not create the subfolder [mentioned in Step 3.]. Also, if using custom themes they are in a different folder, and finally, custom themes cannot have spaces in the name or the tool won't work.
So DrInSide Steps Slightly Modified (bolded), if needed:
1. Go to Control Panel / Troubleshooting
2. Run "Appearance and Personalization"
and then click on the Aero troubleshooting hyperlink and don't close it after finishing.
3. Search in C:\Windows\Temp a folder that begins with "SDIAG_".
4. You will find ThemeTool.exe in this folder. Copy it into an other folder of your choice.
Usage: ThemeTool.exe
[options] [theme]
Options:
getcurrentthemename
getthemestatus
changetheme
Sample:
ThemeTool.exe changetheme C:\Windows\Resources\Themes\YourTheme.theme
(or for custom themes)
ThemeTool.exe changetheme C:\Users\[UserName]\AppData\Local\Microsoft\Windows\Themes\YourTheme.theme
Notes:
1. "AppData" is a hidden folder so you won't see it unless you have Windows configured to show hidden folders
2. Custom theme names cannot have spaces or they won't execute.
3. Placing this string in a bat file and then creating different bat files for different themes and executing them with Task Scheduler allows for changing themes on a schedule... such as a different custom theme for each day of the week, or one theme for the work week and another for the weekend, etc. The following steps used with the ThemeTool.exe above will switch themes without opening the Personalization window.
So assuming you have made custom themes in Windows (like by putting your own pics in the default wallpaper folders [under /Windows/Web/Wallpaper] and then compiling custom themes via Personalization... and saving those themes with unique names that have no spaces in them)...
If you want themes to switch on a schedule Task Scheduler can be used in this manner:
1. Create a .bat file in the custom theme folder, which is located here:
C:\Users\[UserName]\AppData\Local\Microsoft\Windows\Themes\
assuming ThemeTool.exe has been copied to this folder, copy/paste the following in a text file, replacing the non-bolded text with your own:
ThemeTool.exe changetheme C:\Users\[UserName]\AppData\Local\Microsoft\Windows\Themes\YourTheme.theme
Then save the text file as (e.g.)
Weekly.bat.
To have Task Scheduler run the .bat, type "
task" in the
search box, then click on
Task Scheduler.
1. In the right pane, click on
Create Basic Task.
2.
Enter a name for the task such as WeeklyTheme.
3. Click Next and configure when you want the bat triggered (
daily, weekly, etc)
4. Click Next and the Action screen will default to
"start a program"
5. Click Next again and for
Program/script, click
Browse to navigate to the .bat file. When it fills it in, it will fill in the entire path. Copy the entire path EXCEPT the .bat file name, then delete the path and leave only the .bat file name in this field.
6. On that same screen,
paste in the path you just copied, into the
"Start in (optional)" field.
7. Tick the little box that says
"Open properties when finished" then click
FINISH.
8. Click the
CONDITIONS tab and configure to taste.
9. Click the
SETTINGS tab and configure to taste.
10. Click the
GENERAL tab and conifgure to taste (can set privileges here).
Once the task is completed it shows up in the main window when ask Scheduler Library is highlighted at left. You can right-click the task to disable, delete, or to choose Properties to tweak its settings.
Create multiple batch files/themes/tasks for auto-switching the theme on any schedule.