VistaでIPアドレスを取得したい

解決


ヘチマ  2009-12-09 15:23:52  No: 146650  IP: [192.*.*.*]

はじめまして。
今、VB2005で開発を行っていますが、IPアドレスの取得で悩んでいます。
OSがXPですと、
A = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName).AddressList(0).ToString
でちゃんと取得出来たのですが、Vistaで実行した場合、
長い数字やアルファベットが返って来ます。
VistaでIPアドレスを取得するにはどのようにすればいいでしょうか?

編集 削除
Hongliang  2009-12-09 15:55:41  No: 146651  IP: [192.*.*.*]

それも IP アドレスです。ただ IPv6 のアドレスというだけ。
IPv4 のアドレスが必要なら、AddressList の中から AddressFamily が InterNetwork のものを使ってください。
なお、XP でも IPv6 をインストールすれば AddressList の中に IPv6 のアドレスが含まれるようになります。

編集 削除
ヘチマ  2009-12-09 18:01:06  No: 146652  IP: [192.*.*.*]

AddressFamily、聞きなれない単語でしたが、
調べて下記のように何とか出来るようになりました!!

A = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName).AddressList(i)

If A.AddressFamily.ToString()=ProtocolFamily.InterNetwork.ToString() Then
  B = A.ToString
End If

ありがとうございました。

編集 削除
YuO  2009-12-09 18:10:47  No: 146653  IP: [192.*.*.*]

解決となっていますが……。

> If A.AddressFamily.ToString()=ProtocolFamily.InterNetwork.ToString() Then
If A.AddressFamily = AddressFamily.InterNetwork Then
です。

編集 削除