Ver Mensaje Individual
  #6  
Antiguo 04-11-2007
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
Pues así, de pronto, se me ocurren tres formas de hacerlo.

Método 1:
Código Delphi [-]
function GetSystemDrive: String;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  FillChar(Buffer,Sizeof(Buffer),#0);
  if GetWindowsDirectory(@Buffer,MAX_PATH) <> 0 then
    Result:= ExtractFileDrive(String(Buffer))
  else
    Result:= EmptyStr;
end;

Método 2:
Código Delphi [-]
function GetSystemDrive: String;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  FillChar(Buffer,Sizeof(Buffer),#0);
  if GetSystemDirectory(@Buffer,MAX_PATH) <> 0 then
    Result:= ExtractFileDrive(String(Buffer))
  else
    Result:= EmptyStr;
end;

Método 3:
Código Delphi [-]
function GetSystemDrive: String;
begin
  Result:= GetEnvironmentVariable('SystemDrive');
end;

Las preguntas que te hacia en mi anterior respuesta tenían una razón. Te hacia esas preguntas porque me parecía extraño que necesitaras saber el nombre de la unidad, normalmente lo que se necesita es saber la ruta de algún directorio en especial (el directorio de windows, el de los perfiles, el de archivos de programa, el temporal, etc ...) y para cada uno de esos directorios existen funciones especiales para averiguar donde están. No siempre el directorio de windows y el de los perfiles tiene porque estar en el mismo disco ...

De todas formas, si solo querías saber la unidad ahí arriba lo tienes
Responder Con Cita