Skip to content

Releases: OUBIGFA/WinTray

v3.3.2

Choose a tag to compare

@github-actions github-actions released this 09 Oct 02:25

WinTray 3.3.2 让收纳更安全:WinTray 被强制结束后,被收纳的托盘图标会自动恢复。

主要更新

收纳图标自动恢复

  • 以前用任务管理器强制结束 WinTray.exe,被收纳的托盘图标会一直消失,只能重启对应程序找回。
  • v3.3.2 起,WinTray 随主程序运行一个独立的恢复进程。主程序被强制结束后,它把仍在运行的程序的原图标显示回来;程序自己隐藏或删除的图标保持原状态。
  • 恢复进程随主程序启动,恢复完成或正常退出后结束。同时结束整个进程树(同时结束主程序与恢复进程)时无法自动恢复。
  • 解压后请保持 WinTray-Recovery.exe 与主程序在同一文件夹。该文件缺失时,WinTray 不会隐藏原图标。

问题修复

  • 修复部分程序在重复注册托盘图标被拒绝后,不再响应后续托盘操作的问题(例如基于 Flutter 的程序)。升级后请正常退出并重新打开这些程序一次,之后不再需要。

配置兼容性

  • 旧版 settings.json 可以直接使用。

版本对比

项目 v3.3.1 v3.3.2
强制结束 WinTray 被收纳图标消失,需重启程序 自动恢复原图标
托盘图标重复注册 部分程序此后不再响应托盘操作 已修复

v3.3.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 04:05

WinTray 3.3.1 新增对启动器程序的支持,并修复任务栏残留按钮的问题。

主要更新

支持启动器程序

  • 某些程序的实际主程序与入口启动器同名,位于启动器的子目录中。
  • WinTray 以前只按完整路径比对,认不出这种程序。v3.3.1 起,两个文件的签名证书一致时即可识别,启动窗口可以正常收起。
  • 无法确认这种关系时,请在列表中添加实际运行的主程序 .exe。

问题修复

  • 修复部分程序启动后,任务栏残留一个点击无响应的程序按钮。

配置兼容性

  • 旧版 settings.json 可以直接使用。

版本对比

项目 v3.3.0 v3.3.1
启动器程序 认不出子目录中的同名主程序 签名证书一致即可识别
任务栏按钮 部分程序启动后可能残留无响应按钮 已修复

v3.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 02:43

WinTray 3.3.0 把界面从 walk 迁移到 mygo 自绘,并更新了启动顺序。

主要更新

界面迁移:walk → mygo

  • 旧版界面由 walk 的布局控件搭建,v3.3.0 改用 mygo 自绘渲染。
  • 收益:程序多时打开界面不再卡顿;关闭设置窗口后释放界面内存,后台占用更低。
  • 设置项、界面语言和用法保持原样。

启动顺序改用“序号”

  • 启动顺序改用“序号”列:选择数字,程序移动到该位置。不再用拖动排序。

配置兼容性

  • 旧版 settings.json 可以直接使用。
  • 源码构建需要 Go 1.27.1 或更高版本。

版本对比

项目 v3.2.1 v3.3.0
界面渲染 walk 布局控件 mygo 自绘
调整启动顺序 在列表中拖动 选择“序号”
后台占用 关闭设置窗口后仍占内存 释放界面内存

v3.2.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 03:32

WinTray 3.2.1 减少后台运行的开销,并让托盘收纳下的任务栏操作更跟手。

主要更新

不显示窗口时不再创建界面

  • 后台启动、开机启动后不弹窗时,只保留托盘和消息窗口,打开"更多功能"时才创建界面。
  • 登录启动更快,常驻占用更低。

任务栏操作更跟手

  • 托盘收纳的鼠标处理改用独立线程,不再与后台程序扫描、日志写入相互等待,任务栏图标的拖拽排序与点击更跟手。
  • 一次收纳多个程序时共用一次扫描,收纳更快。

问题修复

  • 打开设置失败时会给出提示,不再点了没有反应。
  • 消除多处空指针风险,长时间运行更稳定。

版本对比

能力 v3.2.0 v3.2.1
后台运行时的界面 启动时完整创建 打开"更多功能"时才创建
任务栏鼠标操作 与后台扫描共用线程 独立线程,互不影响

v3.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 00:24

WinTray 3.2.0 新增自动运行次数限制,可让程序在最近一段时间内只自动启动指定次数。

主要更新

限制自动运行次数

  • 每个程序可单独开启:最近 1–365 天内最多自动运行 1–1000 次,默认不启用,启用时默认 1 天 1 次。
  • 按最近天数滚动计次(1 天 = 24 小时),重启或跨午夜都不清零;用满后不再自动启动。
  • 只约束开机自动运行,手动打开和"立即启动"不受限。
  • 启用后接管程序原有的开机自启,关闭限制后恢复原有安排;需要管理员权限的任务首次会请求一次确认。

