Получение списка дисков

  • Автор темы Автор темы Jeefo
  • Дата начала Дата начала
J

Jeefo

Вот прошел по книжечке поиск файлов, научился получать список файлов из директории. А про получение списка дисков увы ничего автор не написал... Просветите, подскажите функцию пожалуйста :)
 
1. Используя API-функцию GetLogicalDriveStrings определяем список всех дисков системы.
2. Используя API-функцию GetDriveType, определяем какие из них логические (отсекаем съемные диски).
 
zubr
За функции огромное спасибо, но нельзя бы примерчик небольшой с использованием и той и другой? А то из описания не пойму, какой буффер и что в него запишется :-(
 
Код:
procedure GetFixedDrives(var Drives:TStringList);
var
buf, bufNew:PChar;
s:string;
lenBuf:Integer;
begin
lenBuf:=GetLogicalDriveStrings(0, nil);
buf:=StrAlloc(lenBuf);
try
FillChar(buf^, lenBuf, #0);
GetLogicalDriveStrings(lenBuf, buf);
bufNew:=buf;
s:=string(bufNew);
repeat
If GetDriveType(PChar(s))=DRIVE_FIXED then
Drives.Add(s);
bufNew:=PChar(Integer(StrScan(bufNew, #0)+1));
s:=string(bufNew);
lenBuf:=lenBuf-1-Length(s);
until (lenBuf<=0) or (s='');
finally
StrDispose(buf);
end;
end;
 
zubr
Спасибо, попробую разобраться :)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab