Как отличить локальные диски?, от cdrom и дисковода |
Здравствуйте, гость ( Вход | Регистрация )
Как отличить локальные диски?, от cdrom и дисковода |
abc |
8.3.2011, 17:08
Сообщение
#1
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
вот я получил QFileInfoList дисков:
QDir::drivers() Хочу убрать cdrom и дисковод из списка. Как их распознать? |
|
|
abc |
8.3.2011, 18:37
Сообщение
#2
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
посмотрите, пожалуйста, исходники класса QFileIconProvider, лежат в
\src\gui\itemviews Там в cpp в теле функции QIcon QFileIconProvider::icon(const QFileInfo &info) const есть запись UINT type = GetDriveType((wchar_t *)info.absoluteFilePath().utf16()); которая открывает путь к заветному switch по типу drive не понимаю, откуда берётся функция GetDriveType и типы drive ВСЁ, последняя правка: включаем # include <qt_windows.h> и работаем так: uint type = GetDriveType((wchar_t *)info.absoluteFilePath().utf16()); //info - это QFileInfo switch (type) { case DRIVE_REMOVABLE: case DRIVE_FIXED: case DRIVE_REMOTE: case DRIVE_CDROM: case DRIVE_RAMDISK: case DRIVE_UNKNOWN: case DRIVE_NO_ROOT_DIR: default: } Работает!! Сообщение отредактировал abc - 8.3.2011, 18:58 |
|
|
Текстовая версия | Сейчас: 18.1.2025, 16:08 |