C#程序实现远程开关机?给点思路吧

解决方案 »

  1.   

    C#远程关机代码:方法1//按钮点击事件private void button1_Click(object sender, EventArgs e)
            {
                //此处需要添加System.Management的引用
                ConnectionOptions op = new ConnectionOptions();
                //获取远程计算机的用户名
                op.Username = txtAdmin.Text.Trim();
                //获取远程计算机的密码
                op.Password = txtPassword.Text.Trim();            ManagementScope scope = new ManagementScope("\\\\" + textBox1.Text + "\\root\\cimv2", op);            scope.Connect();            ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);            ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject obj in queryCollection)
                {
                    obj.InvokeMethod("ShutDown", null); //命令换成reboot就是重启
                }         }   方法2ConnectionOptions options = new ConnectionOptions(); 
       
      options.Username = textBox2.Text; //用户名 
      options.Password = textBox3.Text; //用户口令 
      try 
      { 
       ManagementScope Conn = new ManagementScope("\\\\" + textBox1.Text + "\\root\\cimv2", options); 
       Conn.Connect(); 
       //确定WMI操作的内容 
       ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); 
       ManagementObjectSearcher query1 = new ManagementObjectSearcher(Conn, oq); 
       //获取WMI操作内容 
       ManagementObjectCollection queryCollection1 = query1.Get(); 
       //根据使用者选择执行相应的远程操作 
       foreach (ManagementObject mo in queryCollection1) 
       { 
        string [ ] ss= { "" }; 
         
        if (comboBox1.Text == "重新启动") 
         mo.InvokeMethod("Reboot", ss); //执行重启操作 
        else if (comboBox1.Text == "远程关机") 
         mo.InvokeMethod("Shutdown", ss); //执行远程关机 
        else 
         MessageBox.Show ("选择不正确的操作!", "错误!"); 
       } 
      } 
      catch(Exception ee) 
      { 
       MessageBox.Show("连接" + textBox1.Text + "出错,出错信息为:" + ee.Message ); //报错 
      } 
      

  2.   

    开机可以看看这里http://www.cnblogs.com/whssunboy/archive/2007/12/05/984059.html
      

  3.   

    远程开关机实现到不难不过需要有两个前提条件
    1。你必须有足够的管理权限
    2。远程机必须在bions里开启了远程唤醒功能
      

  4.   

    和shutdown -i没区别,权限不够没戏!