纯Python + tkinter实现,零第三方依赖,打包成单文件夹直接用。
平时排查电脑问题,经常要开任务管理器、设备管理器、看启动项、查IP...每次都要在开始菜单里翻半天。干脆自己写了个小工具,把常用功能都塞到一个窗口里,8个标签页切换就行。
先看效果
软件界面长这样,深色终端风格,看着还挺舒服:
一共8个标签页,下面挨个说。
下载方式
夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。https://pan.quark.cn/s/1cb0b5a06bbehttps://pan.baidu.com/s/1dJY7gD5p6b-IriuR0FD-ew?pwd=8888
https://pan.baidu.com/s/1dJY7gD5p6b-IriuR0FD-ew?pwd=8888
功能一览
1. 系统信息
打开就能看到整机配置,不用再去"此电脑-属性"里翻:
- 操作系统版本、计算机名、当前用户
- CPU型号、物理核心数、逻辑处理器数
- 内存总容量、已用、可用
- 显卡型号
- 电池电量(笔记本)
- 所有磁盘分区的容量、已用、剩余、占用百分比
实测我这台机器:AMD Ryzen 9 7940HX + RTX 4070 Laptop,16G内存,C/D/E三个盘全部一目了然。
2. 进程监控
按内存占用排序,TOP 15进程直接列出来:
哪个软件吃内存一目了然,不用开任务管理器再点列排序。
3. 网络工具
上半部分是完整的 ipconfig /all 输出,下半部分自带Ping工具,输入域名直接测连通性:
4. 快捷启动
12个系统常用工具一键打开,不用在开始菜单里搜:
包括任务管理器、资源监视器、服务管理、设备管理器、磁盘管理、注册表编辑器等等。
5. 公网IP查询
有时候想查自己的公网IP(比如配远程桌面、做端口映射),不用开浏览器搜,点一下按钮直接出结果:
6. 启动项管理
这个是我觉得最实用的功能。以表格形式列出所有开机自启项:
- 每一项显示状态(启用/禁用)、名称、程序路径、位置
- 点表头可以按列排序,比如点"状态"就能把所有禁用的排到一起
- 选中一行点"启用"或"禁用",直接修改注册表生效
这里用的是Windows标准的 StartupApproved\Run 注册表机制,和任务管理器的"启动"标签页完全互通——你在这里禁用的项,打开任务管理器也会显示已禁用。
7. 临时文件清理
一键扫描系统Temp目录,看看占了多少空间,再一键清理:
我扫了一下,1700多个临时文件,快2G,清完立马释放。
8. 密码生成器
需要设密码的时候,自定义长度和字符类型,一次生成5个随机密码:
用的是 secrets 模块,加密级随机数,比random靠谱。
技术实现要点
整个软件纯标准库实现,零第三方依赖,打包后10MB左右。几个关键点:
1. 不用wmic获取硬件信息
新版Windows已经弃用wmic了,所以改用:
- CPU/显卡:读注册表 HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0
- 内存:GlobalMemoryStatusEx Windows API(ctypes调用)
- 磁盘:GetDiskFreeSpaceExW API遍历固定盘符
- 进程列表:PowerShell Get-Process 命令
2. 启动项启用/禁用原理
Windows任务管理器管理启动项,本质上是在注册表写了一个标志位:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
每个启动项对应一个二进制值,前4个字节:
- 02 00 00 00 = 启用
- 03 00 00 00 = 禁用
我们直接读写这个注册表项,就能实现和任务管理器一样的效果。
3. 打包方式
用PyInstaller打包,注意两个坑:
- 不要用--onefile:单文件模式会解压到临时目录运行,杀毒软件容易误报。改用 --onedir 模式,exe直接加载同目录dll,行为更像正规软件。
- 加版本信息:用 --version-file 参数嵌入公司名、产品名等信息,减少误报。
pyinstaller --onedir --windowed --name "SysInfo" --version-file version_info.txt --clean --noconfirm --noupx sysinfo.py
最后
这个工具大概200多行代码,核心就是调用Windows API和读注册表。写这个的初衷就是自己用着方便,结果用下来发现确实省了不少事——排查问题的时候一个窗口搞定,不用来回切系统设置。
软件是绿色免安装的,解压就能用。如果有想法改改或者加功能,直接改源码就行,结构很简单。
参考资料
- Python tkinter 官方文档:https://docs.python.org/3/library/tkinter.html
- PyInstaller 打包指南:https://pyinstaller.org/en/stable/
- Windows StartupApproved 注册表机制:https://learn.microsoft.com/en-us/windows/win32/shell/startup-approve
- GlobalMemoryStatusEx API:https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-globalmemorystatusex
- GetDiskFreeSpaceExW API:https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getdiskfreespaceexw