To check to see if there is a DUN I use one of two ways
1:
Now this works fine in win98 and win95. However it always returns true in WinME??!?? Thank you microsoft!Code:Public Declare Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef lpSFlags As Long, _ ByVal dwReserved As Long) As Long Public Const INTERNET_CONNECTION_MODEM As Long = &H1 Public Function ViaModem() As Boolean Dim SFlags As Long Call InternetGetConnectedState(SFlags, 0&) ViaModem = SFlags And INTERNET_CONNECTION_MODEM End Function
So I tried this method:
2.
This also works fine except if the computer is reset while there was an internet connection. When the machine boots it always returns true until a new internet connection is astablished and disconnected.Code:Public Const ERROR_SUCCESS = 0& Public Const APINULL = 0& Public Const HKEY_LOCAL_MACHINE = &H80000002 Public ReturnCode As Long Declare Function RegCloseKey Lib "advapi32.dll" (ByVal _ hKey As Long) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias _ "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As _ String, phkResult As Long) As Long Declare Function RegQueryValueEx Lib "advapi32.dll" Alias _ "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName _ As String, ByVal lpReserved As Long, lpType As Long, _ lpData As Any, lpcbData As Long) As Long Public Function ActiveConnection() As Boolean Dim hKey As Long Dim lpSubKey As String Dim phkResult As Long Dim lpValueName As String Dim lpReserved As Long Dim lpType As Long Dim lpData As Long Dim lpcbData As Long ActiveConnection = False lpSubKey = "System\CurrentControlSet\Services\RemoteAccess" ReturnCode = RegOpenKey(HKEY_LOCAL_MACHINE, lpSubKey, _ phkResult) If ReturnCode = ERROR_SUCCESS Then hKey = phkResult lpValueName = "Remote Connection" lpReserved = APINULL lpType = APINULL lpData = APINULL lpcbData = APINULL ReturnCode = RegQueryValueEx(hKey, lpValueName, _ lpReserved, lpType, ByVal lpData, lpcbData) lpcbData = Len(lpData) ReturnCode = RegQueryValueEx(hKey, lpValueName, _ lpReserved, lpType, lpData, lpcbData) If ReturnCode = ERROR_SUCCESS Then If lpData = 0 Then ActiveConnection = False Else ActiveConnection = True End If End If RegCloseKey (hKey) End If End Function
Any ideas?
If it's possible to check the modem status i.e. dialling, connection, etc that will also be fine.




Reply With Quote