【C#】台站值班客户端挂机程序

3 篇文章 0 订阅


前言

  • *西广播电视技术中心,的台站值班客户端软件,在(某些电脑上)运行一段时间(数小时)会出现卡死现象,弹出多个程序错误窗口(内存溢出等),导致无法听到各系统的告警声音,必须手动结束值班客户端进程,再重新打开台站值班客户端软件。
  • 因台站值班客户端多在WindowsXP/Win7/Win10使用,所以选用了更为轻便的 C# 进行开发本程序的界面和功能。
  • 在24小时无人值班过程中,让电脑自动重启台站值班客户端,“挂机”相当于每天手动重启一次台站值班客户端,进而避免台站值班客户端卡死。
  • 加入了启动、关闭、重启台站值班客户端软件的功能,也可以在该挂机软件界面上选择台站值班客户端启动后所显示的(FM、TV等)系统界面。
  • 据说是因为插件或补丁的问题?总之以后可能不用这个台站值班客户端了。
  • 声明:本文和本程序的所有代码,除客户端软件的文件名之外,并未透露任何和台站值班客户端软件的程序文件和代码。

目标

  • 本挂机程序的目标:在初期配置好挂机程序的配置项后,投入使用挂机,让人员完全脱离键盘,只用鼠标操作,就可对台站值班客户端进行:
    启动(自动登录)、关闭(结束进程)、定时重启、选择启动后显示的不同系统(FM、TV、AM),降低因客户端卡死所造成的风险。

需求

  1. 按键功能:
(1)启动(自动登录)台站客户端,即,启动客户端后按一定的顺序自动点击相应坐标,并输入用户名和密码,进行登录动作;
(2)关闭台站客户端,结束台站客户端进程;
(3)每天定时重启一次台站客户端,重启的时间点可在配置文件修改;
(4)选择启动后显示的不同系统(FM、TV、AM);
(5)可选择是否静音台站客户端内的信号源系统;
(6)挂机功能:挂机的时候,每分钟检测台站值班客户端程序是否运行,若没有运行,则启动客户端;
  1. 软件为简单的图形界面,界面具有以上功能对应的按钮;
  2. 软件界面上可以输入自动登录所要输入的用户名(即密码);
  3. 在软件界面上选择所要启动的台站(值班客户端)exe 程序;

使用

GitHub

下载度盘 【65ex】

运行环境:Windows7 x64(推荐);.NET Framework 4.0(必要) 及以上

  1. 进入文件夹《台站客户端挂机程序》
  2. (可跳过)使用文本编辑器,打开 BOT_Client.exe.Config:
    (1)修改 userName 字段的值(字母和数字),即要输入的用户名和密码,如 bs247t
    (2)修改 rebootHour、rebootMin 字段的值(数字),即每天自动重启时间的时、分(默认02:30)
    (3)修改完成,保存退出
  3. 运行 BOT_Client.exe,即客户端挂机程序,配置选项进行挂机操作

注1:系统屏幕的显示缩放确认为100%,才可使用本程序!
注2:本挂机程序运行时,请不要修改 BOT_Client.exe.Config 文件,否则会导致挂机程序卡死,以后不会再修复此问题。


挂机软件功能介绍

1. 界面按键

screenshot

1.选择文件:选择版本日期正确的台站(值班)客户端.exe;
	会在“启动”和“挂机”之前比对所选文件的程序名称是否为“台站(值班)客户端.exe”,若文件不正确则不响应动作
2.启动、重启值班客户端
3.关闭客户端:关闭正在运行的值班客户端
4.开始挂机:每天在设定的时间重启一次值班客户端;
  停止挂机:开始挂机后会显示为“停止挂机”按键;
5.退出:退出挂机软件,但不关闭值班客户端。

2. 输入用户名和密码

直接在程序界面可以输入客户端的用户名,即密码;也可以进入配置文件修改;

选择系统界面

1.每天在规定的时间自动重启值班客户端
2.关闭值班客户端里的“信号源系统”声音
3.显示值班客户端里的“FM系统”
4.显示值班客户端里的“TV系统”
5.显示值班客户端里的“AM系统”

读取和保存配置

1.启动时会自动读取配置文件 BOT_Client.exe.config 中的各个配置项目:
	fullFilePath:台站(值班)客户端.exe 的完整文件路径 + 客户端程序名称
	autoReatart:每天定时自动重启值班客户端,勾选为true,不勾选为false
	silent:关闭“信号源系统”声音,勾选为true,不勾选为false
	sysShow:值班客户端启动之后显示的系统,调频系统为fm,电视系统为tv,中波系统为am
	stationVer:台站(值班)客户端.exe 的软件版本日期
	version:本挂机软件的版本号
	releaseDate:本挂机软件的发布日期
2.退出之前会自动保存各个配置项到配置文件。

桌面分辨率判断

