如何使用C#语句编写重启、关闭局域网计算机的代码?这得注意几个问题,希望大家能够真心阅读此文。经过本站严格测试,如下代码正确无误。
编程环境为:VS2005
一、前提条件
首先要将Management组件引用到项目文件中。
添加引用方法为:执行菜单“项目”→“添加引用”。
在弹出的对话框中,选择.net选项卡,然后,在组件名称列表中找到“System.Management”并选择,然后点击“确定”按钮,这样,Management组件就添加到项目文件了。最后,再using中,再次引用Management组件。因此,using引用代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.Runtime.InteropServices;
using System.IO;
using System.Management;//这一项很重要哦
二、关闭、重启局域网计算机代码
ConnectionOptions op = new ConnectionOptions();
op.Username = "administrator";//或者你的帐号(注意要有管理员的权限)
op.Password = "登陆密码"; //你的密码
ManagementScope scope = new ManagementScope("\\\\" + 这里填写计算机名称或计算机IP地址 + "\\root\\cimv2", op);
try
{
scope.Connect();
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(scope, oq);
//得到WMI控制
ManagementObjectCollection queryCollection1 = query1.Get();
foreach (ManagementObject mobj in queryCollection1)
{
string[] str = { "" };
mobj.InvokeMethod("ShutDown", str);
}
}
catch
{
}
以上代码是关闭局域网计算机的代码。注意哦,需要修改的地方只有三处,那就是登陆局域网计算机的用户名、密码和计算机名称或者是计算机的IP地址。
只需要将如上代码的 ShutDown 改为 Reboot 就成为重新启动局域网的代码了。
上述代码,均使用到WMI涉及的技术。
当然,如果您想通过C#编写唤醒局域网计算机的功能,也是可以的。今后,本站再添加与唤醒功能相关的技术文章,敬请期待。