FindFirstFile导致“驱动器中没有光盘”错误

时间:2011-08-29 16:46:11

标签: visual-studio winapi visual-c++ mfc findfirst

FindFirstFile函数导致“驱动器中没有光盘。请将光盘插入驱动器”错误。导致此错误的原因是USB记忆棒中没有SD卡,而且它是空的。我的问题是我必须扫描特定目录的所有驱动器,我无法区分驱动器是否为空。我怎样才能做到这一点?

我正在开发Windows应用程序,我正在使用MFC进行开发。

任何帮助都将受到高度赞赏。

法鲁克 -

1 个答案:

答案 0 :(得分:10)

我猜一点,但我怀疑你需要调用SetErrorMode()传递SEM_FAILCRITICALERRORS标志来禁止显示此对话框。相反,FindFirstFile()将返回失败代码,您可以转到枚举中的下一个驱动器。

编辑:对于Windows 7及更高版本,请考虑使用SetThreadErrorMode()。这限制了模式的效果。另请记住尽快恢复原始模式。