Hallo!
Bei meiner Installation wird ein Programm im Systray gestartet. Bei der Deinstalltion möchte ich das gerne wieder beenden. Das klappt z.B. via WMI, doch das gefällt mir nicht weil das Programm dort nur "terminiert wird". Gibt es eine Möglichkeit das Programm ordentlich zu beenden?
Danke
Sascha
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Programm im Systray
Started by
Sascha M.
, Jun 02 2006 15:01
4 replies to this topic
Posted 02 June 2006 - 16:34
Ich glaube du musst der Aplication einen Windows Message schicken, WM_CLOSE oder so.
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 June 2006 - 10:42
Ja, das habe ich versucht. Jedoch benötigt die API-Funktion SendMessage ein Fensterhandle:
CODE |
LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); |
Da die Anwendung im Systray ist und kein Fenster hat, habe ich Schwierigkeiten das Handle zu ermitteln. Wäre super, wenn Du mir da helfen könntest.
Danke
Sascha
Posted 06 June 2006 - 07:58
Tut mir leid, da kann ich dir nicht helfen, ist ja auch eigentlich kein Setup-Problem. Aber du bist sicher nicht der erste, also probier doch mal die Suchmaschine deines Vertrauens
Stefan Krüger
InstallSite.org twitter facebook
Posted 06 June 2006 - 08:59
Ich habs jetzt geschafft, das Programm sauber zu beenden.
Dazu habe ich mit PostMessage einen Broadcast an alle Anwendungen geschickt. Die Message vorher im Setup und dem zu schliessendem Programm mit RegisterWindowMessage registriert, damit ich eine eindeutige ID erhalte. Diese ID dann im Messageloop des betreffenden Programms abgefangen und falls Sie auftaucht, beenden sich das Programm.
Funktioniert ganz gut, aber vielleicht hat da jemand einen besseren Einfall.
Sascha
Dazu habe ich mit PostMessage einen Broadcast an alle Anwendungen geschickt. Die Message vorher im Setup und dem zu schliessendem Programm mit RegisterWindowMessage registriert, damit ich eine eindeutige ID erhalte. Diese ID dann im Messageloop des betreffenden Programms abgefangen und falls Sie auftaucht, beenden sich das Programm.
Funktioniert ganz gut, aber vielleicht hat da jemand einen besseren Einfall.
Sascha