Exe Datei im Hintergrund starten

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Am besten einfach mit der ShowWindow Funktion. Die geht bei fremden Anwendungen, ist keine Holzmethode und funktioniert zu 100%.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    VB.NET-Quellcode

    1. 'Anwendung 1
    2. Public Class Form1
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Dim oProcess As New Process
    5. oProcess.StartInfo.FileName = "C:Temp\WindowsApplication2.exe" ' Pfad zur Anwendung 2
    6. oProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    7. oProcess.Start()
    8. End Sub
    9. End Class

    VB.NET-Quellcode

    1. 'Anwendung 2
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Visible = True
    5. End Sub
    6. End Class

    Die Sache ist folgendermaßen:
    In dieser Anwendung steht irgendwo Visible = True, was bedeutet, dass sie nicht hidden sein will.
    Es kommt also jetzt tatsächlich darauf an, wie oft sich diese Anwendung auf sichtbar schaltet.
    Macht sie es einmalig beim Start, musst Du kurz warten: oProcess.WaitForInputIdle(250) und sie dann per API.ShowWindow(SW_HIDE) unsichtbar machen.
    Kann natürlich sein, dass sie dann mal kurz zu sehen ist. :S
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!