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

Вниз

Сетевое окружение   Найти похожие ветки 

 
Димыч ©   (2006-11-23 13:28) [0]

Неужели нет способа получить список компьютеров в локальной сети не производя длительных поисков (таких как в программе NetScan)? Есть ли способ получить этот список от Windows, она же выводит его гораздо быстрее, может она его гдето хранит?


 
Elen ©   (2006-11-23 13:38) [1]

Почему нет? есть :

function FindAllComputers(Workgroup: string;Divider:string=#13#10):string;

var
 EnumHandle: THandle;
 WorkgroupRS: TNetResource;
 Buf: array [1..500] of TNetResource;
 BufSize: cardinal;
 Entries: cardinal;
 Res: Integer;
 Computer:string[255]; { array [1..500] of  string[25];}

 ComputerCount: Integer;

begin
 ComputerCount := 0;
 Workgroup := Workgroup + #0;
 FillChar(WorkgroupRS, SizeOf(WorkgroupRS) , 0);
 with WorkgroupRS do
 begin
   dwScope := 2;
   dwType := 3;
   dwDisplayType := 1;
   dwUsage := 2;
   lpRemoteName := @Workgroup[1];
 end;

 WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, @WorkgroupRS, EnumHandle);

 repeat
   Entries := 1;
   BufSize := SizeOf(Buf);

   Res := WNetEnumResource(EnumHandle, Entries, @Buf, BufSize);
   if (Res = NO_ERROR) and (Entries = 1) then
   begin
     Inc( ComputerCount );
     Computer{[ ComputerCount ]} := StrPas(Buf[1].lpRemoteName);
     result:=result+Divider+(Computer{[ ComputerCount ]});
   end;
 until
   (Entries <> 1) or (Res <> NO_ERROR);

 WNetCloseEnum( EnumHandle );
end;
//**************************************************************************


 
Димыч ©   (2006-11-24 09:28) [2]

В работе код еще не опробовал, но все равно большое спасибо за ответ поделу (без воды) :)


 
Elen ©   (2006-11-24 09:32) [3]


> Димыч

В догонку : ListBox.items.text:=FindAllComputers(...



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

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

Наверх




Память: 0.47 MB
Время: 0.064 c
8-1145904682
Pojarnik
2006-04-24 22:51
2006.12.10
Отлов WM_CAP... сообщений


2-1164309199
Goric
2006-11-23 22:13
2006.12.10
Дата/время


15-1164002887
balepa
2006-11-20 09:08
2006.12.10
FineReader8 and Word2003


2-1163808177
aleko
2006-11-18 03:02
2006.12.10
надстройка в Excel


15-1164017918
_Ламер_
2006-11-20 13:18
2006.12.10
Что будет со службой если она зависнет?