Как я могу прочитать "метку диска" или "имя Тома" in.NET?
Можете ли вы показать пример кода для чтения метки диска или имени Тома в .NET? я понимаю, что для этого требуется WMI, но я ненавижу "раскрывающийся список" в WMI, потому что это похоже на падение в строковый SQL-запрос в том смысле, что определенные объекты могут не существовать в определенных версиях ОС или пользователь может не иметь права запрашивать определенные данные. Я буду счастлив убедиться, что ошибаюсь насчет WMI ...
3 ответа:
WMI не требуется. Все метки томов будут получены следующим образом:
var labels = from drive in DriveInfo.GetDrives() select drive.VolumeLabel
Вызов DriveInfo.GetDrives для получения массива информации о диске. Тогда посмотрите на DriveInfo.VolumeLabel
Вы можете использовать системы.ИО.DriveInfo получить список дисков. Смотрите следующий пример:
Примечание: типы дисков CDRom не имеют имени Тома.
Using System.IO; . . . DriveInfo[] driveInfoList = DriveInfo.GetDrives(); foreach (DriveInfo drive in driveInfoList) { if (drive.DriveType != DriveType.CDRom) textBox1.Text += String.Format("Name:{0} Volume:{1}\r\n", drive.Name, drive.VolumeLabel); else textBox1.Text += String.Format("Name:{0}\r\n", drive. }