Skip to content

Repository files navigation

时间控制系统 - 使用说明

项目概述

这是一个局域网内的时间控制系统,包含客户端和控制端两个部分:

  • 客户端(ControlTimeService):安装在需要控制的电脑上,执行时间控制和应用程序监控
  • 控制端(ControlCenter):安装在管理员电脑上,用于远程管理所有客户端
  • 默认密码(MainWindow.xaml.cs):123456789

主要功能

1. 时间控制

  • 支持周一到周日分别设置不同的时间规则
  • 可配置每天的使用时长和休息时长
  • 午间限制(默认11:00-14:00)
  • 晚间限制(默认18:00-20:30)
  • 夜间自动关机锁定(默认20:30后)

2. 应用程序监控

  • 自动检测并阻止微信小程序游戏
  • 自动检测并阻止常见游戏程序
  • 检测到违规应用时自动锁屏

3. 远程控制

  • 远程查看客户端状态
  • 远程锁定/解锁客户端
  • 远程编辑客户端时间配置
  • 远程关闭客户端电脑

安装和配置

客户端安装

  1. 编译 ControlTimeService 项目
  2. 在需要控制的电脑上运行程序
  3. 如需连接控制端,创建 control_config.json 文件:
    {
      "server_url": "http://控制端IP地址:8080"
    }
  4. 程序会自动添加到开机启动项

控制端安装

  1. 编译 ControlCenter 项目
  2. 在管理员电脑上运行程序
  3. 服务器会自动启动并监听 8080 端口
  4. 确保防火墙允许 8080 端口的入站连接

使用方法

客户端使用

  1. 主界面

    • 显示当前状态和剩余时间
    • "暂停"按钮:立即进入锁屏状态
    • "时间配置"按钮:打开本地配置界面
  2. 配置时间规则

    • 点击"时间配置"按钮
    • 为每天设置不同的规则
    • 可配置使用时段、休息时长等
  3. 锁屏状态

    • 输入管理员密码解锁
    • 可选择临时使用时长

控制端使用

  1. 查看客户端列表

    • 自动显示所有已连接的客户端
    • 显示客户端名称、IP、状态、剩余时间等信息
  2. 远程控制

    • 右键点击客户端,选择操作:
      • 远程锁定:立即锁定客户端
      • 远程解锁:发送解锁命令
      • 编辑配置:修改客户端的时间规则
      • 远程关机:关闭客户端电脑
  3. 编辑配置

    • 选择客户端后点击"编辑配置"
    • 为每天设置时间规则
    • 点击"保存并应用"发送到客户端

技术细节

通信协议

  • HTTP RESTful API
  • 默认端口:8080
  • JSON 数据格式

API 端点

  • POST /api/clients/register - 客户端注册
  • POST /api/clients/heartbeat - 心跳保持
  • GET /api/clients - 获取客户端列表
  • GET /api/clients/{id}/commands - 获取待执行命令
  • POST /api/clients/{id}/status - 更新客户端状态
  • POST /api/clients/{id}/lock - 远程锁定
  • POST /api/clients/{id}/unlock - 远程解锁
  • POST /api/clients/{id}/config - 更新配置

安全说明

  • 管理员密码默认为:lnbxSoftLizhenNiping
  • 建议在 production 环境中修改密码
  • HTTP 通信未加密,仅在可信局域网内使用

故障排除

客户端无法连接控制端

  1. 检查 control_config.json 文件中的 IP 地址是否正确
  2. 确认控制端正在运行
  3. 检查防火墙是否阻止了 8080 端口
  4. 确认客户端和控制端在同一局域网内

控制端无法看到客户端

  1. 确认客户端已启动并配置了正确的服务器地址
  2. 检查网络连接
  3. 查看控制端的调试输出

应用程序检测不准确

  1. 微信小游戏通过窗口标题关键词识别
  2. 游戏通过进程名和窗口标题识别
  3. 可在 AppMonitor.cs 中调整检测规则

开发信息

技术栈

  • .NET 8.0
  • WPF (Windows Presentation Foundation)
  • System.Text.Json
  • Windows API (用于应用监控)

项目结构

ControlTimeService/
├── ControlTimeService/      # 客户端项目
│   ├── AppMonitor.cs        # 应用程序监控器
│   ├── TimeConfig.cs        # 时间配置管理
│   ├── HttpServer.cs        # HTTP 服务器(共享)
│   ├── HttpClient.cs        # HTTP 客户端
│   ├── ConfigWindow.xaml    # 配置界面
│   └── ...
├── ControlCenter/           # 控制端项目
│   ├── MainWindow.xaml      # 主界面
│   ├── ConfigEditorWindow.xaml  # 配置编辑器
│   └── ...
└── ControlTimeService.slnx  # 解决方案文件

许可证

本项目仅供学习和内部使用。

About

家长针对儿童的电脑时间管理工具

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages