essr42 Ответов: 4

Общий размер жесткого диска


Всем привет,

Я ищу способ найти общий размер жесткого диска (c#)
Мне не нужен размер перегородок !!! а вот "реальный размер" диска. (общий размер жесткого диска ГБ)

пожалуйста, помогите мне..

4 Ответов

Рейтинг:
2

StianSandberg

Есть несколько статей об этом здесь на 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"]);
}


Рейтинг:
2

Karthik Harve

Привет,

попробуйте с помощью DriveInfo Класс.
DriveInfo (Свойства)[^]
DriveInfo.TotalSize[^]

попробуйте, как показано ниже.

System.IO.DriveInfo info = new System.IO.DriveInfo();
Console.WriteLine(info.TotalSize); // gets the total size of the drive.


надеюсь, это поможет.


StianSandberg

DriveInfo даст вам все логические диски, а не физические.

Karthik Harve

"Получает общий размер дискового пространства на диске" - это определение, данное MSDN. кроме того, в статье MSDN привел пример, который будет вычислять пространство доступных дисков. наверное, ОП хотел того же.

StianSandberg

Он пишет: "мне не нужен размер разделов". DriveInfo дает вам размер логических дисков. Если вам нужны физические диски, вы должны использовать WMI

essr42

Я хочу показать на поле Label1.текст . Как это возможно ?

Karthik Harve

замените консоль.WriteLine с lable1.Text.
label1.Text = info.TotalSize.ToString();
если вы следуете примеру, приведенному в статье MSDN, то суммируйте все значения и покажите общее значение в метке.

essr42

спасибо :))

Karthik Harve

добро пожаловать ..!!

Рейтинг:
0

CHill60

Смотрите ответы на этот вопрос Найти все диск размер жесткого диска [^]


Рейтинг:
0

Orcun Iyigun

Вам нужно использовать 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);
        }
    }
}


Удачи,
ОЙ


StianSandberg

DriveInfo даст вам все логические диски, а не физические.