news 2026/10/1 2:44:48

SystemInformer 工具提示弹得太快挡视线?3 处开关快速关闭悬停提示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SystemInformer 工具提示弹得太快挡视线?3 处开关快速关闭悬停提示

SystemInformer 工具提示弹得太快挡视线?3 处开关快速关闭悬停提示

【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer

SystemInformer(System Informer,一款 Windows 系统监控工具)的悬停工具提示是新手最常抱怨的干扰源:鼠标在进程列表里走两步,小弹窗就贴过来盖住正在看的列。想关掉它,其实只需要找到 3 处对应的设置开关:选项对话框里的即时提示复选框、注册表里的两个 DWORD 值,以及源码里的默认值。

先还原一下被提示挡住的现场

你在 Processes 页分析一棵有几十个子节点的进程树,鼠标从某个进程条目扫到另一个条目,每扫一个,一个小文本框就立刻贴上来,遮住后面的列标题。你想快速横向比较几个进程的内核时间和 CPU,视线反复被这个弹窗截断。

或者你在做录屏,提示框每次弹出都会出现在画面里,观感很乱。这两个场景背后是同一个问题:提示的"弹出时机"太积极,而 SystemInformer 把这件事拆成了两层开关,先搞懂它再动手。

工具提示为什么弹得这么快:两层开关加一个延迟旋钮

SystemInformer 把提示拆成了两件事。第一层是"要不要给单元格生成提示文本",由设置项EnableTooltipSupport控制,默认值 1(生成)。进程树里每个条目的提示文本是在你悬停时才现场组装的——查询系统信息、格式化版本与签名数据,文本还会缓存一段时间避免重复生成,生成逻辑在 SystemInformer/proctree.c(约 4873 行处)和 SystemInformer/itemtips.c。

第二层是"提示什么时候弹出来",由EnableInstantTooltips控制,默认 0。打开它后,程序会把 Windows 工具提示控件的弹出延迟直接设成 0,鼠标刚进单元格提示就出现;关掉时则保留标准等待时间。源码里的做法就一行,来自 SystemInformer/proctree.c:

SendMessage(TreeNew_GetTooltips(ProcessTreeListHandle), TTM_SETDELAYTIME, TTDT_INITIAL, 0);

TTM_SETDELAYTIME这条消息就是设置"鼠标悬停多久后提示才弹出"的旋钮,传 0 就是立刻弹。两个开关的宏定义都在 SystemInformer/include/phsettings.h(EnableInstantTooltips在第 242 行,EnableTooltipSupport在第 290 行)。

第一层:选项对话框里关掉即时提示(适合所有用户)

适合不想碰注册表、只想让提示慢下来的人。

  1. 在 SystemInformer 主窗口右上角点开 Options(选项)对话框,选中 General 页。
  2. 在列表里找到Show tooltips instantly这一行——它对应的就是EnableInstantTooltips设置,源码里注册这行的位置见 SystemInformer/options.c(第 1628 行)。
  3. 取消勾选,点 OK。

改完能看到什么效果:鼠标划过进程树、Services 或 Networks 列表时,提示不再立刻跟着鼠标出现,需要停留一会儿才弹。这一步改的是"弹出时机",提示本身还在;它适合"想要提示、但不想被它打断"的情况。注意:如果你的诉求是提示一个都不要,光做这一步不够,往下看。

第二层:注册表里两个 DWORD(适合想要提示完全消失的用户)

适合嫌提示烦、希望它们干脆不出现,或者想批量应用到多台机器的人。

SystemInformer 的选项保存在注册表HKEY_CURRENT_USER\Software\SystemInformer下(源码中的键名定义见 phlib/settings.c)。用 regedit 打开这个键,直接看或新建两个值:

  1. EnableInstantTooltips(DWORD,32 位),设为0:提示不再即时弹出。
  2. EnableTooltipSupport(DWORD,32 位),设为0:列表条目不再生成提示文本,进程树、模块列表、服务列表等位置的提示全部消失。

EnableTooltipSupport在界面上找不到对应复选框,只能在注册表或配置文件里改,这是它和第一个开关的区别。改完EnableInstantTooltips即时生效;改EnableTooltipSupport需要完全退出再启动一次程序。动手前可以先把这个注册表项导出留底,方便回退。

第三层:改源码默认值再重新编译(适合开发者)

适合要把"默认无提示"打包进自己分发的版本的人。

默认值集中写在 SystemInformer/settings.c(第 87 行):

PhpAddIntegerSetting(SETTING_ENABLE_TOOLTIP_SUPPORT, L"1");

