0

在 USB 驱动器中使用 FolderBrowserDialog 需要几分钟来提供子文件夹(与有多少子文件夹无关)。而 Windows 资源管理器确实以相对快速的方式显示它们。

我正在使用的代码是:

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {
  //grab value
}

我导航到 USB 驱动器,然后单击根目录中的文件夹以等待很多时间。

这是 Windows Server 2003 x64 上的 .NET 2.0 SP1(32 位可执行文件)

有什么已知的原因吗?为什么它比 Windows 资源管理器花费这么多时间?

粗略的谷歌搜索似乎表明我独自一人。我发现它在 64 位系统上崩溃的引用,但我实际上并没有崩溃,如果我等待几分钟它最终会工作。

4

2 回答 2

0

您连接的 USB 端口是什么版本?1.0/1.1 的响应时间要比 2.0 长得多。此外,如果您的 Windows 版本可以在后台对连接的设备进行索引,那么当您在资源管理器中单击它时,它可能已被索引;可以这么说,您的功能是“现场直播”。

于 2010-03-03T21:04:12.307 回答
0

您是否尝试过在打开子文件夹时调试 Windows 资源管理器的系统调用?并为您的应用程序做同样的事情?要么系统调用有所不同,要么正在做更多事情。或者最后一种情况,它失败了很多次,只有几次成功。

于 2009-06-24T16:05:30.977 回答