Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Список компьютеров в лок. сети   Найти похожие ветки 

 
Stanislav ©   (2005-10-03 16:33) [0]

Подскажите пожалуйста как получить список всех компьютеров работающих в локальной сети ?


 
alexbou   (2005-10-03 18:13) [1]

function TForm1.EnumNetRes(lpnr: PNetResource): Boolean;
type
 TNetResourceArray = array [0..65535] of TNetResource;
 PNRA = ^TNetResourceArray;
var
 dwResult, dwResultEnum: DWORD;
 hEnum: THandle;
 cbBuffer: DWORD;
 cEntries: DWORD;
 i: DWORD;
 lpnrLocal: PNRA;
begin
 cbBuffer := 16384;
 cEntries := DWORD(-1);

 dwResult := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
     0, lpnr, hEnum);

 if (dwResult <> NO_ERROR) then begin
//    ShowMessage("WNetEnumOpen error");
   Result := false;
   Exit;
 end;

 lpnrLocal := Pointer(GlobalAlloc(GPTR, cbBuffer));

 repeat
   // init buffer
   ZeroMemory(lpnrLocal, cbBuffer);

   // call WNetEnumResource
   dwResultEnum := WNetEnumResource(hEnum, cEntries, lpnrLocal, cbBuffer);

   // if success loop
   if dwResultEnum = NO_ERROR then
     for i := 0 to cEntries - 1 do begin
       Memo1.Lines.Add(lpnrLocal[i].lpRemoteName);
       Application.ProcessMessages;
       if not FSearch then break;
       if lpnrLocal[i].dwUsage and RESOURCEUSAGE_CONTAINER = RESOURCEUSAGE_CONTAINER then
         EnumNetRes(@lpnrLocal[i]);
     end
   else if dwResultEnum <> ERROR_NO_MORE_ITEMS then begin
//      ShowMessage("WNetEnumResource error");
     Result := false;
     Exit;
   end;

 until FSearch and not (dwResultEnum <> ERROR_NO_MORE_ITEMS);

 dwResult := WNetCloseEnum(hEnum);

 GlobalFree(Cardinal(lpnrLocal));

 if dwResult <> NO_ERROR then begin
//    ShowMessage("WNetCloseEnum error");
   Result := false;
   Exit
 end;

 Result := true;
end;


 
alexbou   (2005-10-03 18:14) [2]

Вызов - EnumNetRes(nil), так как функция рекурсивная

Выдает верхние домены и хосты для всех сетевых служб


 
Vetalich ©   (2005-10-18 23:48) [3]

А не подскажите как етим пользоваться...
очень надо...



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
15-1136617814
begin...end
2006-01-07 10:10
2006.01.29
С Днём рождения! 7 января


2-1136634468
Nic
2006-01-07 14:47
2006.01.29
Как закрыть программу в C#


2-1136973884
Nafania
2006-01-11 13:04
2006.01.29
SOS!!!


2-1136967660
Slaga
2006-01-11 11:21
2006.01.29
Ошибки при запуске сервиса


2-1136990515
ctranik
2006-01-11 17:41
2006.01.29
у меня неполучаетсмя присваивать значения TRegistry.RootKey?