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

Desconectar


Andersonjb

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Achei esse código aqui, que eles falam que serve pra desconcetar:

Const RAS_MAXENTRYNAME = 256
Const RAS_MAXDEVICETYPE = 16
Const RAS_MAXDEVICENAME = 128
Const RAS_RASCONNSIZE = 412
Private Type RasConn
    dwSize As Long
    hRasConn As Long
    szEntryName(RAS_MAXENTRYNAME) As Byte
    szDeviceType(RAS_MAXDEVICETYPE) As Byte
    szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type
Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'This program will close your Internet-connection, so to test this, you will have to open an Internet-connection.
    Dim i As Long, lpRasConn(255) As RasConn, lpcb As Long
    Dim lpcConnections As Long, hRasConn As Long
    'Set the structure's size
    lpRasConn(0).dwSize = RAS_RASCONNSIZE
    lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
    lpcConnections = 0
    'Enumerate all the available connections
    returncode = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections)

    If returncode = 0 Then
        For i = 0 To lpcConnections - 1
            hRasConn = lpRasConn(i).hRasConn
            'Hang up
            returncode = RasHangUp(ByVal hRasConn)
        Next i
    End If
End Sub

Mas só falta um dilema aqui: aonde eu coloco isso? já tentei no botão, antes da declaração da classe, e nada... Se pode me falar gray?

E aproveitando o tópico, outra duvida: você falou sobre a API RAS. Bem, RAS e o nome da API, correto? Mas o que é uma API? Uma classe?

Link para o comentário
Compartilhar em outros sites

  • 0

Mas só falta um dilema aqui: aonde eu coloco isso? já tentei no botão, antes da declaração da classe, e nada... Se pode me falar gray?

Você tem que observar que este código aí em cima é VB6 e não .NET (se bem que a maior parte vai ser aproveitável). Além disso, acredito que você não vai precisar disso tudo, uma vez que provavelmente você só vai ter uma conexão (e o código acima desconecta mais de uma se for o caso).

E aproveitando o tópico, outra duvida: você falou sobre a API RAS. Bem, RAS e o nome da API, correto? Mas o que é uma API? Uma classe?

API significa Application Programming Interface e é um conjunto de funções e rotinas que uma determinada biblioteca ou programa expõe para que sejam utilizadas em outros programas/bibliotecas. No caso, a DLL do código acima (rasapi32.dll) expõe as duas funções que são declaradas no código. Por isso ela é chamada de API.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Então, me ajuda por partes ai, Gray:

Private Type RasConn
   dwSize As Long
   hRasConn As Long
   szEntryName(RAS_MAXENTRYNAME) As Byte
   szDeviceType(RAS_MAXDEVICETYPE) As Byte
   szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Como eu faço para declarar tipos no .NET?

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, é assim?

    Private Structure RasConn
   dwSize As Long
   hRasConn As Long
   szEntryName(RAS_MAXENTRYNAME) As Byte
   szDeviceType(RAS_MAXDEVICETYPE) As Byte
   szDeviceName(RAS_MAXDEVICENAME) As Byte
    End Structure

Se for, continua dando errado, porque?

Link para o comentário
Compartilhar em outros sites

  • 0
Bem, é assim?

    Private Structure RasConn
   dwSize As Long
   hRasConn As Long
   szEntryName(RAS_MAXENTRYNAME) As Byte
   szDeviceType(RAS_MAXDEVICETYPE) As Byte
   szDeviceName(RAS_MAXDEVICENAME) As Byte
    End Structure
Se for, continua dando errado, porque?
Porque é assim:
Private Structure RasConn
  Dim dwSize As Integer
  Dim hRasConn As Integer
  Dim szEntryName(RAS_MAXENTRYNAME) As Byte
  Dim szDeviceType(RAS_MAXDEVICETYPE) As Byte
  Dim szDeviceName(RAS_MAXDEVICENAME) As Byte
End Structure

Certo? wink.gif

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Putz, e eu não percebi isso...

Bem, eu colei isso aqui nas declarações da classe, assim:

    Const RAS_MAXENTRYNAME = 256
    Const RAS_MAXDEVICETYPE = 16
    Const RAS_MAXDEVICENAME = 128
    Const RAS_RASCONNSIZE = 412

    Public Structure RasConn
        Dim dwSize As Integer
        Dim hRasConn As Integer
        Dim szEntryName(RAS_MAXENTRYNAME) As Byte
        Dim szDeviceType(RAS_MAXDEVICETYPE) As Byte
        Dim szDeviceName(RAS_MAXDEVICENAME) As Byte
    End Structure
