Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 03-06-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Considerando la necesidad de enumerar los equipos que se encuentran en varias redes diferentes dentro de una LAN hice la siguiente variación del truco;

Código Delphi [-]
procedure AddHosts(Node: PNetResource; List: TStrings);
var hEnum, Count, Size: Cardinal; lpAddress, Item: PNetResource;
begin
 Count := $FFFFFFFF; Size := 1024 * 1024;
 lpAddress := VirtualAlloc(nil, Size, MEM_COMMIT, PAGE_READWRITE);
 WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, Node, hEnum);
 WNetEnumResource(hEnum, Count, lpAddress, Size);
 WNetCloseEnum(hEnum);
 Item := lpAddress;
 while Integer(Count) > 0 do
  begin
   if Item.dwDisplayType in [RESOURCEDISPLAYTYPE_DOMAIN, RESOURCEDISPLAYTYPE_NETWORK] then
    AddResources(Item, List)
   else
    if Item.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
     List.Add(Item.lpRemoteName);
   Dec(Count);
   Inc(Item);
  end;
 VirtualFree(lpAddress, 0, MEM_RELEASE);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 AddResources(nil, ListBox1.Items);
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:56:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi