用 AutoHotkey 实现自动切换 Windows 的深色主题
用 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
是指非暗色主题的生效时间,也就是上午八点至晚上七点四十五分之间,不使用暗色主题。由于每半个小时才判断一次,所以并不一定会在晚上七点四十五分切换,常驻后台理论上最晚的时间是晚上八点十五分会切换到暗色主题,对我来说可以接受,有需要的话可以自行调整判断间隔。