E essa aqui no Evento Load do Formuário, porque a Sub Form_Load() do VB6 é mesma coisa do evento load do .NET, não é?
        Dim i As Long, lpRasConn(255) As RasConn, lpcb As Long
        Dim lpcConnections As Long, hRasConn As Long
        'Set the structure's size
        lpRasConn(0).dwSize = RAS_RASCONNSIZE
        lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
        lpcConnections = 0
        'Enumerate all the available connections
        returncode = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections)

        If returncode = 0 Then
            For i = 0 To lpcConnections - 1
                hRasConn = lpRasConn(i).hRasConn
                'Hang up
           returncode = RasHangUp(ByVal hRasConn)
            Next i
        End If
Mas ta dando erro aqui:
        Dim szEntryName(RAS_MAXENTRYNAME) As Byte
        Dim szDeviceType(RAS_MAXDEVICETYPE) As Byte
        Dim szDeviceName(RAS_MAXDEVICENAME) As Byte
Ta falando assim:
Arrays declared as structure members cannot be declared with an initial size.
Como assim as Matrizes declaradas na Estrutura não foram declaradas com um tamanho inicial? O que eu tenho que fazer? E aqui, na declaração da Função:
(ByVal lpRasConn As Any

Erro:

'As Any' is not supported in 'Declare' statements.

O que eu ponho no lugar, ou eu posso tirar, já que não suporta?

Link para o comentário
Compartilhar em outros sites

  • 0

Ta falando assim:

Arrays declared as structure members cannot be declared with an initial size.

Como assim as Matrizes declaradas na Estrutura não foram declaradas com um tamanho inicial? O que eu tenho que fazer?

Não é "não foram" e sim "não podem". Experimente declarar tirando o que está entre parênteses (mas deixando estes).

E aqui, na declaração da Função:

(ByVal lpRasConn As Any

Erro:

'As Any' is not supported in 'Declare' statements.

O que eu ponho no lugar, ou eu posso tirar, já que não suporta?

Experimente colocar As RasConn(). Não sei se vai dar certo, mas eu tentaria isso.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Joao --
Putz, e eu não percebi isso...

Bem, eu colei isso aqui nas declarações da classe, assim:

   Const RAS_MAXENTRYNAME = 256
    Const RAS_MAXDEVICETYPE = 16
    Const RAS_MAXDEVICENAME = 128
    Const RAS_RASCONNSIZE = 412

    Public Structure RasConn
        Dim dwSize As Integer
        Dim hRasConn As Integer
        Dim szEntryName(RAS_MAXENTRYNAME) As Byte
        Dim szDeviceType(RAS_MAXDEVICETYPE) As Byte
        Dim szDeviceName(RAS_MAXDEVICENAME) As Byte
    End Structure
E essa aqui no Evento Load do Formuário, porque a Sub Form_Load() do VB6 é mesma coisa do evento load do .NET, não é?
       Dim i As Long, lpRasConn(255) As RasConn, lpcb As Long
        Dim lpcConnections As Long, hRasConn As Long
        'Set the structure's size
        lpRasConn(0).dwSize = RAS_RASCONNSIZE
        lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
        lpcConnections = 0
        'Enumerate all the available connections
        returncode = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections)

        If returncode = 0 Then
            For i = 0 To lpcConnections - 1
                hRasConn = lpRasConn(i).hRasConn
                'Hang up
           returncode = RasHangUp(ByVal hRasConn)
            Next i
        End If
Mas ta dando erro aqui:
       Dim szEntryName(RAS_MAXENTRYNAME) As Byte
        Dim szDeviceType(RAS_MAXDEVICETYPE) As Byte
        Dim szDeviceName(RAS_MAXDEVICENAME) As Byte
Ta falando assim:
Arrays declared as structure members cannot be declared with an initial size.
Como assim as Matrizes declaradas na Estrutura não foram declaradas com um tamanho inicial? O que eu tenho que fazer? E aqui, na declaração da Função:
(ByVal lpRasConn As Any

Erro:

'As Any' is not supported in 'Declare' statements.

O que eu ponho no lugar, ou eu posso tirar, já que não suporta?

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...