.Net 2.0中的DriveInfo类

在.Net 1.1中,要获得磁盘信息,只有通过Win32的API来获得,例如:

//获取磁盘剩余空间;
[DllImport( "kernel32.dll", EntryPoint="GetDiskFreeSpaceA" )]
public static extern int GetDiskFreeSpace(string lpRootPathName,ref int lpSectorsPerCluster,
                                                                                                           
ref int lpBytesPerSector,
                                                                                                           
ref int lpNumberOfFreeClusters,
                                                                                                           
ref int lpTotalNumberOfClusters);

//获取磁盘类型;
[DllImport( "kernel32.dll", EntryPoint="GetDriveTypeA" )]
public static extern int GetDriveType(string nDrive);

然而在.Net2.0中,不需要做这些烦人的工作,它已经将这些Win32的API放到了Framework的类库中。在命名空间System.IO下有DriveInfo类,该类分别包括属性:TotalSize,TotalFresSpace,AvailableFreeSpace,DriveFormat,DriveType,VolumeLabel等属性。现在要获得有关磁盘的信息,就非常容易了。

using System.IO;

string driveName = "C:\\";
DriveInfo driveInfo 
= new DriveInfo(driveName);

Console.WriteLine(
"The volume name is {0}",driveInfo.VolumeLabel);
Console.WriteLine(
"The total space is {0}",driveInfo.TotalSize);
Console.WriteLine(
"The free space is {0}",driveInfo.TotalFreeSpace);

另外,DriveInfo类还有一个静态方法GetDrives(),它能获得当前计算机所有驱动器的信息:

DriveInfo[] drives = DriveInfo.GetDrives();

不知道.Net2.0又封装了多少.Net 1.1版本未曾实现的Win32 API呢?这还需要我们慢慢的去发掘啊。

posted on 2005-08-24 14:40 张逸 阅读(2726) 评论(4)  编辑 收藏 所属分类: .NET FrameWork

评论

#1楼  2005-08-24 15:04 开源中的灵感之源      

唉,我觉得意义上跟vb的COM没有区别(当然,机制不一样),都是WIN32 API封装

怀恋VB   回复  引用  查看    

#2楼  2005-08-24 21:07 bluerain [未注册用户]

在.Net 1.1中好象用WMI也可以做啊,不一定要用API吧。   回复  引用    

#3楼  2005-08-25 14:05 yuxs [未注册用户]

WMI服务有可能不可用,但DriveInfo总是可用的。而且WMI性能不佳
  回复  引用    

#4楼  2005-11-21 10:13 zjqweter [未注册用户]

为什么我装了.net framework2.0,还是找不到driveinfo这个类呢?
我已经using System.IO 了   回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接:
 



导航

公告

logo.gif
我的著作与译作

《软件设计精要与模式》

《WCF服务编程》

MVP_Horizontal_BlueOnly.png

From 03-03-2006
Counter: site stats

与我联系

搜索

 

常用链接

我参加的小组

我参与的团队

随笔分类(245)

随笔档案(237)

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