【问题标题】:FindFirstFile causes "There is no disc in the drive" ErrorFindFirstFile 导致“驱动器中没有光盘”错误
【发布时间】:2011-08-29 16:46:10
【问题描述】:
FindFirstFile 函数导致“驱动器中没有光盘。请将光盘插入驱动器”错误。此错误的原因是 U 盘中没有 sd 卡并且它是空的。我的问题是我必须扫描特定目录的所有驱动器,我无法区分驱动器是否为空。我怎样才能做到这一点?
我正在为 Windows 开发应用程序,我正在使用 MFC 进行开发。
任何帮助将不胜感激。
法鲁克-
【问题讨论】:
标签:
visual-studio
winapi
visual-c++
mfc
findfirst
【解决方案1】:
我猜测了一下,但我怀疑您需要调用 SetErrorMode() 并传递 SEM_FAILCRITICALERRORS 标志来禁止出现此对话框。相反,FindFirstFile() 将返回一个失败代码,您可以继续枚举中的下一个驱动器。
编辑:对于 Windows 7 及更高版本,请考虑使用SetThreadErrorMode()。这限制了模式的效果。也记得尽快恢复原来的模式。