Главная страница
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.104 c
15-1136839206
Kerk
2006-01-09 23:40
2006.01.29
Баян :)


2-1136846116
heruvim
2006-01-10 01:35
2006.01.29
Печать в Delphi


2-1136797628
vinali
2006-01-09 12:07
2006.01.29
вопрос по COM порту


15-1136269910
begin...end
2006-01-03 09:31
2006.01.29
С Днём рождения! 3 января


15-1136460512
V-A-V
2006-01-05 14:28
2006.01.29
Просмотр графических файлов