Laden...

Programm schließt sich nicht bei Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdow

Erstellt von xxxprod vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.135 Views
xxxprod Themenstarter:in
1.378 Beiträge seit 2006
vor 11 Jahren
Programm schließt sich nicht bei Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdow

Hallo,

ich habe gerade ein Problem mit einem Program, dass sich durch Aufforderung von außen nicht schließt:

Es handelt sich dabei um ein Program das nur ein NotifyIcon anzeigt und bei Bedarf auch mal Windows aber prinzipiel wird es durch Application.Run() gestartet und hat dadurch kein "MainWindow" mit dem es sich schließen soll.

Mit welchen Events bekomm ich mit, dass dieses Program geschloßen werden muss, damit ich dann dort Application.Exit() aufrufen kann?

Vielen Dank für jede Hilfe,

XXX

925 Beiträge seit 2004
vor 11 Jahren

Macht man da nicht normalerweise ein Contextmenu auf dem Icon im SystemTray in dem 'n Beenden-Eintrag drin ist? Kenn ich so...

xxxprod Themenstarter:in
1.378 Beiträge seit 2006
vor 11 Jahren

Das Problem hat sich irgendwie erübrigt...

... ich wollte mittels Powershell Script und Process.CloseMainWindow() die Applikation schließen, was aber nicht funktioniert da diese kein Window besitzt(im Normalzustand). Ich wollte nicht gleich über Process.Kill() gehen weil der Weg etwas hart wirkt aber für diese TrayIcon in dem Fall vollkommen ausreichend, da es außer einen laufenden Timer im Hintergrund nichts macht außer warten. Beim Herunterfahren schließt es sich dagegen normal und blockiert Windows nicht, was ursprünglich meine Befürchtung und der Grund für den Thread war, somit hat sich das Problem jetzt erübrigt.

Bzgl. deines Hinweises 7.e.Q - ein manuelles Beenden wäre ja nicht das Problem gewesen ich aber ich wollte wie erwähnt die Applikation von außerhalb schließen lassen was aber ohne Window nicht funktioniert außer wie gesagt durch Process.Kill()

Lg, XXX

U
1.688 Beiträge seit 2007
vor 11 Jahren

außer wie gesagt durch Process.Kill()

Verbleibt dann nicht das TrayIcon in der Anzeige?

Ansonsten kannt Du ja alle möglichen Formen der IPC verwenden, um Dein Programm zu beenden. Ein Fenster braucht man nicht unbedingt.