【IT168技术文档】
在.Net 1.1中,要获得磁盘信息,只有通过Win32的API来获得,例如:
然而在.Net2.0中,不需要做这些烦人的工作,它已经将这些Win32的API放到了Framework的类库中。在命名空间System.IO下有 DriveInfo类,该类分别包括属性:TotalSize,TotalFresSpace,AvailableFreeSpace, DriveFormat,DriveType,VolumeLabel等属性。现在要获得有关磁盘的信息,就非常容易了。//获取磁盘剩余空间; [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);
另外,DriveInfo类还有一个静态方法GetDrives(),它能获得当前计算机所有驱动器的信息: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[] drives = DriveInfo.GetDrives();