PowerSwitcher - Windows 电源计划托盘切换工具

PowerSwitcher - Windows 电源计划托盘切换工具

PowerSwitcher

一个放在 Windows 托盘里的电源计划切换工具。

它解决的问题很具体:当你在笔记本上来回切换“插电工作”和“电池续航”场景时,不想每次都打开控制面板、系统设置或命令行去找电源计划。PowerSwitcher 把这件事收进托盘右键菜单里,让“节能 / 平衡 / 高性能 / 卓越性能”这些模式变成一次点击就能完成的操作。

PowerSwitcher 设置窗口

为什么要做这个 fork

PowerSwitcher 基于原项目 petrroll/PowerSwitcher 改进而来。原项目已经提供了托盘切换、自动 AC/电池切换、开机启动和快捷键等基础能力。

这个 fork 的重点更偏向现代 Windows 11 使用体验:把配置集中到独立设置窗口里,补上中文本地化,处理 Windows 11 上常见的内置电源计划隐藏问题,并整理出更完整的安装包和 Release 发布流程。

Windows 11 的电源计划问题

在一些 Windows 11 笔记本上,尤其是使用 Modern Standby / S0 Low Power Idle 的设备里,powercfg /list 可能只显示“平衡”计划。

这并不一定代表其他内置计划完全不存在。节能、高性能、卓越性能这些计划可能仍然作为系统模板存在,只是没有复制成当前可见的电源计划。

PowerSwitcher 针对这个情况做了处理:当用户需要切换到缺失的内置计划时,程序会尝试使用系统内置模板 GUID 复制出对应计划,再激活它。

这让工具在新机器、重装系统后的笔记本,或者厂商只暴露单一电源模式的环境里更实用。

更谨慎的性能模式

高性能和卓越性能不是普通开关。

它们可能带来更高的功耗、发热、风扇噪音和更短的续航。PowerSwitcher 没有默认把这些模式直接暴露出来,而是在设置里增加了显式确认开关。只有用户确认允许后,才会显示和配置这些性能内置计划。

这个设计看起来保守,但很适合常驻托盘工具。它应该帮用户减少操作成本,而不是让用户在不知情的情况下把笔记本推到更耗电的状态。

自动切换

除了手动右键切换,PowerSwitcher 也支持根据供电状态自动切换电源计划。

例如:

  • 接入电源时切到“高性能”或“平衡”
  • 使用电池时切到“节能”
  • 保留托盘菜单,随时手动覆盖当前计划

这类自动化很适合移动办公场景。插上电源时追求性能,拔掉电源时优先续航,逻辑清楚,也不需要额外记忆。

设置窗口

这个 fork 将配置集中到了主窗口里,并提供 SettingsAbout 两个 tab。

设置项包括:

  • 界面语言
  • 可见电源计划类型
  • 是否显示和允许内置计划
  • 是否允许高性能 / 卓越性能
  • AC/电池自动切换规则
  • 是否随 Windows 当前用户开机启动
  • 检查 GitHub Releases 更新

这些配置原本分散在托盘交互、系统状态和启动项里。集中到一个窗口后,工具更像一个完整的 Windows 小应用,而不是只靠右键菜单拼出来的实用脚本。

技术栈

PowerSwitcher 是一个传统但可靠的 Windows 桌面项目:

  • 语言:C#
  • 运行时:.NET Framework 4.8
  • UI:WPF + Windows Forms 托盘集成
  • 电源计划操作:Windows power scheme API / powercfg 相关能力封装
  • 配置:本地配置文件与用户级设置
  • i18n:JSON 语言文件
  • 安装包:Inno Setup
  • 发布辅助:PowerShell 脚本 + GitHub Release

项目结构上分为核心电源计划库、托盘应用、安装包脚本和资源文件。核心逻辑负责枚举、激活和复制电源计划;托盘应用负责窗口、菜单、自动切换、启动项和更新检查。

适合场景

我觉得它适合这些场景:

  • Windows 笔记本用户经常在插电和电池模式之间切换
  • 开发、编译、游戏、出差等场景需要快速切换性能策略
  • Windows 11 只显示“平衡”计划,但仍希望使用节能或高性能模式
  • 想要一个轻量、常驻、可本地配置的电源计划工具

链接

View project link