按一天中的时间自动切换 Windows 10 中的暗/亮模式(无需修改或更改主题!)

2024-03-26

如今大多数设备都允许自动切换暗/亮模式,但 Windows 10 似乎没有这样的功能。有办法做到这一点吗?例如使用任务计划程序?

似乎有很多关于如何以编程方式更改窗口“主题”的示例,但没有关于亮/暗模式切换的示例(可以在“设置/颜色”中为“Windows 模式”或“应用程序模式”独立设置)。


就在这里!

无缝地完成可能有点棘手,但可以通过以下步骤完成:

打开任务计划程序并使用以下设置创建一个新任务:

General

  • 需要“无论用户是否登录都运行”,这样每次运行时 powershell 窗口都不会闪烁。

  • “不存储密码”检查,因为它是离线脚本

  • “以最高权限运行”只是为了确保没有任何事情打扰它(可选)

Triggers

  • 添加一个“在工作站解锁”触发器
  • 添加一个触发器以每小时重复一次

Actions

  • 使用 Program=Powershell 和 Arguments= 添加操作$time=(Get-Date).TimeOfDay.Hours; if($time -gt 8 -and $time -lt 19){"Setting Light theme..";Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 1 -Type Dword -Force; Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 1 -Type Dword -Force} else {"Setting Dark theme..."; Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 0 -Type Dword -Force; Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 0 -Type Dword -Force;}

该 PS 脚本看起来很多都打包在一行中,但这只是我们可以将其粘贴到操作中的“参数”对话框中。让我们把它分解一下看看它做了什么:

# Set current time in a variable
$time=(Get-Date).TimeOfDay.Hours; 
# if later than 8am and earlier than 7pm, use light mode
if($time -gt 8 -and $time -lt 19){ 
    "Setting Light theme.."; # output in case we let a window be opened
    # set "app" system mode to "light"
    Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 1 -Type Dword -Force; 
    # set "OS" system mode to "light"
    Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 1 -Type Dword -Force; 
} else {
    "Setting Dark theme..."; # output in case we let a window be opened
    # set "app" system mode to "dark"
    Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 0 -Type Dword -Force; 
    # set "OS" system mode to "dark"
    Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 0 -Type Dword -Force; 
}

Update:

尽管非常紧凑,但在一行中维护代码可能会很麻烦,因此如果您喜欢将 PS 脚本保存在.ps1文件,您只需输入即可从那里执行它Powershell.exe (or pwsh.exe)在程序框中,然后-file C:\yourscript.ps1作为参数):

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按一天中的时间自动切换 Windows 10 中的暗/亮模式(无需修改或更改主题!) 的相关文章

