FindFirstFile вызывает "Нет диска в дисководе" Ошибка - PullRequest
3 голосов
/ 29 августа 2011

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

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

Любая помощь будет принята с благодарностью.

Farooq-

1 Ответ

10 голосов
/ 29 августа 2011

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

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

...