Главная страница
    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.46 MB
Время: 0.01 c
5-1135842582
De
2005-12-29 10:49
2006.07.30
Хочу вызвать диалог TImageList


6-1142584643
MrShadow
2006-03-17 11:37
2006.07.30
Помогите разобраться!


2-1152445039
mctarik
2006-07-09 15:37
2006.07.30
Как в TEdit сделать ввод данных с проверкой по маске...


1-1150117477
неважно
2006-06-12 17:04
2006.07.30
Наследник TStringGrid a


1-1150819268
Beduir
2006-06-20 20:01
2006.07.30
Comobox очищается в режиме DropDownList





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский