Equipos conectados en red

Como puedo obtener una lista de todos los equipos(nombres de equipos) de una instranet

1 Respuesta

Respuesta
1
Prueba esto:
procedure EnumNetResources(List: TStrings);
procedure EnumFunc(NetResource: PNetResource);
var
Enum: THandle;
Count, BufferSize: DWORD;
Buffer: array[0..16384 div SizeOf(TNetResource)] of TNetResource;
i: Integer;
CommaText: String;
Name: String;
begin
if WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0,
NetResource,Enum) = NO_ERROR then
try
Count := $FFFFFFFF;
BufferSize := SizeOf(Buffer);
CommaText := '';
while WNetEnumResource(Enum, Count, @Buffer, BufferSize) = NO_ERROR do
begin
for i := 0 to Count - 1 do
begin
if Buffer.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
begin
Name := UpperCase(Buffer.lpRemoteName);
Delete(Name,1,2);
List.Add(Name);
end;
if (Buffer.dwUsage and RESOURCEUSAGE_CONTAINER) > 0 then
EnumFunc(@Buffer)
end;
if(CommaText <> '')then
end;
List.CommaText := List.CommaText+','+CommaText;
finally
WNetCloseEnum(Enum);
end;
end;
begin
EnumFunc(nil);
end;
gracias de antemano
una consulta con que parametros mando al procedimiento y que componentes utilizo,
trate de probarlo pero al encontrar el primer equipo sale un error
saludos
joranto
Lo mejor es usar los componentes ICS.
ICS son freeware e incluyen el código fuente. Bájate ICS.ZIP de http://overbyte.delphicenter.com/frame_index.html
Mira la aplicación de ejemplo
DnsLook y la función LocalIPList.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas