Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Besteht eine DFÜ-Verbindung?

Anleitung Entwicklung VB for Applications

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

18.01.2001 um 10:13 Uhr, 79615 Aufrufe

Schreiben Sie eine Anwendung mit Internet-Anbindung, einen Gebührenzähler oder ähnliche Anwendungen? Dann sollten Sie wissen, ob überhaupt eine Verbindung besteht (die Einschränkung gleich vorweg: hier wird es nur um Verbindungen des DFÜ-Netzwerks gehen - proprietäre Einwählprogramme wie T-Online, AOL werden nicht erfaßt).

Das 32 Bit-API bietet hierfür die Funktionen RasEnumConnections, die die aktiven Verbindungen des DFÜ-Netzwerks auflistet:
01.
' 32 Bit 
02.
  Private Type RASCONN 
03.
    dwSize As Long 
04.
    hRasConn As Long 
05.
    szEntryName(256) As Byte 
06.
    szDeviceType(16) As Byte 
07.
    szDeviceName(128) As Byte 
08.
  End Type 
09.
 
10.
  Private Declare Function RasEnumConnectionsA& Lib "RasApi32.DLL" _ 
11.
    (lprasconn As Any, lpcb&, lpcConnections&)
Zunächst wird ein Array der Struktur RASCONN dimensioniert, das dazu dienen soll, alle bestehenden DFÜ-Verbindungen zu erfassen. Vor dem Aufruf übergeben wir die Größe der Struktur mit 412 Bytes, um Windows mitteilen zu können, wieviel Puffer wir zur Rückgabe von Informationen zur Verfügung stellen werden. Nun kann mit der Abfrage mittels RasEnumConnections begonnen werden, indem die Startadresse des Arrays (das erste Element des Arrays mit dem Index 0) als erster Parameter übergeben wird. Da theoretisch bis zu 256 Verbindungen möglich sind, übergeben wir im nächsten Parameter die ermittelte Größe der RASCONN-Struktur (multipliziert mit 256) in der Variablen lpcb. Als letzten Parameter übergeben wir eine als Long dimensionierte Variable, in der Windows uns informieren wird, wieviele Verbindungsinformationen im Array abgelegt wurden:
01.
  Dim lprasconn(255) As RASCONN, lpcConnections As Long, _ 
02.
    lpcb As Long, hRasConn As Long, NameRasConn As String 
03.
  lprasconn(0).dwSize = 412 
04.
  lpcb = 256 * lprasconn(0).dwSize 
05.
 
06.
  If RasEnumConnectionsA(lprasconn(0), lpcb, lpcConnections) = 0 Then 
07.
  '....
Liefert Windows in lpcConnections eine 0 zurück, können wir uns jede weitere Anstrengung sparen - es besteht keine Verbindung. Andernfalls können wir (für die weitere Verwendung wie beispielsweise einen Verbindungsabbruch mittels der Funktion RasHangUp) die Handle der Verbindung im Parameter hRasConn der RASCONN95-Struktur ermitteln und den Verbindungsnamen (der noch in Unicode umgesetzt und des abschließenden Escape-Zeichens vbNullChar beraubt werden will) deren Parameter szEntryName entnehmen:
01.
'.... 
02.
  If lpcConnections > 0 Then  ' Eine DFÜ-Netzwerkverbindung ist aktiv 
03.
      hRasConn = lprasconn(0).hRasConn  ' Handle der Verbindung 
04.
      NameRasConn = StrConv(lprasconn(0).szEntryName, vbUnicode) 
05.
      NameRasConn = Left$(NameRasConn, InStr(NameRasConn, vbNullChar) - 1) 
06.
      MsgBox "Folgende DFÜ-Netzwerkverbindung ist aktiv: " & NameRasConn 
07.
    End If 
08.
  End If
Auf analoge Weise können Sie die Statistik aller Verbindungen abfragen, die Windows zurückgeliefert hat: Deren Indizes liegen zwischen 0 und lpcConnections - 1.
Ähnliche Inhalte
Grafikkarten & Monitore
Iiyama 55" Touch und Intel NUC keine Verbindung (2)

Frage von tomi93 zum Thema Grafikkarten & Monitore ...

LAN, WAN, Wireless
gelöst LWL Verbindung funktioniert nicht (9)

Frage von JerryK zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...