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

Вниз

Список компьютеров в сети и WMI для них   Найти похожие ветки 

 
Barsik   (2004-12-03 11:02) [0]

Очень нужна ваша помощь. Как получить список компьютеров в сети.
Помогите пожалуйста! Или хотя бы ткине носом в линк...
На вторую часть вопроса я вроде ответ нашел (благо много методик есть для получения информации по WMI), но все равно буду рад вашим советам


 
globus66   (2004-12-03 15:01) [1]

Вообще WNetEnumResource.
А если дать более расширенный ответ, то в справке по Win32 SDK Reference, поставляемого в месте с дельфой, на вкладке Index
набираем WNet* ну и собственно читаем все что начинается с "WNet" - все это будет относиться к сетям Microsoft
Можно еще попробовать в поисковике набрать "WNetEnumResource"
И одна из ближайших ссылок будет содержать готовый пример


 
Barsik   (2004-12-03 15:28) [2]

Я взял пример из здешнего FAQ.
==========================================
var  Computer      : Array[1..500] of String[25];  ComputerCount : Integer;procedure FindAllComputers(Workgroup: String);Var  EnumHandle  : THandle;   WorkgroupRS : TNetResource;   Buf         : Array[1..500] of TNetResource;   BufSize     : Integer;   Entries     : Integer;   Result      : 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);     Result :=      WNetEnumResource( EnumHandle,                        Entries,                        @Buf,                        BufSize );    If (Result = NO_ERROR) and (Entries = 1) then begin       Inc( ComputerCount );       Computer[ ComputerCount ] := StrPas(Buf[1].lpRemoteName);     end;   Until (Entries <> 1) or (Result <> NO_ERROR);   WNetCloseEnum( EnumHandle ); end;  { Find All Computers }
==========================================
Но есть одна особенность. Если я задаю Workgroup пустой, она мне находит список верхней сетевой конфигурации

если задаю имя сети, то выдает список серверов в ней, но на промемежуточный уровень именуемый "Сеть Microsoft Windows" список самих серверов не выдает.
Может кто знает как надо параметры подправить?
Пожалуйста, очень нужна Ваша помощь!!!!


 
Barsik   (2004-12-03 22:58) [3]

господа специалисты, ну проникнитесь проблемой...очень нужно получить список сетей...



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

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

Наверх




Память: 0.47 MB
Время: 0.059 c
3-1105599719
denis24
2005-01-13 10:01
2005.02.13
Tadotable.locktype


14-1106727329
Sergo
2005-01-26 11:15
2005.02.13
API для работы с реестром


9-1099835093
Колбасьев
2004-11-07 16:44
2005.02.13
3DS и другие форматы


14-1106386965
Шишкин Илья
2005-01-22 12:42
2005.02.13
Дизайн сайта


3-1105529961
grigory
2005-01-12 14:39
2005.02.13
Публикация базы в интернете!