¿Cómo obtener el nombre de usuario de una sesión de Windows?

Obteniendo el nombre de usuario de una sesión de Windows

Copyright © 2000 Ernesto De Spirito

KnowledgeBase Vortex 2.9

GetUserName

Si necesitamos conocer el nombre con el que el usuario del sistema se ha logueado para iniciar su sesión en Windows, podemos hechar mano a la función API de Windows GetUserName. La siguiente función encapsula la llamada a esta API para devolver el nombre de usuario como una cadena.

uses Windows;

function GetLoginName: string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetUserName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;

Llamada de ejemplo

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetLoginName);
end;
JfControls Library - para Delphi y C++ Builder