Здравствуйте, Hacker_Delphi, Вы писали:
H_D>интереса для при выдернутом кабеле набери ipconfig /all в командной строке.. скорее всего он тоже 0.0.0.0 даст...
Адреса вообще не дает. Просто говорит, что сеть отключена.
И>>Есть некрасивый способ через реестр, но он может зависеть от варианта ОС. H_D>И не факт, что получишь то, что надо... H_D>В сторону: на самом деле надо брать именно те данные, которые система отдает... если она говорит 0.0.0.0 — значит так и должно быть...
Может я ошибаюсь, похоже все обсуждаемые варианты (кроме реестра), дают адрес, получаемый через соединение.
Так как соединения нет из-за кабеля, то нет и IP адреса в ответе.
Но где-то же лежит настроенный статический IP адрес, присвоенный оператором для TCPIP интерфейса при работе с диалогом:
...Сеть-Свойства-Протокол Интернета(TCP/IP)-Использовать следующий IP адрес- IP адрес/Маска подсети/Основной шлюз
Как получить именно эти настройки? Ведь они сохраняются (в реестре?) независимо от подключенности кабеля.
Если интересно, могу рассказать, как получить кучу настроек (и IP адреса) из реестра. Неужели майкрософтовцы
так неуважают простых программистов?
Попробовал совет revgen-а через:
.GetIPGlobalProperties().NetworkInterface[].GetIPProperties().UnicastAddresses[].Address
результат тот же: Unicast отключенной карты = null.