
17735
11.07.2007, aktualisiert am 12.07.2007 um 09:06:28 Uhr
(VB 6) rasdial.exe Ausgabe abfangen
Hallo,
ich möchte mit VB 6 eine Clientanwendung schreiben, mit deren Hilfe man sich per VPN zu einem Netzwerk verbinden kann. Dazu verwende ich die rasdial.exe, die ich per shell-Befehl aus Visual Basic aus aufrufe.
Soweit klappt die Herstellung der Verbindung auch, wenn richtige Zugangsdaten eingegeben wurden.
Mein Programm soll auf Verbindungsfehler reagieren können und bei erfolgreicher Herstellung der Verbindung die Möglichkeit der Trennung anbieten bzw. anzeigen, wie lange die VPN-Verbindung bereits besteht. Wie kann ich die Ausgabe der EXE-Datei abfangen, um herauszufinden, ob die Verbindungsherstellung geklappt hat? Ich habe bereits so versucht:
Leider gibt das Ausgeben der Variable VPNMessage dann nur die Task-ID zurück, mit denen ich nichts anfangen kann. Ich möchte wie gesagt das, was die EXE-Datei ausgibt abfangen, um überprüfen zu können, ob die Verbindung hergestellt wurde.
Gruß,
Ahnenforscher
ich möchte mit VB 6 eine Clientanwendung schreiben, mit deren Hilfe man sich per VPN zu einem Netzwerk verbinden kann. Dazu verwende ich die rasdial.exe, die ich per shell-Befehl aus Visual Basic aus aufrufe.
Soweit klappt die Herstellung der Verbindung auch, wenn richtige Zugangsdaten eingegeben wurden.
Mein Programm soll auf Verbindungsfehler reagieren können und bei erfolgreicher Herstellung der Verbindung die Möglichkeit der Trennung anbieten bzw. anzeigen, wie lange die VPN-Verbindung bereits besteht. Wie kann ich die Ausgabe der EXE-Datei abfangen, um herauszufinden, ob die Verbindungsherstellung geklappt hat? Ich habe bereits so versucht:
Dim VPNMessage as String
VPNMessage = Shell "rasdial.exe VPN " & username & " " & password & " /DOMAIN:DOMAIN /PHONEBOOK:C:\vpnconnect.inf", vbHide
Leider gibt das Ausgeben der Variable VPNMessage dann nur die Task-ID zurück, mit denen ich nichts anfangen kann. Ich möchte wie gesagt das, was die EXE-Datei ausgibt abfangen, um überprüfen zu können, ob die Verbindung hergestellt wurde.
Gruß,
Ahnenforscher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63602
Url: https://administrator.de/forum/vb-6-rasdial-exe-ausgabe-abfangen-63602.html
Ausgedruckt am: 03.05.2025 um 11:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo Ahnenforscher!
Sollte eigentlich auch in VB6 so gehen:
Ist zwar eleganter, als die Ausgabe des "rasdial"-Befehles in eine temporäre Textdatei umzuleiten, allerdings wird kurzzeitig das CMD-Fenster angezeigt ...
Grüße
bastla
Sollte eigentlich auch in VB6 so gehen:
strRun = "rasdial.exe VPN " & username & " " & password & " /DOMAIN:DOMAIN /PHONEBOOK:C:\vpnconnect.inf"
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec(strRun)
Set objstdOut = objWshScriptExec.StdOut
'Zeilenweises Einlesen ...
Do While Not objstdOut.AtEndOfStream
MsgBox objstdOut.ReadLine
Loop
'... oder am Stück mit Zerlegung in ein Array
'strOutput = objstdOut.ReadAll
'aLines = Split(strOutput, vbCrLF)
'...
Grüße
bastla