wie kann ich in Delphi die Auflistung der HDD- Devices + zusätzlichen Laufwerksbuchstaben herausbekommen?
Das habe ich doch gerade eben erst (vor 13 Stunden)
hier beschrieben (siehe dort
function ConvertDevicePathToDOSPath()).
Ganz ohne Verwendung der
WMI.
Hier noch einmal zum Mitschreiben:
Code:
function GetHDDDevicesWithDOSPath:TStringlist;
var
i: integer;
root: string;
device: string;
buffer: string;
begin
setlength(buffer, 1000);
result:=TStringlist.create;
for i := Ord('c') to Ord('z') do
begin
root := Char(i) + ':';
if (QueryDosDevice(PChar(root), pchar(buffer), 1000) <> 0) then
begin
device := pchar(buffer);
result.add(format('%s = %s\',[device, root ]));
end;
end;
end;
z.B Beispiel:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var slDevices: TStringlist;
begin
memo1.Clear;
try
slDevices:=GetHDDDevicesWithDOSPath;
if (slDevices<>nil) and (slDevices.count>0) then
memo1.lines.Text:=slDevices.Text;
finally
if assigned(slDevices) then slDevices.Free;
end;
end;