网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

WMI使用教程(译)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
onnect to the remote computer
ConnectionOptions co = new ConnectionOptions();

co.Username = textUserID.Text;
co.Password = textPassword.Text;

//Point to machine
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" +
stringHostName + "\\root\\cimv2", co);

现在我们结合刚才的知识来得到我们要的信息,但我们要得到那些我们想要信息呢?
那样的话我们就必须要用到ObjectQuery对象,通过它我们可以得到我们想要的查询
信息.把ObjectQuery对象和ManagementScope对象放入ManagementObjectSearcher对象
中这样就可以通过我们设置好的规范和我们设置好的查询得到我们想要的结果,当然
还必须要掉用ManagementObjiectSearcher的Get()方法,它会返回一个ManagementObject
对象的集合,然后可以通过结合操作来访问到每一个我们要的信息.

代码如下:
//Query system for Operating System information
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
query = new ManagementObjectSearcher(ms,oq);

queryCollection = query.Get();
foreach ( ManagementObject mo in queryCollection)
{
//create child node for operating system
createChildNode(nodeCollection, "Operating System: " + mo["Caption"]);
createChildNode(nodeCollection, "Version: " + mo["Version"]);
createChildNode(nodeCollection, "Manufacturer : " + mo["Manufacturer"]);
createChildNode(nodeCollection, "Computer Name : " +mo["csname"]);
createChildNode(nodeCollection, "Windows Directory : " + mo["WindowsDirectory"]);
}

要是你只是希望查看到本地主机的信息,你就没必要去创建 ConnectionOption, ManagementScope,ObjectQuery 对象,你仅仅只需要把ManagementObjectSearcher
对象的结果在ManagementObjectCollection集合里去调用Get()方法既可.

代码如下:
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * From Win32_OperatingSystem");
ManagementObjectCollection queryCollection = query.Get();

这里只是介绍了OS信息的方法,其它的如Bios,Memory.Network Connection等信息的查看
只需要把查询字改改就可以了!(可参考Platform SDK: Windows Management Instrumentation)

Service Control控件介绍:
该控件要用到一个新的查询字"SELECT * FROM Win32_Service",通过它我们就可以
得到系统中有那些服务存在.为了方便启动和终止一项服务我们可以在ListView中
动态的创建一个弹出式菜单,当用鼠标左击ListView中的Item的时候,可以用来启动
或终止一项服务.可以这样来指定你要的服务"SELECT * FROM Win32_Service WHERE
Name = ''ServiceName''",这个时候我们要调用ManagementObject.InvokeMethod()
来指定是终止还是启动一个服务.InvokeMethod()的第一个参数是一个ManagementBaseObject
的对象.它用作更具体的管理对象类的基类.我通过一个ManagementOperationObserver对象
管理异步操作和处理异步收到的管理信息和事件。可以由completionHandlerObj.ReturnObject
(为自定义类的属性)
属性返回值来判断是否成功.

代码如下:
/// <summary>
/// List view mouse down event to built context menu dynamically
/// </summary>
///
///
private void listViewServices_MouseDown(object sender, System.Windows.F

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号