получить список съемных носителей в c#
Привет, мне нужно обнаружить все съемные носители i выпадающее меню в c#
любая помощь будет оценена
спасибо
3 ответов
можно использовать тип DriveInfo чтобы получить список дисков. Вам нужно проверить свойство DriveType (перечисление)
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.DriveType == DriveType.Removable)
{
Console.WriteLine(drive.Name);
}
}
вы также можете использовать LINQ-to-Objects для запроса дисков:
var drives = from drive in DriveInfo.GetDrives()
where drive.DriveType == DriveType.Removable
select drive;
foreach(var drive in drives)
{
Console.WriteLine(drive.Name);
}
Как упоминалось в @TheCodeKing, вы также можете использовать WMI для запроса информации о диске.
например, вы можете запросить USB-накопители следующим образом:
ManagementObjectCollection drives = new ManagementObjectSearcher(
"SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'"
).Get();
добавить ссылку на System.Управление сборка если вы собираетесь использовать WMI.
если вы хотите заполнить ComboBox в приложении Windows Forms с этими данными, вам необходимо привязать результаты к элементу управления ComboBox.
например:
private void Form1_Load(object sender, EventArgs e)
{
var drives = from drive in DriveInfo.GetDrives()
where drive.DriveType == DriveType.Removable
select drive;
comboBox1.DataSource = drives.ToList();
}
подводим итоги:
- добавьте элемент управления ComboBox в форму Windows (перетащите его на форму из панели инструментов)
- запрос съемных дисков.
- привязать результаты к ComboBox.
вы используете WMI для этого, проверьте это ссылке for для информации и примеров.