Вам потребуется ссылка System.IO
для этого метода.
var driveList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveList)
{
if (drive .DriveType == DriveType.Removable)
{
//Add to RemovableDrive list or whatever activity you want
}
}
Или для поклонников LINQ:
var driveList = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);
Добавлена
Что касается части «Сохранение», насколько я знаю, я не думаю, что вы можете ограничить область, в которой пользователю разрешено сохранять, с помощью SaveFileDialog, но вы можете выполнить проверку после отображения SaveFileDialog.
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
if (CheckFilePathIsOfRemovableDisk(saveFileDialog.FileName) == true)
{
//carry on with save
}
else
{
MessageBox.Show("Must save to Removable Disk, location was not valid");
}
}
OR
Лучшим вариантом будет создать собственный диалог сохранения, который содержит древовидное представление, отображающее только съемные диски и их содержимое для сохранения пользователем! Я бы порекомендовал этот вариант.
Надеюсь, это поможет