Podrobné informace o disku

Klíčová slova: GetDiskInfo
Rubrika: Delphi

Pro zjištění detailnějších informací o discích můžete použít následující funkci. V případě úzpěchu vrací Result := True a plní parametry sVolName,sVolBuff a iSerNum.

 

function GetDiskInfo (Disk:Char; var sVolName,sVolBuff : string; var iSerNum: integer): boolean;
var
VolName: array [0..255] of char;
DriveName: array [0..255] of char;
VolNameSize: integer;
MaxCompLength: cardinal;
FSNameBuffer: array [0..255] of char;
FSNameSize: integer;
Flags: cardinal;
begin
// Nastevení a vymazání základních parametru
Result := False;
FillChar(DriveName,SizeOf(DriveName),#0);
FillChar(VolName,SizeOf(VolName),#0);
FillChar(FSNameBuffer,SizeOf(FSNameBuffer),#0);

VolNameSize := SizeOf(VolName);
FSNameSize := SizeOf(FSNameBuffer);

// Nastavení názvu disku
DriveName[0] := Disk;
DriveName[1] := ':';
DriveName[2] := #92;

// Získání vlastních informací pomocí GetVolumeInformation
Result := GetVolumeInformation (DriveName, VolName, VolNameSize, @iSerNum,
MaxCompLength, Flags, FSNameBuffer, FSNameSize);

// Naplnění předávaných parametrů
sVolName := StrPas(VolName);
sVolBuff := StrPas(FSNameBuffer);
end;

 
Ve vlastní aplikaci pak můžete např. na stisk tlačítka provádět výpis vrácených parametrů následujícím způsobem.
 

procedure TForm1.Button1Click(Sender: TObject);
var
sVolName,sVolBuff : string;
iSerNum: integer;
begin
if GetDiskInfo (DriveComboBox1.Drive, sVolName,sVolBuff, iSerNum) then
begin
Label1.Caption := sVolName+','+IntToStr(Length(sVolName));
Label2.Caption := sVolBuff+','+IntToStr(Length(sVolBuff));
Label3.Caption := IntToSTr(iSerNum);
end
else
begin
Label1.Caption := 'none';
Label2.Caption := 'none';
Label3.Caption := 'none';
end;
end;

 
Autor: Jiří Provazník
Datum vydání: 13.11.2002 | Zobrazeno: 2677
Permanentní odkaz: Podrobné informace o disku

Komentáře (0)
Přidej vlastní komentář:
Následující (běžně neviditelná) pole slouží pro vnitřní identifikaci systému. Pokud je vyplníte nebude možné váš požadavek na straně serveru zpracovat:
URL:
contents:
Website:
Pro odeslání vašeho komentáře použijte tlačítko "Odeslat". Toto tlačítko nepoužívejte:

Následující položky je vhodné vyplnit:
Jméno :
Email :
Web :
Místo :
Hodnocení:
Hodnocení jako pomocí hvězdiček
1/5= nejhorší, 5/5=nejlepší