// Hiermit kann man virtuelle Laufwerke erstellen, welche auf
// einen bestehenden Ordner verweisen. Derartige Laufwerke können nicht
// formatiert werden
(kein echtes Laufwerk) und sind nach einem Neustart
// wieder verschwunden.


// Getestet mit D4 unter XP

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;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke