[Lazarus-es] usuarios windows

Antonio Évora aevorar en gmail.com
Jue Mayo 26 08:47:54 CEST 2011


El 25/05/11 20:21, José Mejuto escribió:
> Hello Paola,
>
> Wednesday, May 25, 2011, 8:07:57 PM, you wrote:
>
> PB>  Hola todos..
>
> PB>  con qué función/componente puedo obtener el nombre del usuario de la red
> PB>  (win)?
>
> PB>  en harbour por ejemplo, lo obtengo de esta manera:
> PB>  GETENV("USERNAME")
>
> Del mismo modo: GetEnvironmentVariable
>
> O bien usando el API de windows "GetUserName".
>
Hola Paola,
Yo utilizo la siguiente función:

functionGetCurrentUser(): string;
{$IFDEF WINDOWS}
var
    UserName: string;
    UserNameLen: Dword;
{$ENDIF}
begin
   {$IFDEF WINDOWS}
    UserNameLen:=255;
    SetLength(userName,UserNameLen) ;
    if GetUserName(PChar(UserName),UserNameLen) then
    begin
      Result:=AnsiToUtf8(Copy(UserName,1,UserNameLen-1));
    end
    else
    begin
      Result:='Desconocido';
    end;
   {$ENDIF}
   {$IFDEF UNIX}
   Result:=GetEnvironmentVariable('USERNAME');
   if Result='' then
   begin
     Result:=GetEnvironmentVariable('USER');
   end;
   {$ENDIF}
end;




More information about the Lazarus-es mailing list