uses filectrl;
function VirtualDrive(LW, FLR: string): byte;
var
p: pchar;
s: string;
begin
if not DirectoryExists(FLR) then begin
result := 4;
exit;
end;
result := 3;
LW := uppercase(LW);
if (LW = '')
or not (LW[1] in ['A'..'Z']) then exit;
s := LW[1] + ':';
getmem(p, max_path);
if QueryDosDevice(PChar(s), p, max_path) = 0
then begin
if DefineDosDevice(0, PChar(s), PChar(FLR))
then Result := 0
else Result := 2;
end else Result := 1;
freemem(p);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
case VirtualDrive('M:', 'C:\Temp') of
0: showmessage('OK');
1: showmessage('Laufwerk besteht bereits');
2: showmessage('Laufwerk wurde nicht erstellt');
3: showmessage('ungültige Laufwerksbezeichnung');
else showmessage('Ordner existiert nicht');
end;
end;