直接用屏幕的宽度像素进行判断。在这里将桌面分辨率分为16:9和4:3两种:
4:3
1024*768, 1280*960,1152*864
16:9
1920*1080,1600*900,1280*720
其余分辨率当做4:3处理。

用到的辅助类

InputHelper:模拟鼠标和键盘的单个动作;将字符串转换为对应的键盘键码;切换输入法
ProcessHelper:进程相关动作,启动外部程序、结束进程、判断进程数量
ScreenHelper:获取屏幕分辨率、缩放比例等相关数据
CoordinateSettings:坐标集合:客户端窗口内部各个控件的坐标

本程序自动登陆台站值班客户端的流程

1.使电脑的Windows系统静音
2.屏蔽鼠标键盘,防止不必要的操作
3.键盘动作:最小化挂机软件窗口
4.模拟键盘动作:最小化桌面上所有程序的窗口
5.启动台站(值班)客户端.exe进程
6.(必要延时 >1.2s)
7.获得屏幕分辨率
8.模拟键盘动作:最大化值班客户端窗口
9.模拟键盘动作:自动输入用户名和密码(本台站的该版本都为 bs247t ),TAB和回车等等
(注:若更换要登陆的台站,则必须更换对应台站的用户名和密码,直接在挂机程序界面中修改对应的字串 )
10.(必要延时 >1s)
11.模拟鼠标动作:关闭信号源系统声音,选择显示的系统等等
12.解锁鼠标键盘
13.(必要延时>5s,用于静音“广西广播电视远程网络监控系统” )
14.解除系统静音

更新日志

2021-05-12

程序版本:V1.14(最终版)
台站客户端版本:不再要求客户端的版本,保证台站(值班)客户端的程序名称正确即可。

1.修改:输入用户名/密码,改为用键盘快捷键粘贴来输入,避开Win10的输入法切换问题;
3.修改:登陆成功后的静音时长增加到10秒;
3.修正:修正 1152*864 分辨率下的的软件界面下方各个子系统按钮的坐标;


2020-10-23

程序版本:V1.14

台站客户端版本:不再要求客户端的版本,保证台站(值班)客户端的程序名称正确即可。

更新内容:

1.配置文件 BOT_Client.exe.config:不再设置文件sha1值;只设置用户名,不再设置密码;不再设置重启时间的秒位;
2.修改:改为检测需要运行的客户端文件,是否文件名为 “台站客户端.exe” 或 “台站值班客户端.exe”;
3.修改:可选择的系统显示界面:调频、电视、中波;
4.增加:界面按钮坐标数据:下方控制各系统报警声音的相关按钮坐标;将所有按钮的坐标值整理为常量数组,方便调用;
5.增加:挂机程序界面可直接输入客户端的用户名/密码;
6.增加:运行本挂机程序后,自动切换系统输入法为英文
7.增加:辅助类 ScreenHelper:获取屏幕分辨率、缩放比例等相关数据
9.修改:校正键盘按键的个别键码值;修正键盘操作;修正鼠标操作;

2020-08-15

程序版本:V1.13

台站客户端版本:2019.07.10(优先) 或 2019.04.18(要修改配置文件里的 sha1值 和 stationExeName值)

更新内容:

1.增加客户端文件名的设置项,在 BOT_Client.exe.config 设置
2.不再进入电视系统界面,暂时改为进入电力系统界面
3.将界面按钮坐标数据抽出为常量,并重新校准
4.BOT_Client.exe.config 中,客户端文件的sha1值字符串不再要求全部小写
5.更改为VS2015项目
  • 待修复问题:
    挂机程序正在运行,修改配置文件 BOT_Client.exe.Config 的内容并保存后,挂机程序卡死

2019-09-26

程序版本:V1.12

台站客户端版本:至少为2019年,2017只为测试和演示使用

更新内容:

1.增加用户名和密码的设置项,在 BOT_Client.exe.config 设置
2.增加自动重启时间(时/分/秒)的设置项,在 BOT_Client.exe.config 设置
3.取消了程序的安装/卸载。使用时直接复制/删除文件夹

2018-02-20

程序版本:V1.11

台站客户端版本:2017.11.30

更新内容:
注:台站客户端从该版本开始,如果运行客户端的电脑不在台站内网,启动台站客户端.exe的时候,点击“进入”之后客户端程序会卡死,应该为研发部/枢纽台增加了不允许非台站内网的电脑运行台站客户端程序,就是说连不上台站内网,不让运行这个客户端。

更新内容:

1.开始挂机后,将“关闭客户端”按键失效,防止误点击关闭值班客户端
2.启动/重启客户端:加入文件判断(sha1),所选文件是否为设定指向的台站值班客户端.exe
3.选择文件:修改初始路径为F盘根目录

2017-07-07

程序版本:V1.10

台站客户端版本:2017.04.28

注:此版本作为第一版来投入使用。


结尾

本挂机程序,目前若无必要,不再继续更新。
若有联系需要,请通过本站私信,或请通过电子邮件 20024jok@163.com 联系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值