- 这是一个粗略的局域网监控程序(说是局域网,你放外网也不是不行)
- 使用组件式,非常方便扩展,可由 内存共享(MemoryMappedFiles) 提供自己定义数据
- 内存占用小,(非定时,自动GC),linux无解
- 使用 MemoryPack、SharpDX、NAudio
- 桌面捕获,捕获鼠标,sharpDX
- 登录界面捕获和登录页面键盘输入
- 双指画面缩放
- 区域热更新
- 功能禁用,禁用各种系统功能 regedit
- 任务栏锁定,任务栏设置,任务栏菜单
- 任务管理器
- 注册表编辑,组策略编辑
- 设置,保存设置
- 修改主题,修改壁纸,颜色外观
- 桌面图标
- 屏幕保护,唤醒登录,关屏锁屏
- 关机按钮,注销按钮,锁定按钮,修改密码,切换用户
- 安全SAS
- 禁用U盘
- 系统信息,展示CPU,内存利用率,硬盘使用率,发呆时间 win api
- 音量控制,音量和静音 NAudio
- 音频峰值,展示音频峰值,是否在播放音视频,及激昂程度 NAudio
- 系统亮度,暂不支持外界显示器 WMI
- 模拟键盘,键盘操作,模拟ctrl+alt+delete,模拟win+l,等等 win api
- 模拟鼠标,鼠标操作 win api
- 程序限制,分为禁止打开程序,和自定检测关闭程序 regedit
- 前景窗口,当前焦点程序捕获,手动关闭之 win api
- 时间统计,查看程序使用时间记录
- 网络限制,程序,域名,IP 黑白名单
- 网速显示,由网络限制组件提供
- 消息提醒,向设备发送消息提醒 winform
- 全局广播,向所有设备发送广播 winform
- 语音消息,向设备发送语音消息 NAudio
- 发送命令,执行cmd命令,等等
- 屏幕共享,以某一设备为主机,向其它设备共享屏幕,用于演示 sharpDX
- 壁纸程序,为所有设备设置统一壁纸,以程序的方式 winform
- 键盘按键,显示键盘按键(当前键盘按键由壁纸程序提供) win api
- 锁屏程序,打开锁屏程序,禁用键盘 winform
- 设备用户,显示当前使用设备用户姓名 MemoryMappedFiles
- 【--mode】 运行模式 client,server
- 【--report-delay】 数据报告间隔ms 30
- 【--screen-delay】 屏幕报告间隔ms 200
- 【--screen-scale】 屏幕图片缩放比例 0.2 默认1/5
- 【--name】 机器名
- 【--server】 服务器ip 192.168.1.18
- 【--service】 服务端口 1802
- 【--share-key】 自定数据共享 cmonitor/share,每项数据长度255,klen+key+vlen+value
- 【--share-len】 数量 10,默认10项位置,0键盘、1壁纸、2锁屏,3 SendSAS,-1项保留自用不可动
- 【--web 8C59 】 管理UI端口 1800
- 【--api】 管理接口端口 1801
- 【--service】 服务端口 1802
- 也可以运行 comitor.install.win.exe 进行安装操作
- 计划任务可以用ONLOGON以在用户登录系统后运行任务,但是有时候需要在登录前就启动程序,以远程操作解锁系统,那就需要以ONSTART创建任务,但是某些系统下,ONSTART无法运行,因此,在 Ctrl+Alt+Delete 服务中有第四参数,填入主程序启动参数,可以在此服务中启动主程序
params = " --report-delay 30 --screen-delay 200 --screen-scale 0.2";
//client
params += " --mode client --name cmonitor --server 192.168.1.18 --service 1802";
params += " --share-key cmonitor/share --share-len 2550";
//server
params = " --mode server --web 1800 --api 1801 --service 1802";
schtasks.exe /create /tn "cmonitor" /rl highest /sc ONSTART /delay 0000:30 /tr "\"{exePath}\"{params}" /f
必须以windows service方式运行cmonitor.sas.service.exe 才能使用SendSAS模拟Ctrl+Alt+Delete,{params}为主程序启动参数,不填则不在此服务内启动主程序
sc create "cmonitor.sas.service"
binpath="xx\xx\cmonitor.sas.service.exe {--share-key} {--share-len} 3 {params}"
start=AUTO
//1、下载linux版本程序,放到 /usr/local/cmonitor 文件夹,并在文件夹下创建一个 log 目录
//3、写配置文件
vim /etc/systemd/system/cmonitor.service
[Unit]
Description=cmonitor
[Service]
WorkingDirectory=/usr/local/cmonitor
ExecStart=/usr/local/cmonitor/cmonitor --mode server --web 1800 --api 1801 --service 1802
ExecStop=/bin/kill $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target
//4、重新加载配置文件
systemctl daemon-reload
//5、启动,或者重新启动
systemctl start cmonitor
systemctl restart cmonitor
docker镜像 snltty/cmonitor-alpine-x64 or snltty/cmonitor-alpine-arm64
docker run -it -d --name="cmonitor" \
-p 1800:1800/tcp -p 1801:1801/tcp -p 1802:1802/tcp -p 1802:1802/udp \
snltty/cmonitor-alpine-x64 \
--entrypoint ./cmonitor.run --mode server --web 1800 --api 1801 --service 1802
- nodejs 16.17.0 vue3.0 web
- netframework 4.5 加入环境变量,以使用msbuild,应该是 C:\Windows\Microsoft.NET\Framework\v4.0.30319 目录
- NET7.0 SDK 主程序
- 进入根目执行
./publish-extends rem 生成web和netframework
./publish rem 发布主程序
- 在 /public/publish 目录下查看已发布程序