[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]
{
BO BendTSEN
> There's already a methode For finding all available drives without
> accessing them - I'd like to have one to get the volume Labels of the
> harddisks, SUBST- and network-drives without waiting seconds While the
> Program accesses all the 20 drives available in my system ... ;-)
Try this, it will show any SUBST drives, if a \\ first in the name is returned
you will have a network server name following.
}
Uses
Dos;
Function ResolvePath(Var s : String) : Boolean;
Var
r : Registers;
x : Byte;
begin
ResolvePath := False;
s := s + #0;
r.ds := Seg(S);
r.si := Ofs(S) + 1;
r.es := Seg(S);
r.di := Ofs(S) + 1;
r.ah := $60;
Intr($21, R);
If r.flags and 1 = 1 Then
Exit; { if ZF set then error }
ResolvePath := True;
x := 0;
While (s[x + 1] <> #0) And (x < 128) Do
Inc(x);
s[0] := Chr(x);
end;
Var
DriveName : String;
begin
DriveName := 'C';
Writeln(ResolvePath(DriveName));
Writeln(DriveName);
end.
[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]