☰
Python写了一个Windows系统工具箱,8个功能一个exe搞定
2026/10/23 2:55:31 网站建设 项目流程

纯Python + tkinter实现,零第三方依赖,打包成单文件夹直接用。

平时排查电脑问题,经常要开任务管理器、设备管理器、看启动项、查IP...每次都要在开始菜单里翻半天。干脆自己写了个小工具,把常用功能都塞到一个窗口里,8个标签页切换就行。

先看效果

软件界面长这样,深色终端风格,看着还挺舒服:

一共8个标签页,下面挨个说。

下载方式

夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。https://pan.quark.cn/s/1cb0b5a06bbehttps://pan.baidu.com/s/1dJY7gD5p6b-IriuR0FD-ew?pwd=8888https://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和读注册表。写这个的初衷就是自己用着方便,结果用下来发现确实省了不少事——排查问题的时候一个窗口搞定,不用来回切系统设置。

软件是绿色免安装的,解压就能用。如果有想法改改或者加功能,直接改源码就行,结构很简单。

参考资料

  1. Python tkinter 官方文档:https://docs.python.org/3/library/tkinter.html
  2. PyInstaller 打包指南:https://pyinstaller.org/en/stable/
  3. Windows StartupApproved 注册表机制:https://learn.microsoft.com/en-us/windows/win32/shell/startup-approve
  4. GlobalMemoryStatusEx API:https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-globalmemorystatusex
  5. GetDiskFreeSpaceExW API:https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getdiskfreespaceexw

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询