Este truco sirve para asociar una ruta de acceso con una letra de unidad, al igual que hace el comando subst.
Código Delphi
[-]
function AsociarLetra(Letra: Char; Ruta: String): Boolean;
var
Buffer: Array [0..MAX_PATH] of Char;
begin
if GetShortPathName(PChar(Ruta),@Buffer,Sizeof(Buffer)) > 0 then
Result:= DefineDosDevice(0,PChar(Letra + String(':')),@Buffer)
else
Result:= FALSE;
end;
function BorrarLetra(Letra: Char): Boolean;
begin
Result:= DefineDosDevice(DDD_REMOVE_DEFINITION,PChar(Letra + String(':')),nil);
end;
Por ejemplo, si queremos asociar la letra de unidad Z a la carpeta "C:\Archivos de programa", lo hariamos de la iguiente manera:
Código Delphi
[-]
AsociarLetra('Z','C:\Archivos de programa');
BorrarLetra('Z');
Estas asociaciones no se mantienen al apagarse el equipo, asi que habria que volver a realizarla otra vez al encenderlo otra vez.