Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0218: Aktive DFÜs erkennen und beenden

 von 

Beschreibung 

Dieser Tip erkennt alle derzeitig aktiven DFÜs und bietet die Möglichkeit diese zu beenden.

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

RasEnumConnectionsA (RasEnumConnections), RasHangUpA (RasHangUp)

Download:

Download des Beispielprojektes [2,43 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Listen-Steuerelement "List1"
' Steuerelement: Textfeld "Text1"
' Steuerelement: Beschriftungsfeld "Label2"
' Steuerelement: Beschriftungsfeld "Label1"

Option Explicit

Private Declare Function RasEnumConnections Lib "rasapi32.dll" _
        Alias "RasEnumConnectionsA" (lpRasCon 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
        
Const RAS_MaxEntryName = 256
Const RAS_MaxDeviceType = 16
Const RAS_MaxDeviceName = 32
Const Max_Fill = 96
  
Private Type RASType
  dwSize As Long
  hRasCon As Long
  szEntryName(RAS_MaxEntryName) As Byte
  szDeviceType(RAS_MaxDeviceType) As Byte
  szDeviceName(RAS_MaxDeviceName) As Byte
  dwFill(Max_Fill) As Byte
End Type

Private Sub Form_Load()
  Dim x%, y%, RAS(255) As RASType
  Dim lg&, lpcon&, Result&
    
    Text1.Text = ""
    
    RAS(0).dwSize = 412
    lg = 256 * RAS(0).dwSize
    Result = RasEnumConnections(RAS(0), lg, lpcon)
       
    If lpcon <> 0 Then
      For x = 0 To lpcon - 1
        With Text1
        List1.AddItem GetStr(RAS(x).szEntryName())
        List1.ItemData(List1.NewIndex) = RAS(x).hRasCon
        .Text = .Text & GetStr(RAS(x).szEntryName()) & vbCrLf
        .Text = .Text & GetStr(RAS(x).szDeviceName()) & vbCrLf
        .Text = .Text & GetStr(RAS(x).szDeviceType()) & vbCrLf
        .Text = .Text & "------------------" & vbCrLf
        End With
      Next x
      List1.ListIndex = 0
    Else
      MsgBox ("Keine Online-Verbindung gefunden")
    End If
End Sub

Private Sub Command1_Click()
  Dim hRasConn&, Result&, x%
    x = List1.ListIndex
    If x <> -1 Then
      hRasConn = List1.ItemData(x)
      Result = RasHangUp(ByVal hRasConn)
      List1.RemoveItem x
    End If
End Sub

Private Function GetStr(Feld() As Byte) As String
  Dim x%, y%, aa$, bb$
    For x = 0 To UBound(Feld)
      bb = Chr$(Feld(x))
      If bb <> Chr$(0) Then
        aa = aa & bb
      Else
        Exit For
      End If
    Next x
    GetStr = aa
End Function
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 5 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Benjamin am 25.07.2002 um 13:59

Wie kann ich eine DFÜ-Verbindung zum DFÜ-Netzwerk hinzufügen???

Kommentar von DELAZOUL am 06.05.2002 um 10:56

Bei mir sagt er das Text1 nicht deklariert ist

Kommentar von R.Hackel am 31.10.2001 um 14:11

Wie kann ich die Einwahlnummern zu den Dfü-Verbindungen auslesen?

Kommentar von reclin am 07.09.2001 um 13:38

weiß jemand, wie ich nach dem trennen der verbindung eine wiedereinwahl unterdrücke?

Kommentar von Mich am 07.01.2001 um 23:13

Hallo, kann mir mal jemand sagen, wie man mit RasHangUp eine von Routing und Ras in Win2k Advanced Server hergestellte Verbindung trennt. Die Verbindung wird mit diesem Programm dargestellt aber sie kann nicht getrennt werden.