Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: GetUsername unter Windows 10

  Alt 16. Nov 2015, 23:58
Eine weitere Möglichkeit ist
Delphi-Quellcode:
function GetUserName: string;
var
  lpBuffer : LPTSTR;
  lpnSize : DWORD;
  lSuccess : Boolean;
  lLastError: Cardinal;
begin
  lpBuffer := nil;
  lpnSize := 0;

  repeat
    lSuccess := Winapi.Windows.GetUserName( lpBuffer, lpnSize );
    if not lSuccess
    then
      begin
        lLastError := GetLastError( );
        case lLastError of
          ERROR_INSUFFICIENT_BUFFER:
            begin
              SetLength( Result, lpnSize );
              lpBuffer := LPTSTR( Result );
            end;
        else
          RaiseLastOSError( lLastError, sLineBreak + 'GetUserName' );
        end;
      end
    else
      SetLength( Result, lpnSize - 1 );
  until lSuccess;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat