一套轻量级的 Windows 工具集,用于在学校机房环境中终止机房管理助手进程,恢复用户对个人电脑的控制权。不依赖U盘/命令行,无需联网,已在windows7虚拟机安装最新版机房管理助手的环境中实测通过
本项目包含两个独立的 C++ 程序,旨在帮助用户在学校机房中应对管理软件的过度管控:
- 1.cpp — 通用进程终止器,支持白名单机制,可自定义保护需要运行的窗口程序
- 2.cpp — 专用进程终止器,持续检测并终止
jfglzsn.exe(机房管理助手)进程
- 实时监听键盘输入(Esc / Tab 键)
- Esc 键:将当前最顶层窗口的进程 ID 加入白名单,保护该程序不被终止
- Tab 键:终止当前最顶层窗口的进程(若该进程不在白名单中)
- 按键映射可在源码中自由修改
- 使用
CreateToolhelp32Snapshot遍历系统所有进程 - 自动查找名为
jfglzsn.exe的目标进程 - 找到后立即强制终止,并输出进程 PID 供调试参考
- 持续循环运行,防止进程被自动重启
- 操作系统:Windows 7 及以上
- 编译器:Dev-C++或其他
- 语言标准:C++14及以上
- 依赖:仅依赖 Windows API(
windows.h、tlhelp32.h,Dev-C++中均自带),无需另外安装第三方库
须先确认实际电脑是否允许使用命令行工具,若允许,查看方法一,否则查看方法二
- 找到机房管理助手安装所在文件夹:一般可在
开始处找到并右键选择打开文件位置 - 随便选择其中一个文件,右键选择
属性,在目标位置一栏可以看到程序实际位置,复制 - 同时按下
windows+R,或在开始中搜索运行,唤出运行界面,输入cmd打开命令行,输入cd +刚刚复制的地址,如cd C:\q40967354\ - 命令行中输入
dir /a,可以查看到文件夹中所有文件,找到其中可能为主进程的程序名称,如main.exe/jfglzsn.exe/jfglzs.exe,复制 - 用 Dev-C++ 打开
1.cpp(无法使用U盘的可手动输入),编译运行 - 用 Dev-C++ 打开
2.cpp(无法使用U盘的可手动输入),将其中的jfglzs.exe替换为刚刚复制的程序名称,编译运行 - 将需要保护的窗口(如浏览器、IDE 等)置于顶层,按 Esc 加入白名单
2.cpp会自动持续关闭机房管理助手进程- 约 1 分钟后,管理助手可能触发蓝屏锁定(提示"进程关闭次数过多"),此时利用第一个程序,按 Tab 键可解除锁定
- 执行方法一中的前两步
- 新建一个C++文件,输入以下代码并编译运行:
#include<windows.h>
int main()
{
system("cd C:\\q40967354 && dir /a");
while(1);
}
注意:需将C:\\q40967354替换为实际地址
3. 运行后可以查看到文件夹中所有文件,找到其中可能为主进程的程序名称,如main.exe/jfglzsn.exe/jfglzs.exe,复制
4. 执行方法一中的5到9步
| 模块 | 核心技术 |
|---|---|
| 键盘检测 | GetAsyncKeyState 异步键盘状态查询 |
| 进程遍历 | CreateToolhelp32Snapshot + Process32FirstW / Process32NextW |
| 进程终止 | OpenProcess(PROCESS_TERMINATE) + TerminateProcess |
| 窗口识别 | GetForegroundWindow + GetWindowThreadProcessId |
- 本工具仅用于个人学习 Windows API 编程技术,请遵守所在机构的使用政策
- 在学校机房使用可能违反校规,请自行承担相应责任
- 部分杀毒软件可能误报,可将编译后的 exe 加入白名单
├── 1.cpp # 白名单进程终止器
├── 2.cpp # 专用进程终止器
└── README.md # 项目说明文档
本项目仅供学习 Windows API 编程技术使用,请勿用于任何违反法律法规或机构政策的场景。使用本工具所产生的任何后果由使用者自行承担。
MIT License