Папка USB и папка SD-карта

Есть ли способ отличить следующие две папки с помощью кода C++ Builder?

  1. папка флешки
  2. папка SDcard (SDHC)

Я использую C++ Builder XE4. Интересно, используя C++ Builder, я могу создать программное обеспечение, чтобы различать две вышеупомянутые папки.

Я опишу проблему ниже.

У меня есть компьютер-книжка с разъемом USB и SD-картой. Я хотел бы сохранить файл в папку на SD-карте. Но если не установлена ​​SD-карта, с другой стороны, установлена ​​USB-флешка, она не должна по ошибке записать файл на USB-флешку. Поэтому я хотел бы различать (распознавать) папки SD-карты и USB-накопителя.

Я хотел бы знать некоторые ключевые слова по этим вопросам для дальнейшего изучения через Интернет самостоятельно.

1 ответ

Решение

Используйте запрос WMI:

Этот запрос дает вам все диски (содержит SDCard):

SELECT DeviceID FROM WIN32_DiskDrive

Этот запрос дает вам все жесткие диски:

SELECT DeviceID FROM WIN32_DiskDrive where interfacetype='IDE'

Этот запрос дает вам все USB-накопители (не содержит SD-карты):

SELECT DeviceID FROM WIN32_DiskDrive where interfacetype='USB'

Затем вам следует связать свойство DeviceID (например, \\.\PHYSICALDRIVE1) с буквой диска (например, D: \), которое может стать предметом нового вопроса.

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