Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
3-1105929565
D3m
2005-01-17 05:39
2005.02.13
SQL-запрос...


14-1106686685
Гаврила
2005-01-25 23:58
2005.02.13
Компания "Эскорт" - кто что слышал


4-1103725932
Rayslava
2004-12-22 17:32
2005.02.13
Сохранение процесса


1-1107251871
Demir
2005-02-01 12:57
2005.02.13
Excel


3-1105635464
misha_gr
2005-01-13 19:57
2005.02.13
проблемка с TADOQuery




   Наверх