Windows with Delphi Windows API (94) Windows Filesystem (41) Windows Forms (69) Windows Graphics (38)
Exchange Links About this site Links to us 
|
Convert from UNC notation to Drive letter?
This article has not been rated yet. After reading, feel free to leave comments and rate it.
The function ExpandUNCFileName function converts a mapped path/file to UNC, but how can this process be reversed?
There is no simple function that would do the trick, you have to go through all existing 'remote' drives, look at their UNC name and compare them with the one you are interested in:
 | |  | | program P;
procedure TForm1.Button1Click(Sender: TObject);
const
YOURUNCFILENAME = '\\ISS\VOL1\ISS\SHARE\';
var
Drive : Char;
Drlist : TStringList;
Filist : TStringList;
I : integer;
begin
Drlist := TStringList.Create;
Filist := TStringList.Create;
for Drive := 'a' to 'z' do
case GetDriveType(PChar(Drive + ':\')) of
DRIVE_REMOTE:
begin
Filist.Add(expanduncfilename(Drive + ':\'));
Drlist.Add(Drive)
end
end;
I := Filist.indexof(YOURUNCFILENAME);
if I > -1 then
ShowMessage(YOURUNCFILENAME + 'Mapped to drive ' + Drlist[I]);
Drlist.Free;
Filist.Free
end;
end. | |  | |  |
Comments:
|