无人小站

用 AutoHotkey 实现自动切换 Windows 的深色主题

JP-Liu AutoHotkeyWindows计划任务

用 AutoHotkey 实现自动切换 Windows 的深色主题

起因是我在小众软件的官方论坛看到了 Windows无需额外下载软件深色主题切换 这个帖子,帖子里面内容提到 Windows 10 控制系统是否使用深色主题是根据注册表中 HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize下的 AppsUseLightTheme 的值决定的,于是心血来潮尝试用 AutoHotkey 实现简单的自动切换,具体代码如下。

#Persistent
#SingleInstance force

SetTimer, ModeSwitch, 1800000

ModeSwitch:
FormatTime, TimeToMeet,,HHmm
If TimeToMeet between 0800 and 1945
{
	RegWrite, REG_DWORD, HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize, AppsUseLightTheme, 1
} Else {
	RegWrite, REG_DWORD, HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize, AppsUseLightTheme, 0
}
Return

简单说明一下:

  • SetTimer 一行中的 1800000 是多长时间触发一次判断,1800000 代表 1800 秒,也就是半个小时。

  • If TimeToMeet 一行的 0800 and 1945 是指非暗色主题的生效时间,也就是上午八点至晚上七点四十五分之间,不使用暗色主题。

  • 由于每半个小时才判断一次,所以并不一定会在晚上七点四十五分切换,常驻后台理论上最晚的时间是晚上八点十五分会切换到暗色主题,对我来说可以接受,有需要的话可以自行调整判断间隔。

JP-Liu
懒人一个