Witam,
Potrzebuję określić który adres IP używa komputer do połączenia z internetem i ten adres wyświetlić, chciałem to zrobić tak:
string adres="";
var adapters = from adapter in NetworkInterface.GetAllNetworkInterfaces()
where adapter.OperationalStatus == OperationalStatus.Up &&
adapter.Supports(NetworkInterfaceComponent.IPv4) &&
((adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) || (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet))
&& adapter.GetIPProperties().GatewayAddresses.Count > 0 &&
adapter.GetIPProperties().GatewayAddresses[0].Address.ToString() != "0.0.0.0"
select adapter;
adres= (adapters.First(x => x is NetworkInterface)).GetIPProperties().GatewayAddresses[0].Address.ToString();
ale to nie działa bo nie widzę tam adresu IP tylko Gateway poza tym nawet jak jest to połączenie lokalne to też pokazuje to połączenie, może być też taki przypadek że połączenie z urządzeniem jest ale nie ma w nim jednak internetu wtedy też pokazuje że jest connect, ma ktoś pomysł jak to rozwiązać, bez logowania się na jakieś strony które zwrócą adres.