Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как получить список локальных дисков?


Автор: padla 25.6.2006, 11:51
См. сабж.

В System.IO определены классы для файлов и папок. А как работать с локальными дисками? 

Автор: mr.DUDA 25.6.2006, 14:48
DriveInfo.GetDrives() вернёт массив объектов DriveInfo, для локальных дисков DriveType равен CDRom, Fixed или Removable, для сетевых - Network. 

Автор: padla 25.6.2006, 18:29
Мерси! 

Автор: mr.DUDA 25.6.2006, 19:14
боку smile 

Автор: padla 25.6.2006, 22:19
Вопрос сюда же:
как (Removable) Usb отличить от FDD???? 

Автор: Prehistorik 26.6.2006, 09:41
Может быть просто по имени?! FDD обычно на A: ...

 smile 

padla, тем что Removable используется, а FDD уже давным давно нет :-) 

Автор: mr.DUDA 26.6.2006, 10:01
А для этого уже System.Management юзать надо и Win32_LogicalDisk WMI class 

Автор: padla 26.6.2006, 13:15
mr.DUDA, ОК, пошерстим...


Prehistorik, Все дебаты по поводу используется FDD еще или же нет - в раздел о железе! 

Автор: padla 26.6.2006, 17:02
Цитата(mr.DUDA @ 26.6.2006,  13:01)
А для этого уже System.Management юзать надо и Win32_LogicalDisk WMI class

Пожалуй слабоват я пока этим пользоваться...

Если есть желание - подскажите! Нету онного - нафик! Будем пока так жить...

smile 

Автор: mr.DUDA 26.6.2006, 17:47
Возможно, есть какой-то другой WMI-класс, более подходящий чем этот, но я о нём не знаю smile, так что вот пример:

Код
using System;
using System.Management;

class Program
{
    static void Main(string[] args)
    {
        ManagementObjectCollection mcoll = new ManagementObjectSearcher("select * from Win32_LogicalDisk").Get();
        foreach (ManagementObject mobj in mcoll)
        {
            uint mediaType = (uint)mobj.GetPropertyValue("MediaType");
            if (mediaType == 11) // Removable media other than floppy
            {
                Console.WriteLine("Found USB drive: " + mobj.GetPropertyValue("Name"));
            }
        }
    }
}


З.Ы. вся инфа есть в MSDN, в Index набираем Win32_ и получаем длинный список WMI-классов. 

Автор: padla 27.6.2006, 13:32
mr.DUDA

Хе... Фишка в том, что mediaType:
11 - это CD/DVD
12 - это HDD
А у Usb вообще нет такого значения... Вот.... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)