Главная страница
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.025 c
3-1106040041
Russko
2005-01-18 12:20
2005.02.13
ComboBox и БД


14-1106244642
netnetnetnet
2005-01-20 21:10
2005.02.13
Физика


1-1106898560
Jetus
2005-01-28 10:49
2005.02.13
Как получить результат выполнения командной строки


14-1106327826
olookin
2005-01-21 20:17
2005.02.13
Кусок сердца


3-1105456574
AlexXn
2005-01-11 18:16
2005.02.13
Midas+SocketServer ПРОБЛЕМЫ!!!