Código Delphi
[-]
uses
SysUtils;
var
UserFolder: string;
begin
UserFolder := GetEnvironmentVariable('USERPROFILE');
ShowMessage(UserFolder);
end;
o solo el nombre de usuario:
Código Delphi
[-]
uses
Windows;
var
NombreUsuario: array[0..255] of Char;
Tam: DWORD;
begin
Tam := SizeOf(NombreUsuario);
if GetUserName(NombreUsuario, Tam) then
ShowMessage('Usuario: ' + NombreUsuario);
end;
Si quieres ir más lejos y obtener cosas como "Mis Documentos", usá SHGetFolderPath:
Código Delphi
[-]
uses
ShlObj, Windows, SysUtils;
var
path: array[0..MAX_PATH] of Char;
begin
SHGetFolderPath(0, CSIDL_PERSONAL, 0, 0, path);
ShowMessage('Mis Documentos: ' + path);
end;
También puedes usar:
CSIDL_DESKTOP → Escritorio
CSIDL_APPDATA → AppData\Roaming
CSIDL_LOCAL_APPDATA → AppData\Local