把L"1"改成L"0",重新编译后的版本就默认不生成提示文本。同文件第 42 行的SETTING_ENABLE_INSTANT_TOOLTIPS默认已经是L"0"(即时提示默认关闭),不用动。要重新构建,先拿到源码:git clone https://gitcode.com/GitHub_Trending/sy/systeminformer,然后按 HACKING.md 里的构建说明走一遍。

改完能看到什么效果:任何机器上首次运行都没有提示,而且选项界面里没有开关能直接恢复它——这是刻意的取舍,恢复只能靠注册表把值改回 1 或再改源码。

怎么验证真的生效了,以及 5 个常见坑

验证方法很简单:把鼠标放到 Processes 页某个进程条目上停 3~5 秒。没反应,说明EnableTooltipSupport关到位了;过一会儿才弹,说明只是关了即时弹出,提示还在。再打开注册表确认EnableInstantTooltips等于 0,防止被界面勾选状态写回去。

几个容易踩的坑:

  • 键名是驼峰的EnableInstantTooltips、EnableTooltipSupport,别写成源码里的宏名SETTING_ENABLE_INSTANT_TOOLTIPS,写错等于没改。
  • EnableInstantTooltips的值方向是 1 开 0 关,很多人想关结果改成了 1,提示弹得比原来还快。
  • EnableTooltipSupport只在程序启动时读取一次(读取位置在 SystemInformer/mainwnd.c),改完不重启会以为没生效。
  • 注册表路径是HKEY_CURRENT_USER\Software\SystemInformer,不是 HKLM,也不是别的产品名。
  • Windows 系统设置的"悬停显示简单工具提示"开关管不到 SystemInformer 的自绘提示,别去那边找。
  • 插件页面的图表提示(GPU 负载、温度这类)是插件自己的开关,比如WmiProviderEnableTooltipSupport,上面两个设置管不到它,要去对应插件的选项里关。

按你的使用场景对号入座

使用场景EnableInstantTooltipsEnableTooltipSupport改哪里最省事
日常监控,偶尔想查进程信息01选项对话框取消勾选 Show tooltips instantly
录屏 / 教学演示00注册表两个值都设为 0
长时间盯性能图表分析00同上
自己编译分发、默认就要干净界面00源码默认值改 0,其余靠注册表

插件自带的图表提示是独立的开关(如 WMI Provider 的WmiProviderEnableTooltipSupport),演示前记得单独去插件选项里关一遍。

为什么这么设计

提示系统被拆成"生成"和"弹出"两层,生成侧每个列表各自决定给单元格拼什么文本,弹出侧统一交给 Windows 的延迟机制,插件还能通过回调往提示里追加自己的内容。这种"显示什么"和"什么时候显示"分离的做法,是 SystemInformer 整个可配置体系的缩影——你调到的从来不是某个写死的行为,而是两层各自暴露出来的旋钮。

【免费下载链接】systeminformerA free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ https://windows-internals.com项目地址: https://gitcode.com/GitHub_Trending/sy/systeminformer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 2:43:11

AI工业控制系统搭建实战:从边缘算力到控制回写的完整链路

1. 从"AI工业控制系统"这个词说起:它到底指什么先把概念掰开。工业控制系统(ICS)本身是个老话题,PLC、DCS、SCADA、HMI 这套东西在工厂里跑了几十年,核心逻辑是"采集—判断—执行"的闭环。那"…

作者头像 李华
网站建设 2026/10/1 2:42:19

Windows 驱动实例分析系列:libwdi 驱动分析 - examples 篇(五)

子文档五:Zadig 网络更新与配置解析模块 Zadig 支持自动检查更新,该功能由 zadig_net.c 和 zadig_parser.c 两个模块共同实现。本节将深入分析这两个模块的实现细节。 网络更新检查模块(zadig_net.c) 1. 网络连接检测 GetInternet…

作者头像 李华
网站建设 2026/10/1 2:40:21

anacoda虚拟环境管理

一、概述Anaconda 是一款专为数据科学、机器学习和人工智能领域设计的开源 Python/R 语言发行版。集成了 Python 解释器、Conda 包管理器、数百个预装的数据科学库(如 NumPy、Pandas、Jupyter Notebook 等)以及可视化管理工具。二、核心优势环境隔离&…

作者头像 李华
网站建设 2026/10/1 2:40:18

多用户商城架构实战:微服务拆分与高并发一致性设计

多用户商城这个场景,大概是Java技术栈里最能体现“全家桶”价值的项目了。用户、商品、订单、库存、支付、营销、物流、售后,每一个模块拆出来都能单独写一本书,合在一起又是一张复杂的依赖网。我用Spring Boot Spring Cloud MyBatis Redi…

作者头像 李华