Como pegar o usuário que está logado no Windows

Delphi

10/04/2003

Bom dia,

como faço para pegar o usuário que está logado no Windows, a data e a hora via Delphi?

Obrigado!


Anonymous

Anonymous

Curtidas 0

Respostas

Okama

Okama

10/04/2003

BufLen := 255;
SetLength(buffer, BufLen);
GetUserName(Pchar(Buffer), BufLen);
SetLength(Buffer, BufLen);

USUARIO := Buffer;

DATA := Date;
HORA := Time;
DATA_HORA := DateTime;


GOSTEI 0
Dor_poa

Dor_poa

10/04/2003

Existe na API do BDE uma função chamada DbiGetNetUserName, que retorna o nome
do usuário logado.
function GetUserName:string;
var
Nome: array[0..64] of char;
begin
if DbiGetNetUserName(Nome) <> DBIERR_NONE then
Nome:=´´;
Result:=StrPas(Nome);
end;

ou



function LogUser : String;
{Requer a unit Registry declarada na clausula Uses da Unit}
var
TRegistry;
begin
Registro := TRegistry.Create;
Registro.RootKey := HKEY_LOCAL_MACHINE;
if Registro.OpenKey(´Network\Logon´, false) then
begin
result := Registro.ReadString(´username´);
end;
Registro.Free;
end;


ou ainda..

var
szNetName: Array[0..48] of Char;
iResult: DBIResult;
begin
iResult:= DBIGetNetUserName(szNetName);
if iResult <> DBIErr_None then
DBIError( iResult )
else
Result:= StrPas(szNetName);
end;


Colocar na chamada de Uses de sua Unit as seguintes DCUs : DBITYPES, DBIPROCS, DBIERRS, DBTables e DB.


GOSTEI 0
POSTAR