图09:的设计界面
5. 把Visual Studio .Net的当前窗口切换到Form1.cs文件的编辑窗口,并用下列代码替换Form1.cs中的button1的Click事件对应的处理代码。下列代码的作用是对根据用户的选择对远程计算机进行进行相应的远程控制:
private void button1_Click ( object sender , System.EventArgs e ){ //确定WMI操作的范围 ConnectionOptions options = new ConnectionOptions ( ) ; //设定用于WMI连接操作的用户名 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 ) ; } }
6. 至此,在上述步骤都正确完成,并全部保存后,下面的全部工作就完成了。此时单击快捷键,就可以运行程序了。在程序的文本框中输入要控制的远程计算机名称或IP地址,在和文本框中输入具有WMI操作的帐户和口令,在组合框中选择对远程计算机的控制类型后,单击按钮,则程序就能够对指定的远程计算机进行相应的控制了。图10是的运行界面。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)图10:的运行界面
总结:
通过以上示例,可见WMI的确是一个非常有用的东西,但由于它还比较新,国内甚至国外还没有完整的介绍资料,因此只是简要的浏览了一下WMI的应用,希望本文的内容能够对大家了解、掌握使用Visual C#调用WMI的方法有所帮助。