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