该Python程序是一个基于PyQt6开发的系统信息检测工具,名为“科技之星-系统检测工具 v3.0”以上版本目前4.0版本正在优化中。源码科技之星已开源【学习研究随便折腾】
它能够收集并展示详细的系统信息,同时支持将报告保存为文本文件。以下是其核心功能的详细介绍:
【Python 原创】系统信息检测功能软件Ver.3.3版本免费开源(小白学习使用)

一、系统信息检测功能

1. 操作系统信息

  • 基础信息:获取并显示系统的产品名称(如“Windows 10 专业版”)、版本号、内部版本号(如Build号)。
  • 安装时间:通过注册表或系统接口精确获取系统安装日期。
  • 系统架构:检测系统是32位还是64位。

    2. 硬件配置信息

  • 处理器:显示CPU型号(如“Intel Core i7-12700K”)。
  • CPU核心数:区分物理核心数和逻辑线程数(如“12核/24线程”)。
  • 内存信息
    • 总内存、可用内存(自动转换为GB/TB等易读单位)。
    • 内存使用率百分比。

      3. 存储设备信息

  • 硬盘详情
    • 设备名称(如“C:\”)、挂载点、文件系统(如NTFS)。
    • 总空间、已用空间、可用空间及使用率。
    • 健康状态(仅支持Windows/Linux):通过WMIC(Windows)或smartctl(Linux)获取硬盘SMART状态,如“OK”或“警告”。
      1. 显卡信息
  • Windows:通过WMI或dxdiag命令获取显卡名称、显存大小、驱动版本、当前分辨率。
  • Linux:通过lspci命令检测显卡型号。
  • macOS:通过system_profiler获取显卡信息。

    5. 网络状态信息

  • MAC地址:获取活动网络接口的物理地址。
  • IP地址
    • 内网IP(通过活动接口检测)。
    • 外网IP(通过多个第三方API及UDP连接检测,支持故障转移)。
  • 网络配置
    • 默认网关(通过路由表获取)。
    • DNS服务器(从注册表读取,支持自动获取或手动配置)。

      二、界面交互功能

      1. 信息展示界面

  • 文本浏览器:以结构化格式显示检测结果,包含系统、硬件、网络等多个模块,支持快速浏览。
  • 样式设计
    • 清新的UI风格(背景色#f0f3f5,蓝色主题按钮)。
    • 标题、关键信息加粗,不同模块用分隔线区分,提升可读性。

      2. 操作按钮

  • 刷新检测:点击后重新获取并更新系统信息,支持实时监控。
  • 保存报告:将检测结果保存为文本文件(默认文件名包含时间戳),方便存档或分享。

    三、技术特性

    1. 多平台兼容性

  • 主要针对Windows开发,同时支持Linux和macOS的部分检测功能(如硬盘健康状态、显卡信息)。

    2. 错误处理与权限提示

  • 检测失败时弹出错误提示,提示用户检查管理员权限、网络连接或系统完整性。
  • 硬盘健康状态检测失败时,提示用户安装依赖工具(如Linux的smartmontools)。

    3. 数据格式化

  • 自动将字节大小转换为GB/TB等单位(保留两位小数)。
  • 网络信息中的MAC地址统一格式化为大写并以冒号分隔(如“00:1A:2B:3C:4D:5E”)。

    四、适用场景

  • 系统维护:快速获取电脑硬件和系统配置,辅助故障排查。
  • 技术支持:用户可将检测报告保存后发送给技术人员,便于远程诊断。
  • 性能监控:通过刷新功能实时查看内存、CPU使用率等动态数据。

    五、依赖库

  • PyQt6:用于创建图形界面。
  • psutil:获取系统资源(CPU、内存、硬盘、网络)信息。
  • winreg(Windows专用):访问注册表获取系统信息。
  • subprocess:执行系统命令(如WMIC、dxdiag、lspci)。
  • requests:获取外网IP时调用第三方API。
  • ctypes:部分系统接口调用(如Windows安装时间)。

    使用 pyinstaller 打包的准备工作

    pip install pyinstaller

    处理依赖库

    PyQt6:pyinstaller 通常能自动识别,但需注意 Qt 资源文件(如样式表)可能需要手动包含。
    psutil、requests、wmi、pywin32:这些库会被 pyinstaller 自动分析并打包,但部分系统依赖可能需要额外处理(见下文)。

    处理特殊依赖(Windows 系统)

    注册表和 WMI 依赖:
    winreg 和 wmi 依赖 Windows 系统组件,打包后在目标电脑上需确保系统完整性(一般无需额外操作)。

    dxdiag 和 wmic 命令:

    代码中通过 subprocess 调用了 dxdiag 和 wmic(用于获取显卡和硬盘健康状态),这些是 Windows 系统自带工具,无需打包,但需确保目标电脑为 Windows 系统且命令可用。

    打包命令示例(Windows)

    1. 基础打包(单文件模式)
      pyinstaller --onefile --windowed 系统检测报告3.3.py

      --onefile:打包为单个可执行文件(体积较大,但部署方便)。
      --windowed:隐藏命令行窗口(图形界面程序适用)。

      2、处理资源文件(如有)
      若代码中引用了外部文件(如图片、样式表),需通过 --add-data 参数包含:

      pyinstaller --onefile --windowed --add-data "style.css;." 系统检测报告3.3.py

      style.css;.:表示将当前目录的 style.css 复制到打包后的程序同目录。

      【推荐打包工具】

      【原创】Python打包单文件程序使用PyQt6开发的图形化工具

      通过以上功能,该工具能够全面、直观地展示系统状态,适合普通用户和技术人员使用。