问题修复

  • 修复开启"托盘收纳"后,任务栏图标无法拖动排序的问题。

配置兼容性

  • 旧版 settings.json 直接可用,次数限制默认关闭。

版本对比

能力 v3.1.0 v3.2.0
自动启动 每次开机都会启动 可限定最近 N 天内最多自动运行 M 次

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 00:50

WinTray 3.1.0 新增托盘图标收纳,并支持按程序接管开机启动,开机时的窗口与图标都由 WinTray 统一管理。

主要更新

托盘收纳

  • 把指定程序已有的托盘图标从任务栏收进 WinTray 菜单:菜单沿用程序当前的图标和名称,左键等同单击原图标,右键打开程序自身的托盘菜单。
  • 需 Windows 11,仅支持 .exe。 取消勾选或退出 WinTray 时恢复原图标,收纳失败会尽量还原并记入日志。
  • 有程序启用托盘收纳时,WinTray 不再自动退出,并保留自己的菜单入口。

开机即启动

  • 新增第四种启动方式:只替换程序的开机触发方式,保留原自启的参数、静默行为和管理员权限;已有登录任务直接复用,不会重复启动。
  • 不参与错峰,在 WinTray 与桌面就绪后立即启动;新建管理员任务首次需确认一次。
  • 原入口缺失、被禁用或命令有歧义时直接报错,不猜测、不降级;这类程序请改用“正常启动”。
  • 暂停、移除程序或关闭 WinTray 自启时,替代任务被删除、启用状态还原,程序自身的自启不受影响。

自定义时间

  • 每个程序可单独设置:开机后 0–1440 分钟启动,运行满 0–1440 分钟后连同子进程一起退出(默认 30,0 表示不退出)。

启动顺序

  • 直接拖动程序即可调整开机启动顺序,错峰间隔按新顺序生效。

稳定性改进

  • “收进托盘”改为先隐藏窗口、到点再收起,保留程序原生托盘状态;收起失败或中途取消时窗口恢复可见。
  • 更新检查按语义化版本规则比较(含预发布后缀与构建元数据),不再误判版本新旧。

配置兼容性

  • 旧版 settings.json 直接可用,无需迁移:托盘收纳与“开机即启动”默认关闭,自定义时间默认不启用(自动退出默认 30 分钟)。
  • 关闭 WinTray 自启或取消勾选程序时,只停止 WinTray 的启动安排,程序自身的自启会保留或恢复。

版本对比

能力 v3.0.0 v3.1.0
托盘图标 仅为无图标的命令行程序代为提供 可把程序已有的托盘图标收进 WinTray 菜单
开机启动 WinTray 统一拉起列表程序 新增“开机即启动”,可接管程序原有自启入口
定时 无 可设定时启动与运行满时长后自动退出
启动顺序 按添加顺序 拖动调整

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 04:01

WinTray 3.0.0 重构了界面与交互,并系统优化了开机自启与后台运行,开机整理更快、更可靠。

主要更新

全新界面与交互重构

  • 主窗口拆分为开机启动项列表与设置两页,日常操作集中在列表页,设置项按开机启动、启动节奏、故障排查分组。
  • 列表勾选框控制该程序开机时是否启动;新增“启动方式”列,一眼看清每个程序的处理方式。
  • 每个程序的启动方式由原来的多个复选框改为三选一,互斥选项不再冲突:正常启动、收进托盘(可设收起前等待 0–600 秒,用于 QQ 这类先弹登录窗的程序)、后台启动。
  • 设置页每项一行:左侧名称与说明,右侧控件;依赖项随主开关自动灰显,窗口按内容自适应高度,超出屏幕时可滚动。
  • 点击窗口空白处会先提交正在编辑的内容,再清空选中;托盘右键菜单改用系统原生菜单。

开机自启改用登录计划任务

  • 自启方式由 Run 注册表项改为当前用户级登录计划任务(登录触发、最低权限、无需管理员),在登录瞬间启动,早于资源管理器逐项拉起的 Run 自启项,确保赶在受管程序之前就位;系统不接受时自动退回 Run。
  • 两个自启入口互斥,只保留一个,避免 WinTray 被启动两次。
  • 未开启开机自启时列表页直接提示并可一键开启;故障排查新增“删除登录计划任务”。

