一个用于紧急远程救援的管理系统,合并为单一本地应用程序。
RemoteRescue/
├── RemoteRescueApp/ # 合并后的单一应用程序 (.NET Framework 4.7.2)
│ ├── RemoteRescueApp.csproj
│ ├── App.config
│ ├── Program.cs # 程序入口
│ ├── MainForm.cs # 主窗口(带系统托盘)
│ ├── HttpServer.cs # 内置HTTP服务器
│ ├── SystemManager.cs # 系统管理功能
│ ├── ServiceManager.cs # 系统服务管理(任务计划程序)
│ ├── Properties/
│ └── WebResource/ # Web资源文件夹
│ ├── index.html # 登录页面
│ ├── main.html # 主控制台
│ ├── css/
│ │ └── style.css
│ ├── js/
│ │ ├── auth.js # 登录逻辑
│ │ ├── auth-check.js # 登录验证(防绕过)
│ │ ├── bg-random.js # 随机背景
│ │ └── main.js # 主页面逻辑
│ └── bg/ # 背景图片文件夹
│ ├── bg-1.jpg
│ ├── bg-2.jpg
│ ├── bg-3.jpg
│ ├── bg-4.mp4
│ └── bg-5.mp4
│
├── ClientService/ # Windows服务模式(备用)
│ ├── RemoteRescueService.csproj
│ ├── App.config
│ ├── Program.cs
│ ├── RescueService.cs # Windows服务主类
│ ├── HttpServer.cs
│ ├── SystemManager.cs
│ └── Properties/
│
└── publish/ # 发布输出目录
├── RemoteRescueApp.exe
├── WebResource/
└── README.txt
- WinForms界面:带系统托盘图标,可最小化到托盘
- 内置HTTP服务器:监听端口 8889,无需额外部署
- 自动启动:程序启动时自动启动HTTP服务
- 系统服务集成:支持注册为系统任务计划程序,开机自启(无需登录)
- 身份认证:统一密码
12345,防绕过验证 - 随机背景:每次刷新从
bg文件夹随机选择背景图片 - 实时信息:显示计算机名、用户名、操作系统、处理器、运行时间等
- Explorer监控:实时显示 Explorer.exe 的 PID、内存占用和 CPU 占用
- 三大救援功能:
- 重启RDP服务
- 重启Explorer
- 重启服务器
- 注册服务:将程序添加到系统任务计划程序,开机自动运行
- 卸载服务:从任务计划程序中移除
- 启动文件夹:同时添加到用户启动文件夹
- 状态监控:实时显示服务注册状态和运行状态
- 打开
RemoteRescueApp/RemoteRescueApp.csproj - 编译并运行
cd RemoteRescueApp
msbuild RemoteRescueApp.csproj /p:Configuration=Release- 运行
RemoteRescueApp.exe - 程序会自动启动HTTP服务(端口 8889)
- 点击"打开网页"或浏览器访问
http://localhost:8889 - 输入密码
12345登录
点击"注册服务"按钮:
- 将程序注册到系统任务计划程序
- 设置为系统启动时自动运行(无论用户是否登录)
- 使用 SYSTEM 账户运行,具有最高权限
- 同时添加到用户启动文件夹
将图片放入 WebResource/bg/ 文件夹:
- 支持格式:jpg, jpeg, png, mp4(视频背景)
- 建议尺寸:1920x1080 或更大
- 命名格式:
bg-1.jpg,bg-2.jpg,bg-3.jpg...
修改 WebResource/js/bg-random.js 中的 BG_IMAGES 数组添加新图片:
const BG_IMAGES = [
'bg/bg-1.jpg',
'bg/bg-2.jpg',
'bg/bg-3.jpg',
'bg/你的新图片.jpg'
];- 关闭窗口时程序最小化到系统托盘
- 双击托盘图标打开窗口
- 右键托盘图标可操作:打开/打开网页/退出
点击"查看日志"按钮可打开 self.log 文件,查看程序运行日志。
GET http://localhost:8889/api/status
POST http://localhost:8889/api/restart/rdp
POST http://localhost:8889/api/restart/explorer
POST http://localhost:8889/api/restart/server
- 默认密码为
12345,生产环境请修改HttpServer.cs中的CORRECT_PASSWORD - 登录验证采用 sessionStorage + 后端验证,防止直接访问main.html绕过登录
- 每次页面刷新会重新随机选择背景图片
- 服务运行在本地端口 8889,请确保网络安全
如需外部访问,开放端口8889:
netsh advfirewall firewall add rule name="RemoteRescue" dir=in action=allow protocol=tcp localport=8889- 应用程序:.NET Framework 4.7.2, C#, WinForms
- Web端:HTML5, CSS3 (毛玻璃效果), Vanilla JavaScript
- 通信:内置HttpListener
- 系统服务:Windows Task Scheduler (schtasks.exe)
- Chrome 80+
- Firefox 75+
- Edge 80+
- Safari 13+
https://github.com/linfon18/WinServerRemoteRescue.git
MIT License