求VC版本如何利用WMI获得磁盘信息 VC/MFC / 进程/线程/DLL - 社区 community.csdn.net

本文介绍如何在VC中利用WMI(Windows Management Instrumentation)获取本地磁盘信息。通过引用System.Management.dll并创建SelectQuery,可以遍历Win32_LogicalDisk获取磁盘名称、类型和卷标。示例代码展示了查询和打印所有磁盘信息的方法。此外,文章还讨论了WMI的适用系统以及VC6中使用WMI的资源稀缺性。
摘要由CSDN通过智能技术生成
导读:


WMI使用技巧集  
   很多的朋友对WMI可能见过但理解不深,我也是十分想了解关于WMI的知识,可一直找不对太合适的资料,在网上的一些资料不是有很多错误,就是讲解不清,我有空的时候将关于WMI的知识集中一下,放在这里便于大家学习。本贴会不断增加。  
  1、   什么是WMI  
  WMI是英文Windows   Management   Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。  
  2、   如何用WMI获得本地磁盘的信息?  
  首先要在VS.NET中创建一个项目,然后在添加引用中引用一个.net的装配件:System.Management.dll,这样你的项目才能使用WMI。代码如下:  
  using   System;  
  using   System.Management;    
   
  class   Sample_ManagementObject  
  {  
    public   static   int   Main(string[]   args)    
    {  
      SelectQuery   query=new   SelectQuery("Select   *   From   Win32_LogicalDisk");  
      ManagementObjectSearcher   searcher=new   ManagementObjectSearcher(query);  
      foreach(ManagementBaseObject   disk   in   searcher.Get())  
      {  
        Console.WriteLine("/r/n"+disk["Name"]   +"   "+disk["DriveType"]   +   "   "   +   disk["VolumeName"]);  
      }  
   
   
      Console.ReadLine();  
   
      return   0;  
   
    }  
   
  }  
   
  disk["DriveType"]   的返回值意义如下:  
   
  1   No   type    
  2   Floppy   disk    
  3   Hard   disk    
  4   Removable   drive   or   network   drive    
  5   CD-ROM    
  6   RAM   disk  
   
   
  3、如何用WMI获得指定磁盘的容量?  
  using   System;  
  using   System.Management;  
   
  //   This   example   demonstrates   reading   a   property   of   a   ManagementObject.  
  class   Sample_ManagementObject  
  {  
    public   static   int   Main(string[]   args)    
    {  
      ManagementObject   disk   =   new   ManagementObject(  
        "win32_logicaldisk.deviceid=/"c:/"");  
      disk.Get();  
      Console.WriteLine("Logical   Disk   Size   =   "   +   disk["Size"]   +   "   bytes");  
      Console.ReadLine();    
      return   0;  
    }  
  }Top


3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-03-25 18:22:18 得分 0


C#等对WMI支持比较好,使用也方便,  
  vc6中使用比较的方法资料很少Top


4 楼gooyan(超级替补)回复于 2005-03-28 09:41:13 得分 0


问一下,win98能支持WMI吗?我看有的人说支持,也有人说不支持Top


5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-03-28 10:26:49 得分 15


WMI基本是独立于系统的,在某些系统中默认包含WMI,其他系统需要安装WMI支持。  
  Top


6 楼keiy(&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值