FindFirstFile вызывает "Нет диска в приводе" Ошибка

Функция FindFirstFile вызывает ошибку "Нет диска в приводе. Пожалуйста, вставьте диск в привод" Ошибка. Причиной этой ошибки является то, что в флешке нет sd-карты и она пуста. Моя проблема заключается в том, что мне нужно сканировать все диски на предмет определенного каталога, и я не могу определить, является ли диск пустым или нет. Как я могу это сделать?

Я занимаюсь разработкой приложения для Windows и использую MFC для разработки.

Любая помощь будет высоко оценен.

Farooq-

1 ответ

Решение

Я догадываюсь немного, но я подозреваю, что вам нужно позвонить SetErrorMode() прохождение SEM_FAILCRITICALERRORS флаг для подавления появления этого диалога. Вместо FindFirstFile() вернет код ошибки, и вы можете перейти к следующему диску в перечислении.

Изменить: для Windows 7 и выше, рассмотреть SetThreadErrorMode() вместо. Это ограничивает влияние режима. Также не забудьте восстановить первоначальный режим как можно скорее.

Другие вопросы по тегам