Ver Mensaje Individual
  #1  
Antiguo 20-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Asociar una ruta con una letra de unidad

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 [-]
// Para crear la asociacion
AsociarLetra('Z','C:\Archivos de programa');
// Para borrar la asociacion
BorrarLetra('Z');

Estas asociaciones no se mantienen al apagarse el equipo, asi que habria que volver a realizarla otra vez al encenderlo otra vez.
Responder Con Cita