Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HDDs [D6, WinXP]


Anar ©   (2002-10-17 22:40:00) 

Как узнать сколько на компе жёстких дисков, а также их имена (метки)?
И у CD-ROM"a тоже не помешало бы...


Rouse_   (2002-10-17 22:52:00) [1]

Вот блин, шестой раз на такой вопрос отвечаю, и именно в такой постановке

function TForm1.VolumeID(DriveChar: Char): string;
var
OldErrorMode: Integer;
NotUsed, VolFlags: DWORD;
Buf: array [0..MAX_PATH] of Char;
begin
OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
Buf[0] := #$00;
if GetVolumeInformation(PChar(DriveChar + ":\"), Buf, DWORD(sizeof(Buf)),
nil, NotUsed, VolFlags, nil, 0) then
SetString(Result, Buf, StrLen(Buf))
else Result := "";
if DriveChar < "a" then
Result := AnsiUpperCaseFileName(Result)
else
Result := AnsiLowerCaseFileName(Result);
Result := Format("[%s]",[Result]);
finally
SetErrorMode(OldErrorMode);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var Drive:Char;
begin
for Drive := "A" to "Z" do
begin
case GetDriveType(PChar(Drive+":\")) of
DRIVE_REMOVABLE:CheckListBox1.Items.Add(Drive+": "+VolumeID(Drive));//


TTCustomDelphiMaster   (2002-10-17 22:46:00) [2]

F1 - GetDriveType


Наверх

Титульная страница Поиск, карта сайта Написать письмо