我想做一个远程关机的软件,大体的工作套路这样的一台服务器,50台工作站在服务器端运行一个控制端,工作站WIN98一启动自动运行客户端软件和服务器建立连接,
并把自己的电脑名IP地址信息传给服务器端,服务器端收到后把信息动态加到LISTBOX里服务器端点选择LISTBOX里相应的工作站进行关机,此工作站就关机了,要求在打游戏的时候呢也强行的关机此类软件怎样做,有无源码,谢谢了
并把自己的电脑名IP地址信息传给服务器端,服务器端收到后把信息动态加到LISTBOX里服务器端点选择LISTBOX里相应的工作站进行关机,此工作站就关机了,要求在打游戏的时候呢也强行的关机此类软件怎样做,有无源码,谢谢了
用TCPSERVER和TCPCLIENT实现。
关机时要注意不同的系统内核,9X和NT是不同的,NT中需要特别权限。
要求在打游戏时也关机,搞个强迫关机试试。
2。SHOWDOWN。EXE
3。写程序,有点烦,MICROSOFT上也有
软件的编程我现在不懂以下两点,请问怎样来解决掉
1.客户端一开机自动运行软件,把电脑名和IP地址传到服务端软件,服务端把此电脑信息加入到LISTBOX里,结果为如果有55个客户端开机,那服务端的LISTBOX里有
55条,请问如何 当你点服务端软件的LISTBOX里任何一条记录再进行关机就自动关掉相对应的工作站呢2。如果工作站当前正在打游戏,那能不能接收到来自服务器端的关机信号呢
用ClientSocket ServerSocket不如 UDP效率高,而且占用一定的资源!按照游戏Application名称 来判断是否 启动游戏程序!1可以锁定进程(Game)
2可以强制关闭进程(Game)呵呵~~ 学校网络管理员呀?
server socket:做被控制端;
client socket:做控制端;
其他的可以参照聊天程序的制作方法;
当控制端接收到特定的字符串的时候,就进行特定的操作(比如:关机等)
如果想在客户机启动的时候启动被控制程序,可以进行修改注册表,
用的类是TRegistry,把这个程序加到启动项run中,为了安全可以在运行
客户端的时候把自身拷贝到系统的目录,并且通过修改注册表的方法,关联到
指定的文件类型,比如关联到*.txt文件。
注册表操作类:
USES
TRegistry
procedure ...... //自己定义过程
var x :Tregistry;
begin
x:=TRegistry.create;
x.ROOTKEY=HKEY_LOCAL_MACHINE;
x.openkey('自己定义的键',true);
x.close;
x.free;
end;
关机函数:
exitwindowex(ewx_shutdown,0); //关机
exitwindowex(ewx_reboot,0); //从新启动
exitwindowex(ewx_logoff,0);//注销
客户直接调用Api.客户端可以做成应用程序,可以做成组件