Comment activer le mode clair/mode sombre dans Windows 11 par programmation ?
En fait, il s’avere que je n’ai pas du tout besoin du registre.
Windows 11 enregistre les themes integres dans ce repertoire :
C:\Windows\Resources\Themes
Apres avoir verifie les ACL la-bas, j’ai remarque que tous les utilisateurs ont les permissions de lecture et d’execution, donc pas besoin de modifier les permissions.
Ces 4 fichiers qui sont des themes integres sont importants :
-
themeA.theme
-
themeB.theme
-
themeC.theme
-
themeD.theme
Les 2 premiers sont en mode sombre, les 2 autres sont en mode clair
J’ai donc simplement cree 4 taches planifiees via PowerShell de sorte que les 2 premiers themes sombres soient utilises de 18h00 a 8h59, et de 9h00 a 17h59 les themes clairs seront utilises.
# Task Schedules
$user = "ENTER YOUR USERNAME"
# Dark Theme A
$action = New-ScheduledTaskAction -Execute "C:\Windows\Resources\Themes\themeA.theme"
$trigger = New-ScheduledTaskTrigger -Daily -At 6PM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskPath "Theme Scheduling" -TaskName "Dark ThemeA" -Description "Activates Dark Theme everyday at 6PM" -User $user -RunLevel Limited
# Dark Theme B
$action = New-ScheduledTaskAction -Execute "C:\Windows\Resources\Themes\themeB.theme"
$trigger = New-ScheduledTaskTrigger -Daily -At 12AM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskPath "Theme Scheduling" -TaskName "Dark ThemeB" -Description "Activates Dark Theme everyday at 12AM" -User $user -RunLevel Limited
# Light Theme C
$action = New-ScheduledTaskAction -Execute "C:\Windows\Resources\Themes\themeC.theme"
$trigger = New-ScheduledTaskTrigger -Daily -At 9AM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskPath "Theme Scheduling" -TaskName "Light ThemeC" -Description "Activates Light Theme everyday at 9AM" -User $user -RunLevel Limited
# Light Theme D
$action = New-ScheduledTaskAction -Execute "C:\Windows\Resources\Themes\themeD.theme"
$trigger = New-ScheduledTaskTrigger -Daily -At 2PM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskPath "Theme Scheduling" -TaskName "Light ThemeD" -De
(Reponse tronquee)