Search Tools Links Login

Internet Status


Visual Basic 6, or VB Classic

Determines if a connection to the internet has been established, also retrieves the type of connection. I recently submitted an article entry titled Internet Status. The methods in which I used to determine the same information was incorrectly used as I was miss-informed by ApiViewer 2002. I have resolved those problems.
PS. Don't ever depend on APIViewer for accurate Function declarations.

Original Author: Alex Smoljanovic

Code

Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Integer
Private Const INTERNET_CONNECTION_PROXY = &H4
Private Const INTERNET_CONNECTION_CONFIGURED = &H40
Private Const INTERNET_CONNECTION_LAN = &H2
Private Const INTERNET_CONNECTION_MODEM = &H1
Private Const INTERNET_RAS_INSTALLED = &H10
Private Const INTERNET_CONNECTION_OFFLINE = &H20
Private Type tConnectionStatus
Connected As Boolean
ConnectionType As String
RASInstalled As Boolean
End Type
'general declarations....
Private Function GetConnectionInfo(ConnectionStatus As tConnectionStatus) As Boolean
Dim pdFlags& 'Dimensionalize pdFlags as long data type
If InternetGetConnectedState(pdFlags&, 0) Then
'Call InternetGetConnectedState to initialize pdFlags with the current connection information flags
GetConnectionInfo = True
'InterNetGetConnectedState function was successful, return true
If (pdFlags& And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
'Perform a Bitwise And operation to determine if the variable pdFlags specifies the Internet_Connection_Proxy constant
ConnectionStatus.ConnectionType = "Local system uses a proxy server to connect to the Internet."
'Initialize ConnectionStatus's ConnectionType member with the appropriate connection description
  ConnectionStatus.Connected = True
  'Initialize this structures Connected member
End If
If (pdFlags& And INTERNET_CONNECTION_CONFIGURED) = INTERNET_CONNECTION_CONFIGURED Then
  ConnectionStatus.Connected = True
  ConnectionStatus.ConnectionType = "Local system has a valid connection to the Internet, but it might or might not be currently connected."
End If
  If (pdFlags& And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
  ConnectionStatus.ConnectionType = "Local system uses a local area network to connect to the Internet."
  ConnectionStatus.Connected = True
  End If
  If (pdFlags& And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
  ConnectionStatus.ConnectionType = "Local system uses a modem to connect to the Internet."
  ConnectionStatus.Connected = True
  End If
  If (pdFlags& And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE Then
  ConnectionStatus.ConnectionType = "Local system is in offline mode."
   ConnectionStatus.Connected = False
  End If
  If (pdFlags& And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
   ConnectionStatus.RASInstalled = True
  End If
End If
End Function
Private Sub Command1_Click()
Dim MyConnectionStatus As tConnectionStatus
'Dimensionalize MyConnectionStatus as user-defined type structure tConnectionStatus
GetConnectionInfo MyConnectionStatus 'See this sub routine for more info...
MsgBox "Connected: " & MyConnectionStatus.Connected & vbCrLf & "Type: " & MyConnectionStatus.ConnectionType
'Show MsgBox modal dialog to display the connection info...
End Sub

About this post

Posted: 2003-06-01
By: ArchiveBot
Viewed: 120 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.