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

如何获取所有驱动器目录C#,c#,directory,C#,Directory,我想得到所有的驱动器目录,并把它们在一个列表框中,而不会使系统崩溃 我试过这个密码,但我没有得到回应!即使程序完成了任务,列表框中也只有d驱动器目录 foreach (var drive in DriveInfo.GetDrives()) { if (drive.Name != Path.GetPathRoot(Environment.SystemDirectory)) { foreach (string file in Directory.EnumerateFi

我想得到所有的驱动器目录,并把它们在一个列表框中,而不会使系统崩溃

我试过这个密码,但我没有得到回应!即使程序完成了任务,列表框中也只有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);
        }
    }
}
我试过这个密码,但我没有得到回应

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

即使程序完成了任务,列表框中也只有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);
        }
    }
}
同样,是的,您在查询中排除了系统驱动器,这大概是
C:\

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

阅读C#中的后台工作线程。网上有很多关于这方面的文档。祝你好运。