aí vai 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, "maniacapordelphi" <[EMAIL PROTECTED]> escreveu > > Como faço para descobrir o nome de todas as máquinas conectadas em > rede? > Mani >