Listar computadores - NetView
25/11/2005
0
Boa tarde.
Gostaria de saber se existe uma maneira pratica de lista os computadores de
conectados a minha rede.
Jah consegui fazer uma [i:4b8716e5c8]gambiarra[/i:4b8716e5c8] utilizando o NetView do DOS, enviando
o conteudo para um arquivo de texto e depois tratando o seu conteudo, mas assim
gera um tempo de espera muito grande.
NÆo existe nada um pouco + pratico q isto.
Agradeceria muito se alguem pudesse me ajudar
Abracos.
Gostaria de saber se existe uma maneira pratica de lista os computadores de
conectados a minha rede.
Jah consegui fazer uma [i:4b8716e5c8]gambiarra[/i:4b8716e5c8] utilizando o NetView do DOS, enviando
o conteudo para um arquivo de texto e depois tratando o seu conteudo, mas assim
gera um tempo de espera muito grande.
NÆo existe nada um pouco + pratico q isto.
Agradeceria muito se alguem pudesse me ajudar
Abracos.
Aloizio Castro
Curtir tópico
+ 0
Responder
Posts
25/11/2005
Emerson Nascimento
tente essa rotina:
var hEnum, dwResult, dwResultEnum : DWORD; lpnrLocal : array [0..16384 div SizeOf(TNetResource)] of TNetResource; // ponteiro para as estruturas enumeradas i : integer; cEntries : Longint; cbBuffer: DWORD; begin centries := -1; // enumera todas as entradas possíveis cbBuffer := 16384; // 16K // chama a função WNetOpenEnum para inciar a enumeração. dwResult := WNetOpenEnum( RESOURCE_CONTEXT, // Enumera o recursos atualmente conectados. RESOURCETYPE_DISK, // todos os recursos 0, // enumera todos os recursos nil, // NULL hEnum // handle para os recursos ); if (dwResult <> NO_ERROR) then begin // poderia processar os erros com um manipulador de erros // definido na aplicação. Exit; end; // inicializa o buffer. FillChar( lpnrLocal, cbBuffer, 0 ); // chama a função WNetEnumResource para continuar a enumeração dwResultEnum := WNetEnumResource(hEnum, // manipulador DWORD(cEntries), // definido localmente como -1 @lpnrLocal, // LPNETRESOURCE cbBuffer); // tamanho do buffer ListBox1.Clear; // preencho uma listbox for i := 0 to cEntries - 1 do begin // lê cada estrutura para pegar o nome do // recurso remoto (lpnrLocal[i].lpRemoteName) ListBox1.Items.Add( lpnrLocal[i].lpRemoteName ); end; // chama WNetCloseEnum para finalizar a enumeração. dwResult := WNetCloseEnum(hEnum); end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)