Externes Programm starten und überwachen mit mstsc.exe

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Herby007.

    Externes Programm starten und überwachen mit mstsc.exe

    Hallo Zusammen... bin Neuling

    hab hier ein Codeschnippel enteckt und wollte dies für meine Anwendung verwenden.
    Funktioniert mit notepad, aber nicht mit mstsc.exe (RDP), da wir die sub prc1_exit
    sofort ausführt

    VB.NET-Quellcode

    1. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    2. prc1 = New Process
    3. 'prc1.StartInfo.FileName = "notepad.exe"
    4. prc1.StartInfo.FileName = "mstsc.exe"
    5. prc1.StartInfo.Arguments = cf1 'Pfad zum Config File von RDP
    6. prc1.EnableRaisingEvents = True
    7. prc1.Start()
    8. End Sub
    9. Private Sub prc1_exit(sender As Object, e As EventArgs) Handles prc1.Exited
    10. MessageBox.Show("RDP1 beendet")
    11. End Sub


    Viele Grüße
    Herby
    Hab mal die Zeile mit

    VB.NET-Quellcode

    1. ' prc1.StartInfo.Arguments = cf1


    auskommentiert.
    Die Anwendung und die Messagebox kommen gleichzeitig.
    Wenn ich anstatt

    VB.NET-Quellcode

    1. prc1.StartInfo.FileName = "mstsc.exe"

    dann

    VB.NET-Quellcode

    1. prc1.StartInfo.FileName = "notepad.exe"

    aufrufe, funktioniert es wie es soll
    Ja ich glaube das hängt damit zusammen, dass du wenn du eine Config übergibst nur die config startest und nicht die mstsc.exe. Die wird von der Config aufgerufen und die Config wird daraufhin geschlossen, weshalb auch sofort dein Prozess beendet wird. Darauf würde ich tippen. Aber das müsste ich testen, kann ich aber aktuell nicht.


    Ein Computer wird das tun, was du programmierst - nicht das, was du willst.
    ok... wie könnte man sowas umgehen? Wollte auch die PID ausgeben, hab aber diese dann gar nicht in der Taskliste gefunden. Das könnte daraufhinweisen... das da erst dann mstsc gestartet wird.

    VB.NET-Quellcode

    1. prc1.StartInfo.FileName = "notepad.exe"
    2. MessageBox.Show("PID Start " & prc1.Id)

    hier wird die Richtige ProcessID ausgegeben

    VB.NET-Quellcode

    1. prc1.StartInfo.FileName = "mstsc.exe"
    2. MessageBox.Show("PID Start " & prc1.Id)

    bekomme ich eine andere die gar nicht aufgelistet ist

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Herby007“ ()