Obter nome de usuário (Windows) logado - Delphi 7

Delphi

25/12/2014

Olá usuários do fórum estou criando um projeto com o seguinte código:

if (DirectoryExists('C:\Users\Daniel\AppData\Roaming\baidu\hao123')) then
Memo1.Lines.Add('Baidu Hao123 detected');

O código está correto e funciona perfeitamente, porém se eu for passar para alguma amigo usar não irá funcionar pois o nome de usuário não será "Daniel" como o meu, então necessito de alguma maneira que ele identifique o nome de usuário e coloque no lugar de "Daniel". No CMD eu usava o seguinte comando:

%Username%, se houve alguma comando do tipo para o Delphi 7 agradeço!

- Obrigada e feliz natal!
Daniel

Daniel

Curtidas 0

Melhor post

Wanderson Cortes

Wanderson Cortes

26/12/2014

Amigo, eu tenho essa função aqui que retorna o usuário

function TForm1.usuarioLogado: String;
var
  I: DWord;
  user: string;
begin
  I := 255;
  SetLength(user, I);
  Windows.GetUserName(PChar(user), I);
  user := string(PChar(user));
  result := user;
end;
GOSTEI 3

Mais Respostas

Renato Rubinho

Renato Rubinho

25/12/2014

Buenos,

Uma opção é utilizar esta função que retorna o conteúdo de uma variável de ambiente e verificar o "USERPROFILE", trazendo automaticamente o caminho raiz do usuário.

function GetEnv(fn_Param: string): string;
var
  lpName  : array[0..19] of char;
  lpBuffer: array[0..126] of char;
begin
  StrPCopy(lpName,fn_Param);
  GetEnvironmentVariable(lpName,lpBuffer,SizeOf(lpBuffer));
  Result := StrPas(lpBuffer);
end;


Abraççç,
rrubinho
GOSTEI 0
Alessandro Assis

Alessandro Assis

25/12/2014

Olá bom dia, aparece a mensagem
Undeclared identifier: 'Windows'
GOSTEI 0
POSTAR