简易的WMI操作工具类CWmiUtilities

简介:
     CWmiUtilities类是简易的WMI操作工具,它封装了Windows提供的部分WMI COM API,主要可用于读取或设置WMI实例的属性,比如可以通过WMI来读取,设置系统的各种信息,状态等。

用法:
     CWmiUtilities类形似于ADODB.RecordSet,具体用法参考如下代码(实现读取系统CPU信息的功能)。

//构造CWmiUtilities
CWmiUtilities wmi;
 
//连接到WMI命名空间“root\CIMV2”
if (!wmi.ConnectWmi("root\\CIMV2"))
{
    TRACE("连接到命名空间失败!\n");
    return;
}
 
//执行WQL语句
if (!wmi.ExecQuery("Select * From Win32_Processor"))
{
    TRACE("执行WQL语句失败!\n");
    return;
}
 
//遍历
CString str;
while(wmi.Next())
{
    //读取WMI实例的属性
    if (wmi.GetStringProperty("DeviceID",str))
    {
        TRACE("%s,",str);
    }
 
    if (wmi.GetStringProperty("Name",str))
    {
        TRACE("%s,",str);
    }
 
    if (wmi.GetStringProperty("ProcessorId",str))
    {
        TRACE("%s\n",str);
    }
}

输出结果:
CPU0,Intel(R) Pentium(R) D CPU 2.80GHz,BFEBFBFF00000F64
CPU1,Intel(R) Pentium(R) D CPU 2.80GHz,BFEBFBFF00000F64

http://files.cnblogs.com/dgx/WmiUtilities.rar

时间: 2024-10-06 10:28:43

简易的WMI操作工具类CWmiUtilities的相关文章

C# 一个简易的Producer-Consumer工具类

一.关于本文 本文中实现的PCHelper类是一个简易的Producer-Consumer操作工具类.该类可以实现如下目标:由多个线程向其中的一个Queue中写入数据,同时由多个线程负责接收Queue中数据进行处理. 二.工具类代码 /// <summary> /// Producer-Consumer操作类 /// </summary> public class PCHelper {     readonly object listlock = new object(); //线

小米开源文件管理器MiCodeFileExplorer-源码研究(4)-文件操作工具类FileOperationHelper

文件操作是非常通用的,注释都写在源代码中了,不多说~需要特别说明的是,任务的异步执行和IOperationProgressListener.拷贝和删除等操作,是比较费时的,采用了异步执行的方式~ Android异步执行,我也是初次了解,在CSDN上找了一篇文章,后续写个单独的例子,单独写1篇介绍.http://blog.csdn.net/xufenghappy6/article/details/7343899异步执行+事件通知 是一种比较流行的模式,比同步等待很多时候要好. 另外,特别需要说明的

FileUtils.java 本地 文件操作工具类

package Http; import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException; /** * * 本地文件操作工具类 *保存文本 *保存图片 * Created by lxj-pc on 2017/6/27. */public class FileUtils { public static void saveText(String cont

Code片段 : .properties属性文件操作工具类 &amp; JSON工具类

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 java.util.Properties 是一个属性集合.常见的api有如下: load(InputStream inStream)  从输入流中读取属性 getProperty(String key)  根据key,获取属性值 getOrDefault(Object key, V defaultValue)

[转载]C# FTP操作工具类

本文转载自<C# Ftp操作工具类>,仅对原文格式进行了整理. 介绍了几种FTP操作的函数,供后期编程时查阅. 参考一: using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net; using System.Globalization; namespace FtpTest1 { public class FtpWeb { string ftpServe

Java IO(文件操作工具类)

FileOperate实现的功能: 1. 返回文件夹中所有文件列表 2. 读取文本文件内容 3. 新建目录 4. 新建多级目录 5. 新建文件 6. 有编码方式的创建文件 7. 删除文件 8. 删除指定文件夹下所有文件 9. 复制单个文件 10. 复制整个文件夹的内容 11. 移动文件 12. 移动目录 13. 建立一个可以追加的bufferedwriter 14. 得到一个bufferedreader Java代码    package utils; import java.io.Buffer

Android工具类之日期操作工具类

/** * 日期操作工具类. */ public class DateUtil { /** * 英文简写如:2016 */ public static String FORMAT_Y = "yyyy"; /** * 英文简写如:12:01 */ public static String FORMAT_HM = "HH:mm"; /** * 英文简写如:1-12 12:01 */ public static String FORMAT_MDHM = "MM-

反射操作工具类

using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespace Framework.Utility { /// <summary> /// 反射操作工具类 /// </summary> public class ReflectionUtil { #region 根据反射机制将dataTable中指定行的数据赋给obj对象 /// <sum

[cocos2dx笔记012]一定简易的UI配置类

使用cocostudio可以装载编辑好的UI,但是过于复杂.特别是在加截UI后,发现触屏事件有些问题.如果直接使用程序写死加载UI又过于麻烦.花点时间,增加了一个基于ini的UI配置类,目前只实现了CCSprite和plist的加载.其它的可以后面慢慢加 头文件 #ifndef _X_UI_H_ #define _X_UI_H_ #include <cocos2d.h> namespace zdh { USING_NS_CC; void CreateByXUI(CCNode * paramPa