Fórum Identificar usuário na rede #185361
30/09/2003
0
gostaria de saber como fazer para conseguir o nome do usuário de uma máquina na rede, através do nome da máquina. Teria como fazer isto através do delphi???
Agradeço antecipadamente.
Wsantos
Curtir tópico
+ 0Posts
30/09/2003
Marconi
No seu programa digite
Usuario:=LogUser;
ShowMessage(usuario);
function LogUser : String;
{Requer a unit Registry declarada na clausula Uses da Unit}
var
Registro : TRegistry; r:string;
begin
Registro := TRegistry.Create;
// Registro.RootKey := HKEY_LOCAL_MACHINE;
Registro.RootKey := HKEY_CURRENT_USER;
//if Registro.OpenKey(´Network\Logon´, false) then begin
if Registro.OpenKey(´Network\Recent\././CINECATH_SRV./SYS´, false) then begin
r := Registro.ReadString(´username´);
r := copy(r,5,length(r)-5);
result := Copy(r,1,AnsiPos(´.´,r)-1);
end;
if (result=emptystr) or (result=null) then begin
if Registro.OpenKey(´Volatile Environment´,false)
then result := Registro.ReadString(´NWUSERNAME´);
end;
if (result=emptystr) or (result=null) then begin
if Registro.OpenKey(´Volatile Environment´,false) then begin
r := Registro.ReadString(´LOGONSERVER´);
result := Copy(r,3,length(r)-2);
end;
end;
Registro.Free;
end;
Marconi
Gostei + 0
07/10/2003
Wsantos
Saberiam outra maneira de fazer isso???
Gostei + 0
07/10/2003
Marconi
// Registro.RootKey := HKEY_LOCAL_MACHINE;
Registro.RootKey := HKEY_CURRENT_USER;
//if Registro.OpenKey(´Network\Logon´, false) then begin
if Registro.OpenKey(´Network\Recent\././CINECATH_SRV./SYS´, false) then begin
por
Registro.RootKey := HKEY_LOCAL_MACHINE;
if Registro.OpenKey(´Network\Logon´, false) then begin
É que no código anterior eu me referia a um servidor de rede.
Agora vai funcionar.
Marconi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)