Ip interno + externo + nome da maquina + usuario logado
// ai vai uma "dica" para quem esta precisando saber algumas informações da maquina... coloquei 4 botões no form e 4 labels, renomeei os labels apenas p/ facilitar...
{------------------------------ IP Externo ------------------------------------} procedure TForm1.Button1Click(Sender: TObject); var
IP : TIdHTTP;
Temporario : String;
Endereco,Result : String;
X : Integer; begin try
IP := TIdHTTP.Create(nil); with IP do begin
Host := 'checkip.dyndns.org';
Temporario := Get('checkip.dyndns.org'); For X := 1 to Length(Temporario) do if (Temporario[X] in ['0'..'9']) or (Temporario[X] = '.') then
Endereco := Endereco + Temporario[X]; end;
Result := Trim(Endereco);
IP.Free;
LblIPExterno.Caption := Result except
Result := 'ERRO'; end; end;
{------------------------------ IP Externo ------------------------------------} procedure TForm1.Button2Click(Sender: TObject); var
WSAData : TWSAData;
HostEnt : PHostEnt; Name, Result : string; begin
WSAStartup(2, WSAData);
SetLength(Name, 255);
Gethostname(PChar(Name), 255);
SetLength(Name, StrLen(PChar(Name)));
HostEnt := gethostbyname(PChar(Name)); with HostEnt^ do
Result:=Format('%d.%d.%d.%d',[Byte(h_addr^[0]),
Byte(h_addr^[1]),Byte(h_addr^[2]),Byte(h_addr^[3])]);
WSACleanup;
LblIPInterno.Caption := Result; end;
{----------------------------- Nome da Maquina --------------------------------} Function NomeMaquina : String; // Retorna o nome do computador var
lpBuffer : PChar;
nSize : DWord; const Buff_Size = MAX_COMPUTERNAME_LENGTH + 1; begin try
nSize := Buff_Size;
lpBuffer := StrAlloc(Buff_Size);
GetComputerName(lpBuffer,nSize);
Result := String(lpBuffer);
StrDispose(lpBuffer); except
Result := ''; end; end; //----------------------------------------------------------------------------// procedure TForm1.Button3Click(Sender: TObject); begin
LblNomeDaMaquina.Caption := NomeMaquina; end; //----------------------------------------------------------------------------//
{------------------------------- Usuario Logado -------------------------------} Function usuario: string; var
buffer: array[0..255] of char;
size: dword; begin
size := 256; if GetUserName(buffer, size) then
Result := buffer else
Result := '' end; //----------------------------------------------------------------------------// procedure TForm1.Button4Click(Sender: TObject); begin
LblUsuarioLogado.Caption := Usuario; end; //----------------------------------------------------------------------------// end.