一个更好看的 Windows 任务管理器
进程按应用分组,性能页看得懂,启动应用和服务也管得了。云母背景、深浅色、MiSans 字体,还能直接接管 Ctrl+Shift+Esc,打开就是管理员模式,不弹 UAC。
一眼看出谁在吃资源。 Chrome 的 23 个进程是一行,不是 23 行;应用、后台进程、Windows 进程分三段。CPU、内存、磁盘、GPU 的数字底下垫着柔和的热度色,占得越多颜色越深,扫一眼就知道该看哪儿。
每个进程都能单独处理。 选中一组,右边是它的 CPU 和内存曲线、文件位置,以及组里的每个进程。点一下跳到「详细信息」看命令行、用户、父进程和启动时间;鼠标移上去出现 ✕,可以只结束这一个。结束都要点两次,csrss、lsass 这类 Windows 离不开的进程不给结束。
性能页看得懂。 CPU 每个线程一格,性能核、能效核、低功耗核分开排;内存拆成在用、已修改、备用、可用;每块磁盘、每张网卡、每块 GPU 都有型号和曲线。旁边一栏直接列出谁在用 CPU、内存、磁盘、GPU,点名字就回到进程页。
启动应用和服务也管。 启动应用读注册表 Run 键和启动文件夹(快捷方式自己解析),启用和禁用写的是 Windows 任务管理器用的同一个开关,两边互通;指向的文件已经不在了会标红。服务能看状态、启动类型、描述、登录身份和可执行文件,能启动、停止、重新启动。
可以代替任务管理器。 设置里打开一个开关,Ctrl+Shift+Esc、任务栏右键、Ctrl+Alt+Del 打开的就都是 Pulse,直接是管理员模式,不弹 UAC。关掉就还给 Windows。
好看,也安静。 云母背景,跟随系统或者固定浅色、深色,字体用 MiSans。更新速度可以调高、调低或者暂停(暂停后按 F5 刷新),窗口也可以总在最前。
![]() |
![]() |
![]() |
![]() |
暂时没有安装包,装好 Go 1.27 自己编译:
git clone https://github.com/margbug01/Pulse.git
cd Pulse
go build -trimpath -ldflags="-H windowsgui -s -w" -o outputs/Pulse.exe .
.\outputs\Pulse.exe第一次打开会弹 UAC:和 Windows 任务管理器一样,Pulse 要管理员权限才看得到所有进程。拒绝也能用,只是系统进程的路径和图标读不到、也结束不了,侧栏随时可以「以管理员重启」。打开「代替任务管理器」以后就不会再弹了。
设置存在 %APPDATA%\Pulse\settings.json。
| 按键 | 作用 |
|---|---|
| Ctrl+F | 搜索。每页搜自己的内容,在性能页打字会转到进程页 |
| Delete | 结束选中的应用或进程,要按两次 |
| F5 | 立即刷新,暂停更新时也能刷新 |
| Ctrl+Shift+Esc | 打开 Pulse(打开「代替任务管理器」以后) |
在 设置 › 系统 › 代替任务管理器 打开(要先以管理员模式运行 Pulse)。打开时 Pulse 做两件事,和 Process Explorer 的「Replace Task Manager」是同一个办法:
- 在
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe写入Debugger = "Pulse.exe 的路径"。之后 Windows 每次要启动 taskmgr.exe,都会改为启动 Pulse。 - 建一个计划任务
Pulse Elevated,以你的账户、最高权限运行 Pulse。被 Debugger 拉起来的 Pulse 没有管理员权限,它会去运行这个任务,由任务启动管理员模式的 Pulse,所以不弹 UAC。Pulse 已经开着的话,就只是把它叫到最前面。任务还改掉了几个对笔记本不友好的默认值:用电池时也启动、不会在 72 小时后被结束、按正常优先级运行。
关掉开关,两样都会删掉。开着的时候别移动或删除 Pulse.exe,不然任务管理器会打不开。万一已经删了,在管理员终端里运行:
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /v Debugger /f
schtasks /delete /tn "Pulse Elevated" /f全是 Windows 自带的接口,不装驱动,不联网。
展开看每一项
| 内容 | 来源 |
|---|---|
| 进程、CPU 时间、内存(专用工作集)、I/O | NtQuerySystemInformation |
| CPU / 每核利用率、频率 | PDH \Processor Information(% Processor Utility,和任务管理器同一口径) |
| 核心类型 | GetLogicalProcessorInformationEx(效率等级 + L3 共享) |
| 内存构成、已提交 | GlobalMemoryStatusEx + PDH \Memory |
| 磁盘活动、读写、型号 | PDH \PhysicalDisk + IOCTL_STORAGE_QUERY_PROPERTY |
| 网卡 | GetIfTable2(只留真实、已连接的网卡) |
| GPU 利用率、显存 | PDH \GPU Engine、\GPU Adapter Memory,名字按 LUID 对 DirectX 注册表 |
| 应用 / 图标 / 描述 | EnumWindows、SHDefExtractIcon、AppxManifest.xml 的 logo、SHGetStockIconInfo、文件版本信息 |
| 用户名、命令行 | OpenProcessToken + LookupAccountSid、NtQueryInformationProcess(ProcessCommandLineInformation) |
| 启动应用 | Run 键、启动文件夹(.lnk 自己解析,包括只有 ItemID 列表的)、Explorer\StartupApproved |
| 服务 | EnumServicesStatusEx;配置读 HKLM\SYSTEM\CurrentControlSet\Services |
| 代替任务管理器 | IFEO 的 Debugger;schtasks /create /xml(HighestAvailable、用电池也启动、不限时长、正常优先级) |
- 按进程统计网络流量(要 ETW)、GPU 温度
- 应用历史记录、用户页;启动应用的「启动影响」和商店应用的启动任务
- 改服务的启动类型(先用「打开服务管理器」)
- 只在 Windows 11 上测过,Windows 10 上没有云母背景
磁盘那一列为什么比任务管理器大?
Pulse 算的是进程发出的全部读写字节,包括命中缓存、没真正落到磁盘的部分;任务管理器的磁盘列只算真正读写了磁盘的那部分。
杀毒软件会不会报?
「代替任务管理器」用到的 IFEO Debugger 和最高权限计划任务,也是一些恶意软件爱用的手法,个别杀毒软件可能会提示。这两样只在你打开开关时才写,关掉就删,代码全在 taskmgr_windows.go。
为什么不把字体打包进去?
MiSans 全套字重有 80 MB。主题写的是 MiSans, system-ui:装了就用,没装就用系统字体。想要可以去 MiSans 下载页 装上。
服务配置为什么读注册表?
QueryServiceConfigW 在加载了 MyGo 的进程里会在 sechost.dll 里访问违例(别的服务 API 都正常),所以启动类型、路径、登录身份、描述直接从 HKLM\SYSTEM\CurrentControlSet\Services 读,结果一样。
go test ./... # 加 -short 跳过读本机的测试
go build -trimpath -ldflags="-H windowsgui -s -w" -o outputs/Pulse.exe .- 开发时加
--no-elevate跳过 UAC。 - 界面测试用 MyGo 的
ui.Tester离屏渲染,PULSE_SHOTS=<文件夹> go test会把画面存成 PNG。 - README 的截图是假数据(图标取自本机装着的程序):
PULSE_README=<文件夹> go test -run TestReadmeShots,再python tools/shots.py <文件夹> docs/screenshots(要 Pillow 和 numpy)。 - 图标、版本和 manifest 在
rsrc_windows_amd64.syso,改了用 go-winres 重新生成:
go run github.com/tc-hib/go-winres@v0.3.3 simply --arch amd64 --icon resources/icon.png --manifest gui --product-name Pulse --file-description "Pulse 任务管理器" --product-version 0.3.0 --file-version 0.3.0 --original-filename Pulse.exe- MyGo:Go 的原生界面库,Pulse 的界面全靠它
- golang.org/x/sys:Windows API
- MiSans:小米的免费商用字体(不随 Pulse 分发)
- Process Explorer:代替任务管理器的办法




