Главная страница
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.029 c
3-1160123972
Tornado
2006-10-06 12:39
2006.12.10
Подключение к dbf-файлам


2-1164189213
MmMmMmM
2006-11-22 12:53
2006.12.10
Edit Text + array of Char


2-1164370211
koha
2006-11-24 15:10
2006.12.10
Как правильно удалить Строку в StringGrid?


2-1164199029
Виктор1
2006-11-22 15:37
2006.12.10
Получение компонентов окна


15-1163702729
kassel*666*
2006-11-16 21:45
2006.12.10
Срочняк РГЗ