Public Class Form1
'獲取網絡連接狀態
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If My.Computer.Network.IsAvailable = True Then
Me.TextBox1.Text = "計算機已連接到網絡上"
Else
Me.TextBox1.Text = "計算機未連接到網絡上"
End If
End Sub
End Class
二.用wininet.dll判斷網絡是否正常連接的方法作者沒有采用.Net自己提供的My.Computer.Network.IsAvailable去判斷網絡是否正常連接,而是調用了Wininet.dll來判斷。
代碼如下:
Imports System
Imports System.Runtime.InteropServices
Imports System.Text
''' <summary>
''' Determine whether or not there is a connection to the Internet present on the local machine.
''' </summary>
''' <remarks></remarks>
Public Class InternetConnectionCheck
<DllImport("WININET", CharSet:=CharSet.Auto)> _
Private Shared Function InternetGetConnectedState(ByRef lpdwFlags As InternetConnectionState, ByVal dwReserved As Integer) As Boolean
End Function
<Flags()> _
Public Enum InternetConnectionState As Integer
INTERNET_CONNECTION_MODEM = &H1
INTERNET_CONNECTION_LAN = &H2
INTERNET_CONNECTION_PROXY = &H4
INTERNET_RAS_INSTALLED = &H10
INTERNET_CONNECTION_OFFLINE = &H20
INTERNET_CONNECTION_CONFIGURED = &H40
End Enum
''' <summary>
''' Call this function to know whether the internet is connected or not.
''' </summary>
''' <returns>Boolean</returns>
''' <remarks></remarks>
Public Shared Function IsInternetConnected() As Boolean
Dim flags As InternetConnectionState = 0
Try
If InternetGetConnectedState(flags, 0) Then
Return True
Else
Return False
End If
Catch ex As Exception
Throw ex
Finally
flags = Nothing
End Try
End Function
End Class