Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programme aus Systray beenden ?! (https://www.delphipraxis.net/8335-programme-aus-systray-beenden.html)

Trouble_Maker 2. Sep 2003 18:33


Programme aus Systray beenden ?!
 
Hiho Leute,
so ... nachdem ich jetzt endlich weiss (und es auch funktioniert) wie man Programme über ein Delphi Programm schließt, würde ich gerne wissen, wie es mit Programmen aussieht, die in der Taskleiste sind.
So z.B. Kazaa! Wenn man dort ja auf das "X" klickt, verschwindet das Prog im Tray.
Gibt es eine Möglichkeit, ohne die Anwendung "brutal" mit Prozess killen, zu beenden ?!?

Danke im Vorraus


Trouble_Maker

Trouble_Maker 3. Sep 2003 13:21

Re: Programme aus Systray beenden ?!
 
hmm... hat niemand ne Lösung/Vorschlage ?!?


cu Trouble_Maker

Captnemo 4. Sep 2003 09:20

Re: Programme aus Systray beenden ?!
 
Naja, ich denke das kann man über das CloseQuery-Ereignis lösen.

Du hast ja ein PopupMenu mit einem Beenden-Item. In dem ItemOnClick setzt du eine globale Variable (z.B. ende: Boolean) auf True;

In dem CloseQuery dann:

Delphi-Quellcode:
CanClose:=ende;
if not ende then -> minimieren, und ab in den Tray
das wars.

Wenn jetzt jemand auf das X clickt, dann wird deine Anwendung in den Tray minimiert. Wenn jemand auf beenden klickt, dann wird die Anwendung wirklich beendet.

Alternativ kannst du ja auch in das CloseQuery ein AbfrageBox anzeigen lassen, wo du fragst, ob beendet oder minimiert werden soll.

----
Alles aus dem Handgelenk geschrieben, müsste eigentlich aber funktionieren.

Captnemo 4. Sep 2003 09:41

Re: Programme aus Systray beenden ?!
 
:mrgreen: :mrgreen: :mrgreen: :mrgreen:

Ups, nachdem ich deine Frage nochmal durchgelesen habe, ist mir plötzlich klar geworden, dass ich dich falsch verstanden habe. Sorry.

Zum Thema:

Diese programm reagieren auf die Windows-Botschaft WM_QUERYENDSESSION (Denke ich zumindest, weil ich das auch so mache).
In desn Programm hat der Programmierer dann eine Procedure
(procedure WMSysCommand(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;),
die dann das Programm varanlasst, sich tatsächlich zu beenden, um nicht den Windows-Shutdown zu behindern.
Jetzt mußt du nur eine soche Botschaft generieren, die dann aber nur an das zu beendende Programm schicken.

Wie und ob das geht, weiß ich aber auch nicht.

Vielleicht hilft dir der Ansatz.

Trouble_Maker 4. Sep 2003 11:14

Re: Programme aus Systray beenden ?!
 
hiho
hmm.. ja danke erstmal werde mir das nachher mal anschauen. (muss nämlich gleich wieder in die Schule :-( )

wenn noch jemand anderes einen Vorschlag hat, nur her damit!
Würde mich freuen!


danke

Trouble_Maker

Dannyboy 4. Sep 2003 11:24

Re: Programme aus Systray beenden ?!
 
Ich meine dort in der Api mal auf einige Funktionen gestoßen zu sein.
Habe das im Augenblick nicht zur Hand, aber die heißen, glaube ich,
TerminateProcess, CloseProcess, ExitProcess, oder irgend etwas in
ähnlicher Form. Such mal unter diesen Begriffen in der Api, da solltest
Du was zu finden. :idea:

Ich verstehe allerdings nicht, warum Du einen Prozess auf solch
sarkastische Weise aus dem Speicher reißen willst. Weiß nicht, ob das
Deiner Anwendung so gut tut. :!:

Trouble_Maker 4. Sep 2003 11:28

Re: Programme aus Systray beenden ?!
 
Zitat:

Zitat von Trouble_Maker
Hiho Leute,
Gibt es eine Möglichkeit, ohne die Anwendung "brutal" mit Prozess killen, zu beenden ?!?

Zitat:

Zitat von Dannyboy
Ich verstehe allerdings nicht, warum Du einen Prozess auf solch
sarkastische Weise aus dem Speicher reißen willst. Weiß nicht, ob das
Deiner Anwendung so gut tut.

???

Hast du schonmal probiert Kazaa zu beenden ?!?
Das funktioniert mit dem "normalen" Code nicht, weil wenn man auch im normalen Prog, auf das "X" klickt, das Prog im Tray landet! Ich möchte allerdings das Programm richtig beenden! Und habe nach einem Vorschlag / Lösung gefragt !?!

cu Trouble_Maker


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz