The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
posts - 304, comments - 1869, trackbacks - 68, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

使用WMI获取驱动器列表

Posted on 2004-07-09 14:38 Cure 阅读(1161) 评论(7)  编辑 收藏 所属分类: C#代码与实例
在昨天的随笔里:两个硬盘和文件相关的小技巧 中对于取得硬盘的分区列表使用了API,在灵感之源的提醒下,联想到用WMI来实现,现在已经成功了,感谢灵感之源提供的思路

以下是示例代码:

先要引用System.Management.dll,

using System.Management;
SelectQuery query = 
                
new SelectQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3");

            ManagementObjectSearcher searcher 
= 
                
new ManagementObjectSearcher(query);

            
foreach (ManagementBaseObject envVar in searcher.Get()) 
            
{
                
this.listBox1.Items.Add(envVar["Name"].ToString());
            }

如果查询语句中的DriveType 为2,会得到软驱,如果为5,会得到光驱。

Feedback

#1楼    回复  引用  查看    

2004-07-09 15:01 by hBifTs      
hoho.其实也可以不使用WMI的:)

#2楼    回复  引用  查看    

2004-07-09 15:12 by cure      
还有其它办法?!!
楼上的大大,快告诉我吧,别再让我瞎找了:)

#3楼    回复  引用  查看    

2004-07-09 18:58 by unruledboy(灵感之源)      
我有完整wmi封装类库

#4楼    回复  引用  查看    

2004-07-12 12:51 by cure      
有好东西就快些和大家共享呀:)

#5楼    回复  引用    

2004-11-25 19:14 by apc001.com [未注册用户]
不是吧????

Directory.GetLogicDrvier()

不是有这个吗..还用WMI???

#6楼    回复  引用  查看    

2004-11-25 21:07 by Cure      
谢谢楼上!!

#7楼    回复  引用    

2005-04-14 20:48 by fariver [未注册用户]
太好了,找了几天了,终于在这里看到。调用wmi果然高明,可以将硬盘同软驱、光驱区别对待。这样可以在通过程序遍历驱动器目录和文件时,减少catch,防止出错,还能提高程序执行速度。

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-07-12 18:31 编辑过
 
另存  打印