Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
Димыч ©   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.05 c
2-1164221577
TObject2k
2006-11-22 21:52
2006.12.10
интерфейсы


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


15-1164052618
melkyi
2006-11-20 22:56
2006.12.10
Петр Дранго


2-1164360980
KyRo
2006-11-24 12:36
2006.12.10
Как узнать создана ли нить


15-1164011476
Gavrila
2006-11-20 11:31
2006.12.10
TTreeView: как правильно использовать метод AddObject?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский