Общий размер жесткого диска
Всем привет,
Я ищу способ найти общий размер жесткого диска (c#)
Мне не нужен размер перегородок !!! а вот "реальный размер" диска. (общий размер жесткого диска ГБ)
пожалуйста, помогите мне..
Есть несколько статей об этом здесь на Codeproject:
Лучший из них, который я нашел, это (C++)
Получить серийный номер физического жесткого диска без WMI[^]
Или вот этот с помощью C#
Как получить серийный номер реального жесткого диска[^]
Это даст вам список физических дисков и некоторые свойства о каждом из них.
А вот простой скрипт использующий WMI:
var searcher = new ManagementObjectSearcher(@"select * from Win32_DiskDrive"); foreach (ManagementObject obj in searcher.Get()) { Console.WriteLine("Name:{0}", obj["Name"]); Console.WriteLine("Size:{0}", obj["Size"]); }
Привет,
попробуйте с помощью DriveInfo
Класс.
DriveInfo (Свойства)[^]
DriveInfo.TotalSize[^]
попробуйте, как показано ниже.
System.IO.DriveInfo info = new System.IO.DriveInfo(); Console.WriteLine(info.TotalSize); // gets the total size of the drive.
DriveInfo даст вам все логические диски, а не физические.
"Получает общий размер дискового пространства на диске" - это определение, данное MSDN. кроме того, в статье MSDN привел пример, который будет вычислять пространство доступных дисков. наверное, ОП хотел того же.
Он пишет: "мне не нужен размер разделов". DriveInfo дает вам размер логических дисков. Если вам нужны физические диски, вы должны использовать WMI
Я хочу показать на поле Label1.текст . Как это возможно ?
замените консоль.WriteLine с lable1.Text. label1.Text = info.TotalSize.ToString();
если вы следуете примеру, приведенному в статье MSDN, то суммируйте все значения и покажите общее значение в метке.
спасибо :))
добро пожаловать ..!!
Вам нужно использовать DriveInfo
Класс. Вот это класс DriveInfo-узел MSDN ссылка[^].
Пример кода:
using System; using System.IO; class Info { public static void Main() { DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { Console.WriteLine(drive.Name); if (drive.IsReady) Console.WriteLine(drive.TotalSize); } } }
DriveInfo даст вам все логические диски, а не физические.