有人可以帮忙吗?如何使用C#获取磁盘中未分配空间的信息?
DriveInfo.AvailableFreeSpace
。
http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx
你还可以使用WMI获取有关磁盘分区的信息,使用Win32_DiskPartition
和Win32_DiskDrive
:DeviceID
字段来识别哪个分区在哪个磁盘上,然后使用StartOffset
和Size
字段构建物理磁盘上分区的映射。然后只需使用Win32_DiskDrive
中的数据计算整个磁盘的大小,并计算余数。尝试使用类似这样的代码:
using System.Linq;
using System.IO;
using System;
namespace DriveInfoExample
{
class Program
{
static void Main(string[] args)
{
// Check only for fixed drives
foreach (var di in DriveInfo.GetDrives().Where(d=>d.DriveType == DriveType.Fixed))
{
Console.WriteLine("Free space on drive {0}\t{1} bytes", di.Name, di.AvailableFreeSpace);
}
}
}
}