Ir para conteúdo
Fórum Script Brasil
  • 0

Internet


Ismael (rock na veia)

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Como sempre digo: "não existe um código pronto para isso". Mas aí vai uma maneira de se fazer. Coloque isso em um módulo:

Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwFlags As Long, ByVal dwReserved As Long) As Long
Private Const INTERNET_CONNECTION_MODEM As Long = &H1
Private Const INTERNET_CONNECTION_LAN As Long = &H2
Private Const INTERNET_CONNECTION_PROXY As Long = &H4
Private Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8
Private Const INTERNET_RAS_INSTALLED As Long = &H10
Private Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Private Const INTERNET_CONNECTION_CONFIGURED As Long = &H40
Public Enum eConnectionTestConstants
  eCTCViamodem
  eCTCViaLan
  eCTCViaProxy
  eCTCOnline
  eCTCRasInstalled
End Enum

Public Function ActiveConnection() As Boolean
    Dim dwFlags As Long
    Dim eCTCType As eConnectionTestConstants
    Connected = False
    For i = 0 To 4
        Call InternetGetConnectedState(dwFlags, 0&)
        Select Case i
            Case eConnectionTestConstants.eCTCViaLan
                Connected = dwFlags And INTERNET_CONNECTION_LAN
            Case eConnectionTestConstants.eCTCViamodem
                Connected = dwFlags And INTERNET_CONNECTION_MODEM
            Case eCTCViaProxy
                Connected = dwFlags And INTERNET_CONNECTION_PROXY
'            Case eCTCOnline
'                Connected = InternetGetConnectedState(dwFlags, 0&)
            Case eCTCRasInstalled
                Connected = dwFlags And INTERNET_RAS_INSTALLED
            Case Else
                Connected = False
        End Select
        If Connected = True Then
            Exit For
        End If
    Next i
    ActiveConnection = Connected
End Function

Depois basta chamar a função AcitveConnection() e se ela retornar True é porque o computador está conectado. A partir disso, basta ativar um timer para contar o tempo. Após, quando ela retornar False, basta desativar o timer.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...