很简单,把关闭.重新启动,重新登陆的API写到服务器端的程序了,然后在要被控制的机器上运行,在在客户端通过UDP或TCP/IP发出一个字符(在服务器端进行判断,例如A代表关机)

解决方案 »

  1.   

    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);//关闭电脑
    ……其余的自己看着写了
      

  2.   

    怎么说呢?服务器端 1.接收客户端传来的标志 例如 : 传过来一个 字符A
     2.判断这个客户端传过来的标志 例如 : if 传过来的str='A' then 执行关机
     3.if 传过来的str='B' then 重启机的api
      

  3.   

    使用TClientSocket元件和TServerSocket