首页 > 系统相关 >windows自动切换深色模式(夜晚模式)

windows自动切换深色模式(夜晚模式)

时间:2022-08-18 23:22:26浏览次数:50  
标签:深色 Get windows 模式 Daylight IsLight Sunset Date Sunrise

windows系统上怎么根据日出日落时间判断切换为深色模式或浅色模式呢?

windows系统自带了一个叫做“任务计划程序”的软件。可以通过“开始菜单”中的搜索找到。

然后选择“创建基本任务”

然后“触发器”选择每天,“操作”选启动程序,“程序”用powershell,可以直接复制下面的path

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

添加参数输入下面的脚本,要先修改一下经纬度参数,我这个是成都的lat=31&lng=103,经度31&维度103。其他不用修改。后面会讲解这段脚本。

$IsLight;$Daylight = (Invoke-RestMethod "http://api.sunrise-sunset.org/json?lat=31&lng=103&formatted=0").results;$Sunrise  = ($Daylight.Sunrise | Get-Date);$Sunset   = ($Daylight.Sunset | Get-Date);if(($Daylight.Sunrise | Get-Date) -lt (get-date)) {$IsLight=0} elseif(($Daylight.Sunset | Get-Date) -lt (get-date)) {$IsLight=1}New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value $IsLight -Type Dword -Force; New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value $IsLight -Type Dword -Force;

最后在添加两个触发器,一共3个触发器,早晚各运行一次,在加登录系统时运行一次,这样就保证脚本一定会运行,从而切换模式。当然早晚时间要自己斟酌一下,根据自己的习惯来。

解释一下脚本的内容。最核心的是最后两行命令,设置 SystemUsesLightTheme 和 AppsUseLightTheme 这两个系统的变量为0或1,通过名字很好理解其含义。

上面的代码就是求是要设置为0还是1。最重要的就是通过一个api接口获取所在经纬度的日出日落时间,通过与当前时间做对比从而确定需要深色还是浅色。当前时间超过日落时间,就要深色,否则如果当前时间超过日出时间,就要浅色。

$IsLight;
$Daylight = (Invoke-RestMethod "http://api.sunrise-sunset.org/json?lat=31&lng=103&formatted=0").results;
$Sunrise  = ($Daylight.Sunrise | Get-Date);
$Sunset   = ($Daylight.Sunset | Get-Date);
if(($Daylight.Sunrise | Get-Date) -lt (get-date)) {
$IsLight=0
} elseif(($Daylight.Sunset | Get-Date) -lt (get-date)) {
$IsLight=1
}
New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value $IsLight -Type Dword -Force; 
New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value $IsLight -Type Dword -Force;

标签:深色,Get,windows,模式,Daylight,IsLight,Sunset,Date,Sunrise
From: https://www.cnblogs.com/wangshushuo/p/16600513.html

相关文章

  • Python 虚拟环境管理神器:virtualenvwrapper-win for windows
    项目开发时,为了不污染全局环境,通常会使用虚拟环境隔离工具:virtualenvvirtualenvwrapper 是将所有的虚拟环境放在同一个目录下,方便管理,在使用shell配合小型开发工具就会......
  • windows下 python virtualenv 虚拟环境安装
    1.  虚拟环境virtualenvironment借助虚拟化技术,把机器中一部分内容独立出来。这部分独立的内容一般被称为“容器”。在这个容器中,我们可以安装需要的依赖包,各个......
  • Windows PowerShell 使用
    启动PowerShell 开始菜单 搜索 win+r运行get-help查看帮助get-command查看有哪些命令get-command......
  • vue学习之------Windows PowerShell不识别vue命令
    已经全局安装了vue-cli,但是WindowsPowerShell不识别vue命令: 解决办法:1、以管理员身份运行PowerShell2、执行set-ExecutionPolicyRemoteSigned3、输入Y,回车,即可......
  • 心智模式
    人不是被事物本身困扰,而是被关于他们的意见所困扰。人的情绪、思维和行动是一体的。推动人自我发展的内在动机:安全感、自主性和胜任感。 积极的成长型思维:安全感......
  • 关于Windows11笔记本打开TXT文件提示“包无法进行更新、相关性和冲突验证”的解决方法
    如标题,错误提示如下图:解决方法:PS:遇到这个问题时在网上搜索了很多帖子,基本都是说把txt文件的默认应用程序设置成记事本,其实系统的默认应用程序本来就是使用记事本打开,所......
  • Servlet特性研究之异步模式
    Servlet只有同步模型是怎样的?异步处理是Servlet3.0版本的重要功能之一,分析异步处理模型之前,先看看同步处理的过程是怎样的:客户端发起HTTP请求一个动态ServletAPI,请求......
  • 双网卡、多网卡指定IP分别访问网卡(windows添加静态路由)
    有两块网卡,网关分别是128.0.100.198和192.168.10.2,128.0.100.198,网速10M。192.168.10.2,网速100M。平时上网用192.168.10.2,访问指定的IP时用128.0.100.198。需要指定通......
  • .NET 异步编程模式 (四)-TAP
    TAP是基于任务的异步模式,在.NETFramework4中引入。TAP取代了APM和EAP,是推荐的异步编程模式。async/awaitasync和await是为异步编程提供的语法糖,方便我们快捷......
  • 报价模式的采购销售模式erp项目系统逻辑和数据库设计
    2022年8月10日13:56:22传统的电商模式和报价模式对比报价模式是先报价,在去采购对应的产品或者原料,在入库,出库给购买人,顺序不同,导致整个数据库接口不同举个例子在有色金......