Home » Tipps & Tricks » System » Benutzerverwaltung » Benutzernamen ermitteln

Benutzernamen ermitteln

Um den Namen des eingeloggten Benutzers zu ermitteln, lässt sich folgende Funktion benutzen:

function GetUsername: String;
var
  Buffer: array[0..255] of Char;
  Size: DWord;
begin
  Size := SizeOf(Buffer);
  if not Windows.GetUserName(Buffer, Size) then
    RaiseLastOSError; //RaiseLastWin32Error; {Bis D5};
  SetString(Result, Buffer, Size - 1);
end;

RaiseLastOSError ist erst ab Delphi 6 verfügbar. Programmierer, die mit älteren Versionen arbeiten müssen an dieser Stelle RaiseLastWin32Error verwenden.Zusätzlich sei noch erwähnt, dass die BDE eine gleichlautende Funktion mitbringt, die allerdngs nur vernünftig arbeitet, wenn eine Verbindung zu einer Datenbank besteht.Bei Verwendung der JCL kann alternativ auch die Funktion GetLocalUserName aus der Unit JclSysInfo verwendet werden.