Skip to content

Repository files navigation

WhitelistMute · 白名单静音

Platform .NET Framework

GitHub Release GitHub Last Commit License

一个 Windows 10/11 上的托盘静音小工具:只对「白名单」内的应用生效——切到后台自动静音,切回前台自动恢复声音,白名单外的应用完全不受影响。纯系统托盘,无可视化主窗口。

特性

  • 仅托盘运行:开机常驻,无主窗体、无弹窗。
  • 白名单静音:只处理你勾选的应用,前台放行 / 后台静音。
  • 两个菜单列表
    • 后台播放:当前正在播放声音的应用,勾选即加入白名单。
    • 白名单:所有已勾选的应用(含未在播放的),取消勾选即移出并立即恢复声音。
  • 退出/移出自动恢复:移出白名单或程序退出时,对应应用立刻取消静音。
  • 启动立即接管:开机自启后马上对白名单应用生效,无需等待。
  • 开机自启:托盘菜单一键开关(写入当前用户注册表 Run 项)。
  • 持久化:白名单存于 exe 所在目录/whitelist.conf,文本格式、每行一个进程名。
  • 单文件交付:构建产物为单个可执行文件,目标机免装(依赖系统 .NET Framework,Windows 自带)。

使用

  1. 运行 WhitelistMute.exe,系统托盘出现图标。
  2. 右键托盘 → 后台播放:在正在播放的应用上勾选,加入白名单。
  3. 该应用切后台即静音,切回前台自动恢复。
  4. 右键托盘 → 白名单:可查看/移除已勾选应用。
  5. 右键托盘 → 开机自启:设为开机自动运行。

存放位置提示

程序会把 whitelist.conf_error.log(仅出错时生成)写到 exe 所在目录。请放在普通用户目录(如 D:\Tools),不要放 Program Files 等受保护目录,否则无法保存配置。

编译

目标框架 .NET Framework 4.8,编译需 .NET SDK:

cd WhitelistMute
dotnet build -c Release

构建产物:bin\Release\net48\WhitelistMute.exe

目录结构

WhitelistMute/
├── Program.cs                 # 入口、单实例、启动崩溃日志
├── TrayApplicationContext.cs  # 托盘、菜单、开机自启、周期刷新
├── MuteEngine.cs              # 核心静音逻辑(前台放行/后台静音)
├── AudioSessionService.cs     # WASAPI 会话枚举与静音控制
├── ForegroundMonitor.cs       # 前台窗口进程检测
├── ConfigManager.cs           # 白名单文本持久化
└── WhitelistMute.csproj

许可证

WTFPL

AI 生成声明

本项目(含源代码与文档)由 AI 辅助生成,并经过人工复核与迭代调试。AI 生成内容可能包含错误、遗漏、过时或误导性信息,使用前请自行阅读代码并独立验证其行为。

本项目按「现状」(AS IS)提供,作者不提供任何明示或暗示的保证,也不对因使用本项目(或依据本项目做出判断)造成的任何损失承担责任。

About

设置白名单,让其中应用在后台自动静音的托盘小工具

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages