Папка USB и папка SD-карта
Есть ли способ отличить следующие две папки с помощью кода C++ Builder?
- папка флешки
- папка 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: \), которое может стать предметом нового вопроса.