|
|
|
Supreme Being
      
участник
Last Login: 09.10.2008 16:09
Сообщ.: 96,
Visits: 874
|
|
| Не подскажите как можно "достать" объем логического диска. В Directory и DirectoryInfo нет подходящих св-тв, как ещё можно попробовать?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Через WMI можно. Работать будет на Windows2000 и выше.
using System; using System.IO; using System.Management;
class PercentFree { [STAThread] static void Main(string[] args) { string[] logicalDrives = Directory.GetLogicalDrives(); for (int i=0; i<logicalDrives.Length; i++) { ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\""+logicalDrives[i].Substring(0,2)+"\""); disk.Get();
UInt64 size = Convert.ToUInt64(disk["Size"]); UInt64 free = Convert.ToUInt64(disk["FreeSpace"]);
Console.WriteLine("Disk "+logicalDrives[i]); Console.WriteLine("--------"); Console.WriteLine("\tLogical Disk Size = " + size + " bytes"); Console.WriteLine("\tFree Space = " + free + " bytes"); if (size>0) { double percent = ((double)free/(double)size) * 100.0; Console.WriteLine("\tPercent Free = " + percent.ToString("##.##") + "%"); } Console.WriteLine(""); } } }
|
|
|
|
|
Supreme Being
      
участник
Last Login: 09.10.2008 16:09
Сообщ.: 96,
Visits: 874
|
|
|
|
|