Pour les besoins d'un addon INF basé sur le thème ROYAL AIO (créé par moataz et addon SVCPACK par boats) que j'ai créé, je souhaitais que ce thème soit celui par défaut à la fin de l'install manuelle (clic-droit sur le fichier INF --->commande Installer) de mon addon INF
Après environ une semaine de recherches sur le net, j'ai fini par trouver comment le faire >>>ICI<<<

Néanmoins, j'ai du adapté légèrement le script pour indiquer de façon dynamique le chemin vers le dossier des thèmes Windows
Code: Select all
objShell.Run('rundll32.exe Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:"%windir%\\resources\\themes\\%NOM_DE_VOTRE_THEME%.theme"',[color=#FF0000]1[/color]);
WScript.Sleep(2000);
Pour l'utiliser, créez un nouveau document .txt, faites-y un copier-coller des lignes ci-dessus et enregistrez le tout sous un nom de votre choix, avec l'extension .js (exemple theme.js)//===================================================================
// FILE: theme.js
// DESCRIPTION: automatically set the Windows theme
//===================================================================
// create shell object
objShell = new ActiveXObject("WScript.Shell");
// start themes applet, load desired theme, and activate this window
objShell.Run('rundll32.exe Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:"%windir%\\resources\\themes\\Royal AIO.theme"',1);
// wait for themes window
WScript.Sleep(2000);
// send the 'enter' key to accept this theme
objShell.Sendkeys("{ENTER}");
Dans mon fichier INF, j'ai mis ceci pour l'appeler:
[DefaultInstall]
RegisterDlls=Launch.RoyalistTheme.Install
[Launch.RoyalistTheme.Install]
11,,rundll32.exe,,,"advpack.dll,LaunchINFSection ""%01%\RoyalTem.inf"",Install"
[Install]
BeginPrompt = ...
RunPreSetupCommands = Create.i386:1
CopyFiles = ...
AddReg = ...
UpdateInis = ...
RunPostSetupCommands= SetRoyalistTheme.AsDefaultTheme
EndPrompt = ...
[SetRoyalistTheme.AsDefaultTheme]
RUNDLL32 advpack.dll,LaunchINFSection ""%01%\RoyalTem.inf"",Default.Theme.Choice"
[Default.Theme.Choice]
BeginPrompt = RoyalistThemeChoicePrompt
RunPostSetupCommands = Default_Theme_Choicer
EndPrompt = EndInsThemePrompt
; En fin de copie des fichiers, vous aurez la possibilité de définir Royal AIO comme
; thème par défaut de Windows
[RoyalistThemeChoicePrompt]
Title ="::. %ThemeChoice_Title% .::"
Prompt ="%ThemeReplacerPrompt%"
ButtonType=YESNO
; si vous avez répondu OUI à la question ci-dessus, le fichier theme.js est exécuté
; et Royal AIO est installé comme thème par défaut (style Royal). Sinon, votre thème actuel
; sera conservé
[Default_Theme_Choicer]
"WSCRIPT ""%01%\theme.js"""
Le changement de thème pose parfois quelques petits problèmes esthétiques toute de suite après. Sans gravité, puisqu'il vous suffit SIMPLEMENT de fermer, puis de réouvrir votre session.

Voilà...En espérant que ça puisse être utile à d'autres
