Wie kann ich die Bezeichnung (VolumeLabel) einer Diskette ermitteln?
Announcement
Collapse
No announcement yet.
Volumelabel einer Diskette
Collapse
X
-
Hallo!<p>
Um an den Volums-Name zu gelangen, musst du die <b>GetVolumeInformation</b>-API-Funktion verwenden.
Interrsant ist dabei der zweite Parameter: <b>lpVolumeNameBuffer</b> (PChar) enthält nach den Aufruf der API-Routine den Volumen-Namen.<p>
Gruß,<br>
Bernhard
<p>
PS: Bin gerade dabei eine Volume-Informations-Funktion für die Jcl zu schreiben, damit das in Zukunft einfacher wird..
-
<pre>
function GetVolumeName(Volume: string): string;
var
MaxFilenameLength, FileSystemFlags: DWORD;
begin
SetLength(Result, MAX_PATH);
if GetVolumeInformation(PChar(Volume), PChar(Result), MAX_PATH, 0,
MaxFilenameLength, FileSystemFlags, nil, 0) then
SetLength(Result, Length(PChar(Result)))
else
Result := ''; // etwas ging schief.... *argh*
end;
</pre>
<p>
Die Funktion liefert den Volumennamen oder einen Leer-String wenn etwas schief gegangen sit... (z.B. Volumen nicht gefunden)
Beispiel-Aufruf:<p>
<pre>ShowMessage(GetVolumeName('C:\');</pre>
<p>
Hoffe dir ist damit geholfen,<br>
Gruß,<br>
Bernhar
Comment
Comment