Главная страница
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.048 c
3-1105613279
про
2005-01-13 13:47
2005.02.13
Kak emo1 prisvoit imena iz DBGrida??


1-1107182300
Зигмунд
2005-01-31 17:38
2005.02.13
Проблемы с установкой компонента AlHintballoon.


1-1106941909
MadGhost
2005-01-28 22:51
2005.02.13
Как мне из Memo сделать наподобие терминалки?


14-1106412036
Никита
2005-01-22 19:40
2005.02.13
Помогите найти Kylix!


4-1103866801
Дмитрий Александрович
2004-12-24 08:40
2005.02.13
Узнать сколько байт (бит) программы загружено в память.