在win98及win2000下怎样检测网络是否与互联网连通?
请问哪位有没有这样的控件或API使用实例?
如有,能不能给我发一个,不胜感激!邮箱:[email protected]
msn:[email protected]

解决方案 »

  1.   


    Public Const ERROR_SUCCESS = 0&
    Public Const APINULL = 0&
    Public Const HKEY_LOCAL_MACHINE = &H80000002
    Public ReturnCode As LongDeclare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As LongDeclare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongDeclare 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 LongPublic 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 LongActiveConnection = 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'而在程序中使用实例如下:If ActiveConnection = True then
    Call MsgBox("您的电脑目前正在连线中!",vbInformation)
    Else
    Call MsgBox("您的电脑目前在离线状态!.", vbInformation)
    End If
    '读注册表的方法, 通用过程, API声明自己写Public Function GetString(hKey As Long, strPath As String, strValue As String)
      
      Dim keyhand As Long
      Dim datatype As Long
      Dim lResult As Long
      Dim strBuf As String
      Dim lDataBufSize As Long
      Dim intZeroPos As Integer
      r = RegOpenKey(hKey, strPath, keyhand)
      lResult = RegQueryValueEx(keyhand, strValue, 0&, lValueType, ByVal 0&, lDataBufSize)
      If lValueType = REG_SZ Then
        strBuf = String(lDataBufSize, " ")
        lResult = RegQueryValueEx(keyhand, strValue, 0&, 0&, ByVal strBuf, lDataBufSize)
        If lResult = ERROR_SUCCESS Then
            intZeroPos = InStr(strBuf, Chr$(0))
            If intZeroPos > 0 Then
                GetString = Left$(strBuf, intZeroPos - 1)
            Else
                GetString = strBuf
            End If
        End If
      End IfEnd Function
    调用
    regvalue.Text = GetString(HKEY_LOCAL_MACHINE, "SOFTWARE\pjzc\", "keyvalue")
      

  2.   

    注册表中HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RemoteAccess下面好象根本就没有Remote Connection这么一项,不知这是什么原因,我的计算机是通过局域网连接到互联网上。