procedure TForm1.ToolButton20Click(Sender: TObject); //关机 var RegCode:array[0..29] of char; RegCodeStr:string; inputstring:string; begin inputstring:=InputBox('请输入地址','IP地址为',''); RegCodeStr:='shut'; StrpCopy(RegCode,RegCodeStr); NMUDP1.RemoteHost:=inputstring; NMUDP1.SendBuffer(RegCode,30); end;begin NMUDP1.ReadBuffer(CtrlCode,NumberBytes); sendhost:=FromIP; if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]+CtrlCode[4]+CtrlCode[5] ='reboot' then exitwindowsex(2,0);//重新启动电脑 if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]='shut' then exitWindowsex(ewx_shutdown,1);//关闭电脑 ……其余的自己看着写了
怎么说呢?服务器端 1.接收客户端传来的标志 例如 : 传过来一个 字符A 2.判断这个客户端传过来的标志 例如 : if 传过来的str='A' then 执行关机 3.if 传过来的str='B' then 重启机的api
var
RegCode:array[0..29] of char;
RegCodeStr:string;
inputstring:string;
begin
inputstring:=InputBox('请输入地址','IP地址为','');
RegCodeStr:='shut';
StrpCopy(RegCode,RegCodeStr);
NMUDP1.RemoteHost:=inputstring;
NMUDP1.SendBuffer(RegCode,30);
end;begin NMUDP1.ReadBuffer(CtrlCode,NumberBytes);
sendhost:=FromIP; if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]+CtrlCode[4]+CtrlCode[5]
='reboot' then exitwindowsex(2,0);//重新启动电脑 if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]='shut'
then exitWindowsex(ewx_shutdown,1);//关闭电脑
……其余的自己看着写了
2.判断这个客户端传过来的标志 例如 : if 传过来的str='A' then 执行关机
3.if 传过来的str='B' then 重启机的api