WEB开发网
开发学院软件开发VC WMI(Windows管理规范)的一个实现 阅读

WMI(Windows管理规范)的一个实现

 2006-07-20 11:39:52 来源:WEB开发网   
核心提示: //控制内部的代码//声明一个Status的事件委托类型public delegate void Status(string e);//声明了一个更新状态的事件public event Status UpdateStatus;//更新状态条UpdateStatus("Hello
//控制内部的代码
//声明一个Status的事件委托类型
public delegate void Status(string e);
//声明了一个更新状态的事件
public event Status UpdateStatus;
//更新状态条
UpdateStatus("Hello world.");
//主程序代码
//用参数中的字符串刷新状态条的显示文本
private void refreshStatusBar(string stringStatus)
{
  //更新状态条
  statusBarStatus.Text = stringStatus;
}

Explorer 控制

在Explorer控制内部,我使用了WMI的Win32_LogicalDisk类来访问所有本地的及网络映射的驱动器。要访问驱动器的相关信息,我得先使用一个ManagementObjectSearcher对象来获取一个包含了我所需驱动器信息的ManagementOjbectCollection对象(译注:原文用的是class,我认为不准确,因此改译为对象)。之后,我们就可以自由支配所有这些驱动器的信息。(比如驱动器名、类型、卷标、标识等等)。你也可以只查询剩余空间低于1MByte的驱动器的信息,对此只需要改变ManagementObjectSearcher参数而已:

//译注:这句就是查询剩余空间低于1MByte的SQL语句,用在ManagementObjectSearcher的构造时。
//是不是很象一般数据库编程里用的SQL语句啊?
Select * From Win32_LogicalDisk Where FreeSpace < 1000000
//取得驱动器集
ManagementObjectSearcher query =
            new ManagementObjectSearcher ("SELECT * From Win32_LogicalDisk ");
ManagementObjectCollection queryCollection = query.Get();
//遍历每个对象,以获取每个驱动器的信息
foreach ( ManagementObject mo in queryCollection)
{
  switch (int.Parse( mo["DriveType"].ToString()))
  {
    case Removable: //可移动驱动器
      imageIndex = 5;
      selectIndex = 5;
      break;
    case LocalDisk: //本地驱动器
      imageIndex = 6;
      selectIndex = 6;
      break;
    case CD: //CD-ROM驱动器
      imageIndex = 7;
      selectIndex = 7;
      break;
    case Network: //网络驱动器
      imageIndex = 8;
      selectIndex = 8;
      break;
    default: //缺省:文件夹
      imageIndex = 2;
      selectIndex = 3;
      break;
  }
    
  //获取驱动器名
  Console.WriteLine("Drive: " + mo["Name"].ToString());
}

SystemInfo 控制

上一页  1 2 3 4 5 6 7  下一页

Tags:WMI Windows 管理规范

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接