提问者:小点点

如何获取所有驱动器目录C#


我想要得到所有的驱动器目录,并把他们在一个列表框没有系统得到崩溃。

我试过这些代码,但我得到一个没有反应! 即使一旦该程序完成任务,我也只有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个答案

匿名用户

我试过这些代码,但我得到一个没有回应

是的,您在UI线程上投入了大量的工作,当然UI没有响应。 将其放在后台线程上,并通过消息发布(BeginInvoke等)与UI交互。

即使一旦该程序完成任务,我也只有d驱动器目录在列表框中!

同样,是的,您在查询中排除了系统驱动器,它大概是C:\

if (drive.Name != Path.GetPathRoot(Environment.SystemDirectory))