Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > интернет и Vb


Автор: Оксана 17.3.2003, 23:35
Может кто-нибудь подскажет доходчиво на примере как определить
подключен ли компьютер к интернету или нет? Буду очень признательна за подсказку!

Автор: Trojan Lord 4.4.2003, 16:56
'Этот код в модуль:

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

Private Sub Form_Load()
If ActiveConnection = True Then
Call MsgBox("В интернете")
Else
Call MsgBox("Не в интернете")
End If
End Sub

Автор: Гость_Alex 15.8.2003, 20:58
А можно и так:

Запусти модуль или если хочешь форму, то поставь Visible = false

[CODE]
Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" Alias "InternetGetConnectedStateExA" (lpdwFlags as Long, lpszConnectionName as Long, dwNameLen as Long, ByVal dwReserved as Long) as Long 'все в одну строку

Private Sub Main() 'если форма, то Form_Load()
Dim strConnectionName As String
Dim lNameLen As Long ' l it's L
Dim lRetVal as Long
Dim lConnectionFlags As Long
Dim lPtr As Long
Dim lNameLenPtr As Long

strConnectionName = Space(256)
lNameLen = 256
lPtr = StrPtr(strConnectionName)
lNameLenPtr = VarPtr(lNameLen)

lRetVal = InternetGetConnectedstateEx(lConnectionFlags, ByVal lPtr, ByVal lNameLen, 0&)

If lRetVal <> 0 Then
MsgBox "Computer online"
else
MsgBox "Computer offline"
End If
End Sub

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)