Delphi - база знаний


Как найти все комьютеры в сети?


Как найти все комьютеры в сети?





function EnumerateFunc( hwnd: HWND; hdc: HDC; lpnr: PNetResource ): Boolean;
const
 cbBuffer : DWORD    = 16384;      // 16K is a good size
var
 hEnum, dwResult, dwResultEnum : DWORD;
 lpnrLocal : array
       [0..16384 div SizeOf(TNetResource)] of TNetResource;    // pointer to enumerated structures
 i : integer;
 cEntries : Longint;             
begin
 centries := -1;      // enumerate all possible entries

 // Call the WNetOpenEnum function to begin the enumeration.
 dwResult := WNetOpenEnum(
                         RESOURCE_CONTEXT,  // Enumerate currently connected resources.
                         RESOURCETYPE_DISK, // all resources
                         0,                 // enumerate all resources
                         lpnr,              // NULL first time the function is called
                         hEnum              // handle to the resource
                         );

 if (dwResult <> NO_ERROR) then
 begin
   // Process errors with an application-defined error handler
   Result := False;
   Exit;
 end;

 // Initialize the buffer.
 FillChar( lpnrLocal, cbBuffer, 0 );

 // Call the WNetEnumResource function to continue
 //  the enumeration.
 dwResultEnum := WNetEnumResource(hEnum,           // resource handle
                                 DWORD(cEntries),  // defined locally as -1
                                 @lpnrLocal,       // LPNETRESOURCE
                                 cbBuffer);        // buffer size

 // This is just printing
 for i := 0 to cEntries - 1 do
 begin
   // loop through each structure and 
   // get remote name of resource... lpnrLocal[i].lpRemoteName)
 end;

 // Call WNetCloseEnum to end the enumeration.
 dwResult := WNetCloseEnum(hEnum);

 if(dwResult <> NO_ERROR) then
 begin
   // Process errors... some user defined function here
   Result := False;
 end
 else
   Result :=  True;
end;

Код вроде бы из борландовского FAQ. На форуме приведен SmaLL

Взято с Vingrad.ru




Начало  Назад  Вперед



Книжный магазин