Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
15-1151640852
tButton
2006-06-30 08:14
2006.07.30
вот такое вот сообщение пришло... думаю...


3-1148423415
lockheed_man
2006-05-24 02:30
2006.07.30
Работа с DBLookupComboBox


2-1152181187
Quattro
2006-07-06 14:19
2006.07.30
Ширина символа


2-1152429744
XTD
2006-07-09 11:22
2006.07.30
Непонятные символы при ответе из СОМ порта.


15-1151488549
ANB
2006-06-28 13:55
2006.07.30
США ущемляют атеистов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский