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

Вниз

Оптимизация сканирования локальной сети   Найти похожие ветки 

 
arp   (2004-05-01 19:57) [0]

Знатоки подскажите возможно оптимизировать скорость сканирования компов в сети?

Есть вот такой способ (взят с этого форума)(представлена лишь часть):

ListBox1.Items.Clear;
ComputerCount := 0;
Workgroup := Edit3.Text + #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
  Entriess := 1;
  BufSize := SizeOf(Buf);
  Result :=  WNetEnumResource( EnumHandle,Entriess,@Buf,BufSize );
  If (Result = NO_ERROR) and (Entriess = 1) then
    begin
     Inc( ComputerCount );
     Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);g:="";
     if Computer[ ComputerCount ]<>"" then
       for i:=3 to length(Computer[ ComputerCount ]) do g:=g+Computer[ ComputerCount ][i];
    ListBox1.Items.Add(g)
end;
Until (Entriess <> 1) or (Result <> NO_ERROR);
WNetCloseEnum( EnumHandle );

методом применения разных способов этот код показал наиболее лучшие результаты по скорости.
Возможно вообще улучшить? или даже стараться не стоит?


 
Rouse_ ©   (2004-05-01 23:07) [1]

Разнеси по нескольким потокам - основной сканирует компы, дополнительные сканируют их ресурсы... если ресурсы не нужны - то ничего оптимизировать не нужно, вот правда над стилем кода желательно задуматься...



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

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

Наверх




Память: 0.46 MB
Время: 0.02 c
14-1085858907
Knight
2004-05-29 23:28
2004.06.20
Тайцзицюань....


14-1085944450
Тимур
2004-05-30 23:14
2004.06.20
Game Shark


1-1086516192
Larry Laffer
2004-06-06 14:03
2004.06.20
Функция в DLL


1-1086265785
han
2004-06-03 16:29
2004.06.20
Variant


8-1081268001
Paladin
2004-04-06 20:13
2004.06.20
Конвертация jpg в bmp