一个极简美观的 Windows 系统监控工具,实时显示网络速度、CPU、内存、显卡使用率及温度信息。
-
网络监控
- 实时上传/下载速度显示(彩色标识)
- 今日流量累计显示
- 本周/本月流量统计
- 历史峰值速度记录
- 自动选择活动网卡,过滤虚拟网卡
-
硬件监控
- CPU使用率和温度
- 内存使用率
- 显卡(GPU)使用率和温度
- 集成LibreHardwareMonitor硬件库
-
系统信息
- 系统运行时间
- 硬盘读写速度
- 磁盘空间信息
- 本地IP和公网IP地址
- 超紧凑设计:58×420像素,两行显示,不遮挡工作区
- 系统托盘:图标显示在任务栏右下角,不占用任务栏
- 悬浮窗口:始终置顶,半透明效果
- 灵活透明度:Ctrl+滚轮调节或右键菜单选择(50%-100%)
- 精美布局:彩色数值,整齐对齐,一目了然
- 位置记忆:窗口位置自动保存
- 拖动窗口:鼠标左键拖动到任意位置
- 透明度调节:Ctrl+鼠标滚轮微调透明度(30%-100%)
- 系统托盘:双击托盘图标显示/隐藏窗口
- 右键菜单:快速访问透明度设置、详细信息、重置统计等
- 后台运行:关闭窗口不退出程序,继续后台监控
- 开机自启动支持
- 配置自动保存
- 统计数据持久化
- 低资源占用(<1% CPU,~50-80MB 内存)
- Windows 10/11(64位)
- .NET 8.0 Runtime(自包含版本无需安装)
- 管理员权限(推荐,用于读取温度信息)
- 确保已安装 .NET 8.0 SDK
- 克隆仓库:
git clone https://github.com/你的用户名/TrafficMonitor.git
cd TrafficMonitor- 运行程序:
dotnet run --project TrafficMonitor/TrafficMonitor.csproj- 以管理员身份运行(推荐,可读取温度):
# 右键PowerShell → 以管理员身份运行
cd TrafficMonitor路径
dotnet run --project TrafficMonitor/TrafficMonitor.csprojdotnet publish TrafficMonitor/TrafficMonitor.csproj -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true生成的可执行文件位于:TrafficMonitor/bin/Release/net8.0-windows/win-x64/publish/TrafficMonitor.exe
特点:
- 单个exe文件,约80-120MB
- 包含所有依赖和.NET运行时
- 可直接在任何Windows 10/11电脑上运行
dotnet publish TrafficMonitor/TrafficMonitor.csproj -c Release -r win-x64 --self-contained false特点:
- 约5-10MB
- 需要用户系统已安装.NET 8.0 Runtime
窗口操作:
- 拖动窗口:鼠标左键按住窗口拖动
- 调节透明度:按住Ctrl键 + 鼠标滚轮
- 右键菜单:透明度设置、详细信息、重置统计、退出
系统托盘:
- 托盘位置:任务栏右下角(可能需要点击^展开)
- 双击图标:显示/隐藏悬浮窗
- 右键图标:显示/隐藏窗口、详细信息、设置、退出
退出程序:
- 右键托盘图标 → 退出
- 或右键悬浮窗 → 退出
- 注意:直接关闭窗口只是隐藏,不会退出程序
配置和统计数据保存在:
%LocalAppData%\TrafficMonitor\
├── config.json # 配置文件(窗口位置、透明度等)
└── statistics.json # 统计数据(流量累计、峰值等)
普通权限:
- 可以监控网络速度
- 可以监控CPU和内存使用率
- 温度可能显示为0°C
管理员权限(推荐):
- 完整硬件监控功能
- CPU和GPU温度正常显示
- 所有性能计数器可用
┌──────────────────────────────────────────────┐
│ CPU: 25 % (50°C) 内存: 58 % 显卡: 23 % (0°C) │
├──────────────────────────────────────────────┤
│上传: 3.27 KB/s 下载: 16.61 KB/s 今日: 55.0 MB │
└──────────────────────────────────────────────┘
第一行: CPU使用率+温度 / 内存使用率 / 显卡使用率+温度
第二行: 上传速度(粉红色) / 下载速度(绿色) / 今日流量总计(橙黄色)
- 白色数值:主要监控数据(使用率、速度)
- 粉红色:上传速度
- 绿色:下载速度
- 橙黄色:今日流量累计
- 浅灰色:辅助信息(温度、单位)
- .NET 8.0 - 应用框架
- WPF - 用户界面
- MVVM - 架构模式
- LibreHardwareMonitorLib 0.9.4 - 硬件监控
- LiveCharts2 - 数据图表(预留)
- Newtonsoft.Json - JSON序列化
- Hardcodet.NotifyIcon.Wpf - 系统托盘
- System.Drawing.Common - 图标生成
TrafficMonitor/
├── Models/ # 数据模型
│ ├── MonitorData.cs # 实时监控数据
│ ├── NetworkStatistics.cs # 网络统计
│ └── SystemInfo.cs # 系统信息
├── Services/ # 核心服务
│ ├── NetworkMonitorService.cs # 网络监控服务
│ ├── HardwareMonitorService.cs # 硬件监控服务
│ ├── SystemInfoService.cs # 系统信息服务
│ ├── StatisticsService.cs # 数据统计服务
│ └── ConfigService.cs # 配置管理服务
├── ViewModels/ # 视图模型
│ └── MainViewModel.cs # 主窗口视图模型
├── Helpers/ # 辅助工具
│ ├── AutoStartHelper.cs # 开机自启助手
│ ├── IpAddressHelper.cs # IP地址工具
│ └── IconHelper.cs # 图标生成工具
├── Views/ # 视图(待扩展)
├── MainWindow.xaml # 主窗口UI
├── MainWindow.xaml.cs # 主窗口逻辑
└── App.xaml/cs # 应用程序入口
cd TrafficMonitor
dotnet run --project TrafficMonitor/TrafficMonitor.csproj- 右键点击PowerShell → 以管理员身份运行
- 执行上面的命令
dotnet publish TrafficMonitor/TrafficMonitor.csproj -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true生成的exe位于:TrafficMonitor\bin\Release\net8.0-windows\win-x64\publish\TrafficMonitor.exe
- 窗口位置:屏幕右上角或右下角
- 透明度:70-80%(既能看清又不遮挡)
- 运行方式:以管理员身份启动获取完整功能
- Ctrl + 滚轮:快速调节透明度
- 双击托盘图标:显示/隐藏窗口
- 右键悬浮窗:访问透明度菜单和功能
- 右键托盘图标:后台管理程序
配置文件:%LocalAppData%\TrafficMonitor\config.json
{
"WindowLeft": 100, // 窗口X坐标
"WindowTop": 100, // 窗口Y坐标
"WindowOpacity": 0.85, // 透明度(0.5-1.0)
"AlwaysOnTop": true, // 是否置顶
"AutoStart": false, // 开机自启动
"UpdateInterval": 1000, // 刷新间隔(毫秒)
"Theme": "Dark", // 主题
"FontSize": 12, // 字体大小
"ShowNetworkSpeed": true, // 显示网络速度
"ShowCpuInfo": true, // 显示CPU信息
"ShowMemoryInfo": true, // 显示内存信息
"ShowGpuInfo": true, // 显示显卡信息
"ShowTemperature": true // 显示温度信息
}- 确认已安装 .NET 8.0 Runtime(自包含版本除外)
- 尝试以管理员身份运行
- 等待3-5秒让监控服务初始化
- 检查是否以管理员身份运行
- 确认网卡和硬件驱动正常
- 必须以管理员身份运行
- 某些硬件可能不支持温度读取
- 更新主板和显卡驱动
- 检查任务栏右下角,可能在隐藏图标中(点击^展开)
- 检查Windows系统托盘设置
- 重启程序
- 窗口宽度已优化为420px
- 如果仍然截断,可以修改MainWindow.xaml中的Width值
- CPU占用:< 1%(闲时)
- 内存占用:约 50-80 MB
- 刷新间隔:1秒(可配置)
- 对系统影响:极小,适合常驻后台
- 基础监控功能
- 超紧凑悬浮窗UI
- 系统托盘功能
- 透明度调节
- 配置管理
- 数据统计
- 详细统计窗口(带历史图表)
- 设置窗口(可视化配置界面)
- 主题切换(浅色/深色)
- 多语言支持
- 性能优化
- 某些虚拟机或特殊网络环境下可能无法正确检测网卡
- 部分显卡可能无法读取温度信息
- 首次运行需要几秒钟初始化硬件监控
- LiveCharts包有兼容性警告(不影响使用)
欢迎提交Issue和Pull Request!
在提交PR前,请确保:
- 代码遵循项目的编码规范
- 通过编译且无错误
- 添加必要的注释和文档
MIT License
- LibreHardwareMonitor - 强大的硬件监控库
- LiveCharts2 - 优秀的图表库
- Hardcodet.NotifyIcon.Wpf - 系统托盘支持
作者:TrafficMonitor Contributors
版本:v1.0
更新日期:2025-10-11
超紧凑两行布局,清晰显示所有监控数据:
- 第一行:CPU、内存、显卡(含使用率和温度)
- 第二行:上传速度、下载速度、今日流量
蓝色圆形图标,带上传↑下载↓箭头,右键菜单提供快速操作。
注意:建议以管理员身份运行以获取完整硬件监控功能(包括温度信息)。