我编写一个机房管理系统,在服务器端控制其它计算机启动,关闭,如何实现?用socket通信作的。

解决方案 »

  1.   

    你的机房管理系统应该有客户端吧?server端通过socket传递一个关机标志给client,然后就OK了。
    我以前做过一个机房管理的系统,可以控制所有PC机关机和重启,开机是通过用食指单击机箱上的Power键
      

  2.   

    回复人: xixuemao(吸血猫) ( ) 信誉:100  2005-06-07 10:17:00  得分: 0  ……
    开机是通过用食指单击机箱上的Power键
    不服不行~~!
      

  3.   

    向客户端发送指令,让客户端执行如下代码
    用ExitWindowsEx()API 实现关机,
    在2000下要有相应的权限
    procedure Shutdown; 
    var 
    hToken:THANDLE; 
    tkp:TTokenPrivileges; 
    Rl:Dword; 
    begin 
    if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then 
      begin 
       LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid); 
       tkp.PrivilegeCount:= 1; 
       tkp.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED; 
       AdjustTokenPrivileges(hToken,FALSE,tkp,SizeOf(tkp),tkp,Rl); 
       ExitWindowsEx(EWX_SHUTDOWN or EWX_ForCE, 0); 
      end; 
    end; 
    开机请高手指教;
    估计得用到网卡唤醒