vê se ajuda:

procedure FindComputers(Workgroup: string; aResList: TStrings);
var
  eNumHandle : THandle;
  WorkgroupRS : TNetResource;
  Buf : array[1..500] of TNetResource;
  BufSize : DWORD;
  Entries : DWORD;
  Result : integer;
  sComputer: String;
begin
  if not Assigned(aResList) then
    Exit;
  aResList.Clear;
  WorkGroup := Workgroup + #0;
  FillChar(WorkGroupRS, SizeOf(WorkGroupRS), 0);
  with WorkgroupRS do begin
    dwScope := 2;
    dwType := 3;
    dwDisplayType := 1;
    dwUsage := 1;
    lpRemoteName := @Workgroup[1];
  end;
  WNetOpenEnum(Resource_GlobalNet, ResourceType_Any, 0, @WorkgroupRS,
  ENumHandle);
  repeat
    Entries := 1;
    BufSize := SizeOf(Buf);
    Result := WNetENumResource(ENumHandle, Entries, @Buf, BufSize);
    if (result = NO_Error) and (Entries = 1) then begin
      sComputer:= StrPas(Buf[1].lpRemoteName);
      aResList.Add(Copy(sComputer, 3, Length(sComputer)-2));
    end;
  until (Entries <> 1) or (Result <> NO_Error);
  WNetCloseENum(ENumHandle);
end;


--- Em delphi-br@yahoogrupos.com.br, "Luiz Escobar" <[EMAIL PROTECTED]> escreveu
>
> Preciso de uma função/componente que liste todos os nomes E IP´s dos 
> computadores da rede.....
> ALLguem tem algo parecido ?
> 
> Luiz Escobar
> Analista/Desenvolvedor:
> WEB - HTML/JavaScript/PHP/MySQL
> WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
> DOS - Clipper/Assembler xBase
> SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
> LINUX - LAZARUS/Kylix/MySQL;
> http://www.megasistema.com.br
>


Responder a