Главная страница
    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.45 MB
Время: 0.043 c
3-1159793840
Wolferio
2006-10-02 16:57
2006.12.10
Как узнать типы полей в базе данных


2-1163879556
flaxe
2006-11-18 22:52
2006.12.10
Сообщение над треем


3-1159512584
vodvorezlaya
2006-09-29 10:49
2006.12.10
Трёхмерные таблицы


1-1161939238
StriderMan
2006-10-27 12:53
2006.12.10
Цвет точек сетки


2-1164256385
denand
2006-11-23 07:33
2006.12.10
Про иконки в Tlistview





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский