【发布时间】:2009-03-31 21:08:30
【问题描述】:
我正在尝试使用以下代码确定一张 CD 的可用空间量:
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_LogicalDisk WHERE DriveType =5");
foreach(ManagementObject mo in searcher.Get())
{
Console.WriteLine( "FreeSpace: "+mo["FreeSpace"].ToString());
Console.WriteLine("CapacitySpace: " + mo["Size"].ToString());
UInt64 usedspace = (UInt64)mo["Size"] - (UInt64)mo["FreeSpace"];
Console.WriteLine("UsedSpace: " + usedspace.ToString());
}
运行上述代码,我收到以下输出:
空闲空间:0
容量空间:301463552
已用空间:301463552
理想情况下,我想报告 Windows 资源管理器的统计信息 - 免费的 YYY XXX。请注意,Windows 资源管理器报告的 392 MB 空闲 702 MB。谢谢!
更新(2009 年 4 月 1 日): 确定 CD 可用空间的能力似乎超出了 WMI,并且依赖于插入磁盘的文件系统。我的测试表明 Windows 不会显示 CDFS 格式的 CD 容量信息;但是,它会显示 UDF 格式的 CD 的容量信息。
另外,我找到了一个优秀的本机实用程序,用于浏览引用 here 的 WMI。
【问题讨论】: