Auf Start von Prozess/Programm warten

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von beate.

    Auf Start von Prozess/Programm warten

    Hallo zusammen,
    ich habe mal eine kleine Frage an euch Profis: :D
    Und zwar will ich eine Form im Hintergrund lassen, bis z.B. der Internet-Explorer gestartet wird!
    Also zur Erklärung:
    Meine Anwendung soll im Hintergrund laufen, bis z.B. der Prozess "iexplore.exe" gestartet wird.
    Sobald sich der Prozess in der Prozessliste befindet, soll mein Programm eine Aktion ausführen.
    Also mein Programm ist pausiert, bis ich den Internet Explorer starte. Erst dann soll eine Aktion ausgeführt werden!
    Ich habe bereits einige Codes gefunden, allerdings überprüfen die nur, ob sich der Prozess zum aktuellen Zeitpunkt in der Liste befindet.
    Was ich suche ist, dass mein Programm so lange wartet, bis irgendwann der bestimmte Prozess gestartet wird! Wenn der Prozess nicht aktiv ist, soll mein Programm einfach so im Hintergrund vor sich hin laufen (am besten ohne rießige CPU-Auslastung!)
    Hab einen Loop-Code gefunden, bei dem ist allerdings die CPU-Auslastung gleich 100%
    Ich hoffe ihr habt verstanden, was ich suche =)
    Achja, ich benutze VB2008 Express!
    Vielen Dank im Vorraus!
    MfG DiDi
    ?(

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Timer1.Interval = 1000
    3. Timer1.Start()
    4. End Sub
    5. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    6. Dim ProcessExist = Process.GetProcessesByName("IEXPLORE")
    7. If ProcessExist.Count > 0 Then
    8. Timer1.Stop()
    9. MsgBox("IE gestartet")
    10. 'usw
    11. End If
    12. End Sub


    So könnte man es machen

    Gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Hallo didi,

    nein - richtig verstehen tu ich dein Problem nicht !

    Du startest den IExploere und wartest bis wann ?

    1. bis iexplorer bei den Prozessen auftaucht ?
    2. bis iexplorer als oberstes Fenster erscheint ?

    Das z.b.
    Also mein Programm ist pausiert, bis ich den Internet Explorer starte. Erst dann soll eine Aktion ausgeführt werden!

    geht so

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Process.Start("iexplorer.exe")
    4. 'tue was
    5. End Sub
    6. End Class

    Das wiederspricht sich aber mit diesem hier
    Sobald sich der Prozess in der Prozessliste befindet, soll mein Programm eine Aktion ausführen.

    Und das wiederspricht sich mit diesem hier
    Ich habe bereits einige Codes gefunden, allerdings überprüfen die nur, ob sich der Prozess zum aktuellen Zeitpunkt in der Liste befindet.

    Und dann kommt das hier
    Was ich suche ist, dass mein Programm so lange wartet, bis irgendwann der bestimmte Prozess gestartet wird! Wenn der Prozess nicht aktiv ist, soll mein Programm einfach so im Hintergrund vor sich hin laufen (am besten ohne rießige CPU-Auslastung!)

    was aber mit obigem Code erledigt wird.

    Gruss

    mikeb69
    Also die meisten hier drücken sich sehr undeutlich aus... aber hier versteht man ja was der Thread Ersteller für ein Problem hat.
    Er möchte auf das Ereignis "Internet Explorer wurde gestartet" reagieren, und hat nur das Problem, dass die CPU Auslastung sehr hoch ist.
    Die Frage ist allerdings auch schon wieder hinfällig, da man daran erkennen kann, dass du nicht weit in der Welt des Programmierens bist.
    Ich erwähne nur die Funktion System.Threading.Thread.Sleep()