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

Вниз

Проблема с получением списка ПК в локальной сети   Найти похожие ветки 

 
IceBeerg ©   (2006-07-12 18:47) [0]

Как собственно получить список ПК работающих в локальной сети если через 5-10 минут после загрузки пропадает доступ к рабочей группе (никакие сервисы за это время не останавливаются, иногда доступ к группе есть и весь сеанс работы), WNetOpenEnum с WNetEnumResource в данном случае работаю не корректно.
В принципе можно получить имя и/или локальный адрес текущего ПК GetHostName и GetHostByName(nil), но если у ПК 2е сетевые катры и следовательно 2а IP.
Как "победить" данную ситуацию?


 
IceBeerg ©   (2006-07-13 10:08) [1]

Немного не дописал вчера идею. Можно получить адрес текущего ПК через GetHostByName(nil) откусить последнее число и перебором получить список ПК. Например: 192.168.1.12 => 192.168.10. и далее в цикле
For CurIP:=1 to 255 do
Begin
HostEnt:=GetHostByAdr("192.168.10."+IntToStr(CurIP);

ну и т.д.

А как быть если 2е сетевые карты и у одной адрес 192.168.1.12, а у другой 192.168.1.1?

Как узнать IP привязанный к конкретной сетевухе?


 
Alien1769 ©   (2006-07-13 10:14) [2]


> А как быть если 2е сетевые карты и у одной адрес
192.168.1.12,
> а у другой 192.168.1.1?

Нет логики. Если комп работает на две сети, то скорее должно быть
192.168.2.12
А дальше просто. Твои адреса это пример или реальные?


 
IceBeerg ©   (2006-07-13 10:17) [3]

Alien1769 ©   (13.07.06 10:14) [2]
Да, ошибся 192.168.2.1.
Пример НЕ реальный, ктож будет публиковать свой IP?


 
IceBeerg ©   (2006-07-13 10:18) [4]

Дык конечно можно преребором и 2ю циферку адреса проверить... но время уйдет...


 
Zeqfreed ©   (2006-07-13 10:19) [5]

> Как узнать IP привязанный к конкретной сетевухе?

GetAdaptersInfo
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getadaptersinfo.asp


 
IceBeerg ©   (2006-07-13 10:32) [6]

Zeqfreed ©   (13.07.06 10:19) [5]
Ммм, дааа, буду разбитаться, спасибо, думал есть способ по проще.


 
Zeqfreed ©   (2006-07-13 10:39) [7]

> [6] IceBeerg ©   (13.07.06 10:32)

Да вроде ничего сложного там нет. Тем более пример на МСДН есть :)
Вот тут — http://forum.winsov.ru/index.php?act=Print&client=printer&f=29&t=2618 — можно найти импорт функции и объявления типов/констант. При беглом поиске полных заголовков под Delphi для Iphlpapi.dll я не нашел.


 
IceBeerg ©   (2006-07-13 11:05) [8]

Zeqfreed ©   (13.07.06 10:39) [7]
Вот спасибо, все просто и понятно, зарываюсь в код.


 
IceBeerg ©   (2006-07-13 14:00) [9]

Это все конечно хорошо, но тупым перебором от 1 до 255 IP адресов с GetHostByAdr эта ж скока времени уйдет...

Может у кого еще какие идеи есть?



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1150451941
oleg444
2006-06-16 13:59
2006.07.30
Не могу отладить DLL


2-1152532623
SergeyG
2006-07-10 15:57
2006.07.30
Как сделать, чтобы форма и расположенные на ней компоненты


15-1151880203
ronyn
2006-07-03 02:43
2006.07.30
html авторизация и регистрация


2-1152546932
PP
2006-07-10 19:55
2006.07.30
SQL запрос на выборку из трёх таблиц


3-1148477220
p_evghenii
2006-05-24 17:27
2006.07.30
Группировка запроса по датам