Repository navigation
顶部硬件监控条 v1.0.0
顶部硬件监控条 v1.0.0
在屏幕顶部正中用 1~2 行显示实时硬件状态的小工具。显示哪些数据、放第几行、什么顺序、
叫什么名字,全部在设置界面里点;默认鼠标穿透不挡操作,鼠标移上去时强烈淡化。
能显示什么
- CPU — 温度(读 MSR,读不到时退回 ACPI 热区)、占用率、频率、功耗、风扇转速
- GPU — 温度、热点温度、占用率、功耗、风扇转速、显存占用(走 NVAPI,不需要管理员)
- 内存 / 显存 — 已用 / 总量、占用率
- 网速 — 实时上下行,自动挑流量最大的网卡(也可指定或全部合计)
- 显示 — 显示器刷新率,以及用 DXGI 桌面复制实测的实时帧率
- 任意传感器 — LibreHardwareMonitor 枚举到的每个传感器都能单独加到条上
安装
- 下载下面的
SysMonitorBar-1.0.0-win-x64.zip,解压到任意目录 - 安装 .NET 8 桌面运行时(只装 Runtime,不需要 SDK)
- 双击
启动-管理员.cmd
也可以双击
启动.cmd免提权运行,CPU 温度 / GPU / 内存 / 显存 / 网速 / 刷新率 / 帧率 都正常,
只有依赖内核驱动的那几项读数会缺席。
已知限制
- CPU 温度:读 MSR 需要管理员权限、且内核驱动能成功加载。两者都不满足时会自动退回 ACPI 热区(免管理员,但读的是主板热敏电阻,数值偏低、变化也更迟钝)
- 风扇转速:只有硬件真的暴露了传感器才会出现。大量笔记本(包括开发这台 i9-11900H + RTX 3060 Laptop)压根没有风扇传感器,
nvidia-smi --query-gpu=fan.speed返回[N/A]是正常的 - 实时帧率:桌面完全静止时显示 0;独占全屏游戏和远程桌面会话下测不到(此时该项自动隐藏)。想要一直有数就用「刷新率」
- 界面目前只有中文(每一项的显示名都可以自己改成任意文字)
实测数据
在 Windows 11 24H2 (build 26200) / i9-11900H + RTX 3060 Laptop 上验证:
| 项目 | 数值 |
|---|---|
| 内存占用 | 约 130–160 MB(其中自身代码的托管堆只有 5 MB,其余是 .NET 运行时 + LibreHardwareMonitor + D3D11) |
| CPU 占用 | 约单核 4.7%(全机 0.29%) |
| 分配速率 | 162 KB/s,22 秒内 Gen0 GC 0 次 |
| 长时间稳定性 | 10 分钟采样,私有字节恒定 105.2 MB、句柄稳定,无泄漏 |
说明
- 框架依赖发布,所以需要 .NET 8 桌面运行时;不想要这个依赖可以自行
dotnet publish --self-contained,产物约 150 MB - 完整文档、配置项说明、以及开发过程中踩过的坑(COM 对象生命周期、
CreateParams覆盖扩展样式、批处理编码…)都在 README