静默后台运行

  • 设置页底部与托盘右键菜单新增“后台静默运行”:隐藏设置窗口和 WinTray 自身图标,保留 syncthing、frpc 等托管程序图标;没有托管时立即退出,有托管时等最后一个结束再退出。再次运行 WinTray.exe 即恢复。

稳定性改进

  • 等待程序自启的超时由 120 秒延长到 300 秒。
  • 计划任务可能在任务栏就绪前启动 WinTray,托盘图标创建失败改为自动重试,期间受管程序照常处理。
  • 自启注册改为串行写入:反复切换开关或紧接着退出程序时,按最后一次请求生效,不留残留项。

配置兼容性

  • 旧版 settings.json 直接可用,本次无配置字段变化,无需迁移。
  • 升级后首次运行会按当前设置重建自启:新建登录计划任务并删除旧的 Run 项。

版本对比

能力 v2.0.0 v3.0.0
主界面 设置与程序列表混排一页 列表页与设置页分离
开机自启 HKCU 的 Run 注册表项 用户级登录计划任务,失败时回退 Run
后台运行 仅“任务完成后自动退出” 新增可随时进入的静默后台运行
等待程序自启的超时 120 秒 300 秒

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 03:58

WinTray 2.0 带来了全新的启动任务调度、窗口处理和控制台程序托盘托管能力,进一步提升复杂开机自启场景下的稳定性与可控性。

主要更新

错峰启动

  • 按受管程序列表顺序依次启动程序。
  • 默认启动间隔为 3 秒,可在全局设置中调整为 0–120 秒。
  • 已暂停、已运行、校验失败或启动失败的程序不会额外占用启动间隔。
  • 窗口检测、关闭延迟和外部自启等待均在后台并行执行,不会阻塞后续程序启动。
  • “立即启动”不受错峰启动间隔影响。
  • 仅对 WinTray 实际启动的程序进行错峰,不会修改 Windows 或其他程序已有的自启动配置。

外部自启动检测

  • 自动检测直接指向目标程序的 Windows Run 注册表自启项。
  • 支持检测 HKCU、HKLM 以及 32 位注册表项。
  • 尊重任务管理器中的自启动禁用状态。
  • 检测到程序由系统自启动时,WinTray 会等待现有实例,而不是再次启动,避免重复运行。
  • 等待超时后不会强制补启动,并会在日志中记录原因。

单程序关闭延迟

  • 每个受管程序可单独设置关闭延迟,范围为 0–600 秒。
  • 延迟从目标进程创建时开始计算。
  • 同时适用于 WinTray 启动的程序,以及程序自身开机自启动的实例。
  • 适合处理先显示登录窗口、启动窗口或更新窗口的程序。
  • 例如新版 QQ 可以等待登录完成后,再处理主面板,避免关闭登录窗口导致 QQ 退出。

控制台程序托盘托管

  • 自动识别控制台类型的 .exe 程序。
  • 对 syncthing.exe、frpc.exe 等没有原生托盘图标的程序,隐藏控制台窗口并由 WinTray 提供托盘图标。
  • 支持通过托盘菜单显示或隐藏程序窗口、结束托盘托管但保持程序运行,以及退出程序。
  • 所有托管图标由 WinTray 主进程统一管理。
  • 开启“任务完成后自动退出”时,只要仍有托管程序,WinTray 会隐藏设置窗口和自身图标并继续后台运行;最后一个托管结束后才退出。
  • 手动退出 WinTray 时,会先恢复被隐藏的程序窗口。

UI 与交互改进

  • 重构 Windows 原生 UI 布局。
  • 简化主窗口结构,优化程序列表和设置项排列。
  • 优化中文文案并统一功能术语。
  • 更新界面预览图和项目说明文档。
  • 自动退出模式下重新运行 WinTray,可打开已有实例的设置窗口,不会创建重复进程。

稳定性改进

  • 修复进程匹配、窗口匹配和启动恢复过程中的竞态条件。
  • 改进控制台窗口识别和托盘托管流程。
  • 修复托盘托管进程退出、窗口恢复及自动退出相关问题。
  • 改进日志文件的并发写入、文件锁和日志轮转处理。
  • 修复多进程同时写日志时可能出现的冲突。
  • 增强单实例、IPC 激活、启动队列和退出流程的可靠性。
  • 增加启动策略、窗口匹配、托盘托管、日志并发和恢复流程的测试覆盖。

配置兼容性

  • 旧版本配置可以继续使用。
  • 缺少 startupIntervalSeconds 的旧配置会自动使用默认值 3 秒。
  • 新增的关闭延迟默认关闭,不会改变已有程序的窗口处理行为。

版本对比

查看 v1.1.1 到 v2.0.0 的完整变更

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 15:38

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 08:16

Full Changelog: v1.0.0...v1.1.0