.net FolderBrowserDialog需要花费很长时间才能列出位于USB驱动器中的文件夹的子文件夹

.net FolderBrowserDialog需要花费很长时间才能列出位于USB驱动器中的文件夹的子文件夹,.net,usb,performance,folderbrowserdialog,.net,Usb,Performance,Folderbrowserdialog,在USB驱动器中使用FolderBrowser对话框需要几分钟来提供子文件夹(与子文件夹的数量无关)。而Windows资源管理器以相对快速的方式显示它们 我使用的代码是: if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { //grab value } 我导航到USB驱动器,点击根目录中的文件夹,等待很长时间 这是Windows Server 2003 x64上的.NET 2.0 SP1(32位可执行文件) 有什么已知的原

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

我使用的代码是:

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {
  //grab value
}
我导航到USB驱动器,点击根目录中的文件夹,等待很长时间

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

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


粗略的谷歌搜索似乎表明只有我一个人在这件事上。我发现对它的引用在64位系统上崩溃,但如果我等待几分钟,它就不会崩溃。

您是否尝试过调试windows资源管理器,在打开子文件夹时,它会引用哪个系统调用?对你的申请也这样做?要么在系统调用中存在差异,要么正在执行更多操作。或者最后一种情况,它失败了很多次,只有几次成功

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

如果您先将USB驱动器设置为所选路径,而不是导航到该路径,会发生什么情况?