抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Auto Dark Mode 介绍

Auto Dark Mode 是 GitHub 上一款专为 Windows 用户打造的自动主题切换工具开源软件,核心功能是自动切换深色模式和浅色模式,还提供了更丰富的定制选项与扩展能力。

特色功能

  • 自动切换主题:可根据时间、日出日落、地理位置等条件自动切换浅色/深色模式;
  • 快捷键手动切换:通过自定义快捷键,快速一键切换主题;
  • 壁纸同步:支持设置不同的浅色与深色壁纸,并自动联动切换;
  • 夜间模式联动:可与 Windows 夜间护眼模式同步开启,晚上使用更护眼;
  • 多屏幕支持:在多显示器环境下也能独立切换壁纸和主题;
  • 脚本扩展:支持自定义脚本功能,可联动控制终端、亮度、浏览器背景等,实现高级自动化;
  • 性能轻量:后台占用极低,不影响系统性能。

如果我想切换深浅色模式的同时还能调节显示器的亮度,Auto Dark Mode 目前还没有自带这个功能,不过它支持自定义脚本,我们可以来扩展这项功能。

自动调节显示器亮度

  1. 创建一个Powershell 脚本文件:”D:\WinServices\SetLight\AdjustBrightness.ps1”

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    param([int]$brightness)

    $logPath = "D:\WinServices\SetLight\log.txt"

    try {
    # 强制转换,确保万无一失
    $b = [System.Convert]::ToByte($brightness)

    # 方案 A: 尝试调用方法
    $monitors = Get-WmiObject -Namespace root\wmi -Class WmiMonitorBrightnessMethods
    foreach ($m in $monitors) {
    # 注意这里的 0 是超时时间(秒)
    $m.WmiSetBrightness(0, $b)
    "$(Get-Date) - Method Call Success: $brightness%" | Out-File $logPath -Append
    }
    }
    catch {
    "$(Get-Date) - Method Failed, trying Property Set: $($_.Exception.Message)" | Out-File $logPath -Append

    # 方案 B: 如果方法报错,尝试直接修改 WmiMonitorBrightness 类的属性(这是很多笔记本的后路)
    try {
    $monitors = Get-WmiObject -Namespace root\wmi -Class WmiMonitorBrightness -ErrorAction Stop
    foreach ($m in $monitors) {
    # 有些驱动允许直接通过 Set-WmiInstance 修改
    Set-WmiInstance -InputObject $m -Arguments @{Active=$true; CurrentBrightness=$b}
    "$(Get-Date) - Property Set Success: $brightness%" | Out-File $logPath -Append
    }
    } catch {
    "$(Get-Date) - Final Error: $($_.Exception.Message)" | Out-File $logPath -Append
    }
    }
  1. 启动 Auto Dark Mode,点击左侧菜单的【脚本】,点击“打开配置文件”,修改配置文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Enabled: true
    Component:
    Scripts:
    - Name: "SmartBrightness"
    Command: "powershell.exe"
    ArgsLight: ["-ExecutionPolicy", "Bypass", "-Command", "& 'D:/WinServices/SetLight/AdjustBrightness.ps1' -brightness 80"]
    ArgsDark: ["-ExecutionPolicy", "Bypass", "-Command", "& 'D:/WinServices/SetLight/AdjustBrightness.ps1' -brightness 70"]
    AllowedSources: [Any]
    ExecuteOnDay: true
    ExecuteOnNight: true

    上面配置文件中的 80 和 70 为切换到浅色模板和深色模式时的亮度值,可以自定义修改。

  2. 返回到界面,如果在【脚本】这栏的“启用自定义脚本”已启用,且没有显示错误,则配置成功。

  3. 手动切换主题试试,看亮度是否有跟随主题模式变化而变化。

ℹ 当前版本信息

  • Service/App: 11.0.0.54
  • .Net: 9.0.8
  • Windows: Windows 11 25H2 26200.7462
  • Arch: X64

评论