站开发技术培训,公众号如何做微网站,怎么搜索整个网站,链接式友谊C# 进行WMI操作的内容封装在System.Management.dll中#xff0c;具体的在MSDN有详细描述#xff0c;默认是用[“**’]去读取和设置属性等。 此处介绍一个自动生成强类型的包装软件#xff0c;这样处理起来就简单了很多#xff0c;不用在反复的查看参数等信息了。 1、 使用W… C# 进行WMI操作的内容封装在System.Management.dll中具体的在MSDN有详细描述默认是用[“**’]去读取和设置属性等。 此处介绍一个自动生成强类型的包装软件这样处理起来就简单了很多不用在反复的查看参数等信息了。 1、 使用WMIExplorer生成WMI对应的包装类 2、 针对生成类可以进行强类型操作。 WMIExplorer可以在http://www.primaltools.com/downloads/communitytools/中找到。 如上图示选择需要操作的CIM类别右键生成即可。生成类包括了各种属性和操作的方法。 以Win32_Process管理机器上的进程为例针对生成的类的操作方法 using ROOT.CIMV2.Win32;Process.StaticScope this.scope;
var ps Process.GetInstances();
foreach (var p in ps)
{
using(Process m p as Process)
{
System.Diagnostics.Debug.WriteLine(m.Name);
if (m.Name notepad.exe)
{
m.Terminate(1);
}
}
}
uint pid;
Process.Create(notepad.exe, null, null, out pid);
var my Process.GetInstances(this.scope, ProcessId pid.ToString());
if (my.Count 0)
{
var i my.GetEnumerator();
i.MoveNext();
Process p i.Current as Process;
p.Terminate(1);
}//另一种形式的对比 ManagementObject mo new ManagementClass(this.scope, new ManagementPath(MSFT_SIPESUserContactData), new ObjectGetOptions()).CreateInstance();mo[UserInstanceID] this.userId;mo[SIPURI] sip;mo[GroupID] groupIds;mo[Name] name;mo[Subscribed] true;mo.Put();SIPESUserContactData.StaticScope this.scope;SIPESUserContactData c SIPESUserContactData.CreateInstance();c.LateBoundObject[UserInstanceID] this.userId;c.LateBoundObject[SIPURI] sip;c.LateBoundObject[GroupID] groupIds;c.LateBoundObject[Name] name;c.LateBoundObject[Subscribed] true;c.CommitObject(); 以上可见由于生成类中包括了属性名字即使使用名字时直接参考类就行了。 方便了很多。 这个例子是操作进程和Office Communicator服务器上的联系人的操作示例等。 http://cid-56b433ad3d1871e3.office.live.com/self.aspx/.Public/WMIDemo.zip 转载于:https://www.cnblogs.com/2018/archive/2010/09/25/1834880.html