.
Anmeldung | Registrieren | Hilfe
in Suchen

Programm zum automatischen Beenden eines Prozesses

Letzter Beitrag 06. Feb 2013 22:54 von Psens. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 06. Feb 2013 22:54

    • Psens
    • Nicht gereiht
    • Registriert am 06. Feb 2013
    • Beiträge 1
    • Punkte 5

    Programm zum automatischen Beenden eines Prozesses

    Hallo,

    ich stehe hier vor einem kleinem bis großem Problem und zwar habe ich versucht ein Programm zu schreiben was prüft ob ein bestimmter Prozess gestartet wird, wenn dieser gestartet ist soll nach einer Zeit ein Countdownfenster angezeigt werden, in welchem der User noch die Möglichkeit hat den Vorgang des Schließens zu stoppen.

    Module Module1

        Sub main()
            Module1.endlos()
        End Sub

        Sub endlos()

            Do
                Dim test
                For Each test In System.Diagnostics.Process.GetProcesses
                    If test.ProcessName = My.Settings.strProzess Then
                        test.WaitForExit(CInt(My.Settings.intWartezeit) * 1000)
                        Nachricht.ShowDialog()
                        If Nachricht.abbruch = False Then
                            Nachricht.Close()
                            Exit For
                        End If
                        test.Kill()
                        test.WaitForExit(5000)
                        Nachricht.Close()
                    End If

                Next test
                Erase test
            Loop

        End Sub

    End Module

    Mein Problem liegt jetzt darin, so lange der Prozess noch nicht ausgeführt wurde passt alles, wenn ich ihn ausführe kommt auch der Dialog mit dem Countdown, so lange man hier das Kill mit dem Abbrechen Button umgeht ist auch noch alles ok, jedoch wenn ich das schließen zulasse wir der Prozess wie gewünscht geschlossen und dann fängt der Speicher an voll zu laufen kann ich im Taskmanager ganz gut beobachten.

    Zuerst war meine Vermutung die Do Loop Schleife, dies kann aber eigentlich nicht sein weil diese ja auch läuft wenn der Prozess noch nicht gestartet ist, oder der Prozess durch Abbrechen im CountdownFenster am leben gehalten wir. 

    Gibt es irgendwie eine Möglichkeit den Speicher wieder zurück zu setzten wenn ich die schleife durchlaufen habe oder hat jemand eine andere Idee wie ich das Problem in den griff bekomme?

    Schon mal danke für eure Mithilfe! :-)

    Anbei noch ein Screenshot von dem Fehler der mir dann Ausgegeben wird wenn ich es einfach im Hintergrund weiter laufen lasse!

    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)

Regeln | Impressum