Как получить каталоги всех дисков C# - PullRequest
0 голосов
/ 18 июня 2020

Я хочу получить все каталоги дисков и поместить их в список без сбоев системы.

Я пробовал эти коды, но не отвечаю! Даже после того, как эта программа выполнила задачу, у меня в списке оставались только каталоги дисков d!

foreach (var drive in DriveInfo.GetDrives())
{
    if (drive.Name != Path.GetPathRoot(Environment.SystemDirectory))
    {
        foreach (string file in Directory.EnumerateFiles(drive.Name, "*.*", SearchOption.AllDirectories))
        {
            listBox1.Items.Add(file);
        }
    }
}

1 Ответ

1 голос
/ 18 июня 2020

Я пробовал эти коды, но получаю не отвечающий

Ну да, вы очень много работали над потоком пользовательского интерфейса, конечно, пользовательский интерфейс не отвечает. Вместо этого поместите его в фоновый поток и пусть он взаимодействует с пользовательским интерфейсом через публикацию сообщений (BeginInvoke и т. Д.). список!

Опять же, да, вы исключаете системный диск в своем запросе, который предположительно C:\

if (drive.Name != Path.GetPathRoot(Environment.SystemDirectory))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...