コンピュータがネットワークに接続されているかどうかを知るには、次の方法で取得します。
ネットワークが利用可能かどうか調べるには、VB2005から追加されたMy.Computer.Network.IsAvailableプロパティ を使用します。ネットワークに接続している場合、trueを返し接続していない場合、falseを返します。
If My.Computer.Network.IsAvailable Then
MessageBox.Show("ネットワークに接続されていません。")
End If
ただし、この場合複数のネットワークインターフェイスがある場合、どちらか一方が接続可能であれば 接続可能であるtrueを返すようです。
ネットワークが利用可能かどうか調べるには、NetworkInterfaceクラスのGetIsNetworkAvailableプロパティ を使用します。ネットワークに接続している場合、trueを返し接続していない場合、falseを返します。
' System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable
If Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable Then
MessageBox.Show("ネットワークに接続されていません。")
End If
ただし、この場合複数のネットワークインターフェイスがある場合、どちらか一方が接続可能であれば 接続可能であるtrueを返すようです。
複数のネットワークインターフェイスがある場合、次のように取得します。
IsAvailableでは、「ネットワーク インターフェイスが "up" とマークされていて、ループバックインターフェイス またはトンネルインターフェイスではない場合、ネットワーク接続は使用可能と見なされます。」と記述されているため 同じようにインターフェイスごとに確認します。
Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim adapter As NetworkInterface
For Each adapter In adapters
If adapter.OperationalStatus = OperationalStatus.Up Then
If adapter.NetworkInterfaceType <> NetworkInterfaceType.Loopback _
Or adapter.NetworkInterfaceType <> NetworkInterfaceType.Tunnel Then
' 接続している
End If
Else
' 接続していない
End If
Next
Copyright 1997-2008 BBB All rights reserved.