17735
Jul 11, 2007, updated at Jul 12, 2007 (UTC)
11236
2
0
(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
Please also mark the comments that contributed to the solution of the article
Content-Key: 63602
Url: https://administrator.de/contentid/63602
Printed on: April 19, 2024 at 21:04 o'clock
2 Comments
Latest comment
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