Форум: "WinAPI";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизGetLogicalDrivers Найти похожие ветки
← →
[ping]VIN © (2004-07-21 00:56) [0]Здравствуйте. У меня такой вопрос. Функция GetLogicalDrivers как я понимаю возвращает определенное значение из которого должно быть видно какой диск доступен. У меня она возвращает 61. Так вот как понять какой диск у меня доступен?
а - флопяк
ц и д - локальные
е и ф - сидюки.
Помогите пожалуйста.
← →
Dimaxx (2004-07-21 01:07) [1]Эта функция возвращает не типы драйвов, а их наличие. Бит 0 и 1 в результате отвечает за А и В соответственно. Остальные таким же образом (бит 3 - С, бит 4 - В и т.д.). По типам драйвов - GetDriveType.
← →
Dimaxx (2004-07-21 01:08) [2]Забыл. Установленный бит - драйв есть, равен 0 - нет такого.
← →
Inco (2004-07-21 13:39) [3]RTFM!
Используй GetLogicalDriveStrings и GetDriveType.
Вот пример из готовой программы, которая вычисляет локальные жесткие диски (правда на BCB):
TStringList *sl = new TStringList;
{char *dr = (char *)malloc(sizeof(char) * 200);
char *c = (char *)malloc(4);
int len = GetLogicalDriveStrings(200, dr);
for(int i = 0; i < len; i++){
if(dr != 0){
StrMove(c, dr + i, 2);
c[2] = "\0";
if(GetDriveType(c) == DRIVE_FIXED){sl->Insert(0, AnsiString(c));}
i += 3;
}
}
free(c);
free(dr);
}
if(sl->Count < 1){
Application->MessageBox("Logical drives not found on this computer!",
"Drives not found", MB_ICONWARNING);
delete sl;
return;
}
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c