Trabalhando na Rede
Olá!
Alguém sabe como identificar o nome do usuário na rede.. Qual o nome da rede que está conectado?
Alguém sabe como identificar o nome do usuário na rede.. Qual o nome da rede que está conectado?
Amon-ra
Curtidas 0
Respostas
Vagner Monteiro
29/09/2005
Olha, se vc quiser saber o domínio a função é esta.
Declare WINSOCK na clausula Uses
function TForm1.Retorna_Dominio: string;
var
hProcesso, hTokenAcesso: THandle;
Buffer: PChar;
Usuario: array[0..31] of char;
Dominio: array[0..31] of char;
TamanhoBufferInfo: Cardinal;
TamanhoUsuario: Cardinal;
TamanhoDominio: Cardinal;
snu: SID_NAME_USE;
begin
TamanhoBufferInfo := 1000;
TamanhoUsuario := sizeof(Usuario);
TamanhoDominio := sizeof(Dominio);
hProcesso := GetCurrentProcess;
if OpenProcessToken(hProcesso, TOKEN_READ, hTokenAcesso) then
try
GetMem(Buffer, TamanhoBufferInfo);
try
if GetTokenInformation(hTokenAcesso, TokenUser, Buffer, TamanhoBufferInfo,
TamanhoBufferInfo) then
LookupAccountSid(nil, PSIDAndAttributes(Buffer)^.sid, Usuario,
TamanhoUsuario, Dominio, TamanhoDominio, snu)
else
RaiseLastOSError;
finally
FreeMem(Buffer);
end;
result := Dominio;
finally
CloseHandle(hTokenAcesso);
end
end;
Quanto ao usuário eu ta,bém estou em dúvida, se alguém souber aí, diga lá.....
Declare WINSOCK na clausula Uses
function TForm1.Retorna_Dominio: string;
var
hProcesso, hTokenAcesso: THandle;
Buffer: PChar;
Usuario: array[0..31] of char;
Dominio: array[0..31] of char;
TamanhoBufferInfo: Cardinal;
TamanhoUsuario: Cardinal;
TamanhoDominio: Cardinal;
snu: SID_NAME_USE;
begin
TamanhoBufferInfo := 1000;
TamanhoUsuario := sizeof(Usuario);
TamanhoDominio := sizeof(Dominio);
hProcesso := GetCurrentProcess;
if OpenProcessToken(hProcesso, TOKEN_READ, hTokenAcesso) then
try
GetMem(Buffer, TamanhoBufferInfo);
try
if GetTokenInformation(hTokenAcesso, TokenUser, Buffer, TamanhoBufferInfo,
TamanhoBufferInfo) then
LookupAccountSid(nil, PSIDAndAttributes(Buffer)^.sid, Usuario,
TamanhoUsuario, Dominio, TamanhoDominio, snu)
else
RaiseLastOSError;
finally
FreeMem(Buffer);
end;
result := Dominio;
finally
CloseHandle(hTokenAcesso);
end
end;
Quanto ao usuário eu ta,bém estou em dúvida, se alguém souber aí, diga lá.....
GOSTEI 0
Amon-ra
29/09/2005
Pô perfeito maninho ^^
Usuário de rede alguém sabe?
Usuário de rede alguém sabe?
GOSTEI 0
Amon-ra
29/09/2005
Que viagem minha.. isso que dá copia o código e não pensar heheheh
A função tá respondendo (Result) o usuario de rede.. só que a variavel ´Usuário´ ja existe..
thanks carinha!
A função tá respondendo (Result) o usuario de rede.. só que a variavel ´Usuário´ ja existe..
thanks carinha!
GOSTEI 0