随机推荐

  • 有关使用 TortoiseGit 与 SVN 存储库交互的说明?

    多年来 我一直在 Windows 上使用 TortoiseSVN 为我自己的项目提供本地文件系统存储库 我计划开始与一位朋友合作开发其中一个项目 并将存储库转移到我自己的网站上 我读过很多 git 击败 SVN 的文章 过去几年的帖子 我想
  • 使用 helm 进行 Kubernetes 作业更新

    我有一个 Kubernetes 集群 我正在使用 Helm 在那里部署我的应用程序 一切工作正常 但一方面是工作更新 正如我所读到的 作业是不可变的 这就是它们无法更新的原因 但我不明白 为什么 helm 不像 Pod 那样创建新作业 最后
  • 在 .NET Core 项目中添加 PDF 链接

    我想将 PDF 文件添加到我的 net core 2 0 项目中 它在我的本地主机上使用 IIS Express 运行 我已经将 pdf 文件添加到我的项目文件中 它显示在解决方案资源管理器中 并且我在中添加了相应的链接我的 cshtml
  • HTML5视频播放器:动态加载视频

    那么 使用兼容 HTML 5 的视频播放器 如 Video JS 如何动态加载视频 而无需重新加载整个页面呢 想象一下 一个链接列表 类似于播放列表 每个链接都指向一个视频 单击链接时 我想将所选视频加载到播放器中 目前 我正在使用一个包含
  • 在vim中打开目录

    我是一名 mac 用户 正在认真尝试 vim 我习惯的大多数 GUI 编辑器都允许我通过执行以下命令来将目录作为 项目 打开 编辑 www example com vim 等效项vim www example com 将显示目录中的文件列表
  • 如何将 STDERR 重定向到 STDOUT,但忽略原始 STDOUT? [复制]

    这个问题在这里已经有答案了 我有一个程序STDERR我想要检查并运行的输出grep on etc 所以我可以将其重定向到STDOUT并使用 grep 但问题是 我这样做not想要原件STDOUT内容 所以 这个不行 cmd 2 gt 1 g
  • 为什么选择静态类而不是单例实现?

    静态与静态 单例问题之前在 SO 中已经讨论过很多次了 然而 所有的答案都指出了单例的许多优点 我的问题是 静态类比单例有什么优点 为什么不每次都简单地选择一个单例呢 静态类是你盒子里的一个技术工具 基本上是一个语言功能 Singleton
  • SQL聚合函数选择唯一值

    我有一个包含两列的行集 technical id and natural id 行集实际上是复杂查询的结果 假设列值之间的映射是双射的 即对于具有相同值的两行 technical id the natural ids 也相同 对于不同的te
  • iPhone 应用程序可以阻止电话吗?

    是否可以编写一个应用程序来阻止传入和传出的电话 还是 iPhone 被锁定太多了 谢谢 编辑 请参阅下面 Rajan Maheshwari 的回答 CallKit 现在提供了这一点 即使那些看似永远不会改变的事情 最终也可能会改变 任何修改
  • Django 从 postgres JSON 字段获取值

    我有一个简单的模型 例如 class MyModel models Model data JSONField JSON 字段data结构如下 name Brian skills id 4 name First aid id 5 name S
  • 如何删除 Visual Studio PIN TAB 图标(显然在选项卡上)

    有没有办法完全删除 Visual Studio 2010 中的 pin 选项卡选项 如何 我一直不小心点击它 我希望它消失 我从不使用它并且总是不小心点击它 thnx 附注右键单击 PIN 图标确实会弹出一些自定义对话框 但无法删除它 无法
  • SimpleHTTPServer 添加 default.htm default.html 到索引文件

    我总是用 python m SimpleHTTPServer对于快速本地静态 Web 测试 它非常适合index htm or index html作为索引文件 不过我需要使用default htm or default html对于我目前
  • Sequelize cli 模型创建

    我一直在尝试创建一个user model使用sequelize cli 但每当我插入更多参数 如主键和唯一 时 解析器就会失败 例如 npx sequelize model create name user attributes name
  • 通过序言格式化 csv 表?

    尽我所能 我无法弄清楚如何更改 sphinx 的 pdf 输出中的默认表格格式 我可以编辑 tex 文件或 writer py 源代码 但这两个似乎都是不好的选择 有什么东西可以通过序言来实现这一点吗 取决于您试图通过更改表格格式来完成的任
  • OWL 中表达式前面的列表?

    OWL 中表达式前面是否可以有一个列表 就像是 Dairy Egg Nut rdfs subClassOf FoodGroup or Dairy Egg Nut rdfs subClassOf FoodGroup 或者一般来说 是否存在针对
  • PHP 日期时间字符串区分

    在这两种情况下 我都可以从字符串创建日期对象 如下所示 dt strtotime 2013 04 19 17 00 00 or dt strtotime 10 hours 我需要一种方法来区分这两种日期类型 无论是相对数据字符串还是绝对数据
  • Windows 7 上的全屏 OpenGL 窗口打开的模态对话框不显示

    看来我的问题可能与未回答的相关问题相同 Windows 7 上出现 GLUT 的 OpenGL 全屏模式不显示消息框 https stackoverflow com questions 1842312 opengl with glut on
  • Ajax 追加加载

    它必须是jquery 我有文件 text html 其中有 6 个 div a b c d e f 在另一个文件中 我有一个 div 我喜欢它将 a b c d e f 的内容填充到该单个 div 中 我尝试过 load 但 b 替换了 a
  • ImageMagick - “未找到 CORE_RL_magick_.dll”或如何使用 ruby​​ 1.9.2 在 Windows 上安装 RMagick

    我正在开发 Rail3 应用程序 经过几个小时的努力 终于在 win7x64 ruby 1 9 2 上安装了 rmagick 2 13 1 gem 没有错误 我遇到了另一个错误 是的 我听说 Windows 中的 Rails 体验可能会很痛
  • 按一天中的时间自动切换 Windows 10 中的暗/亮模式(无需修改或更改主题!)

    如今大多数设备都允许自动切换暗 亮模式 但 Windows 10 似乎没有这样的功能 有办法做到这一点吗 例如使用任务计划程序 似乎有很多关于如何以编程方式更改窗口 主题 的示例 但没有关于亮 暗模式切换的示例 可以在 设置 颜色 中为 W