![]() |
Re: Tasks im Systray
vielleicht habe ich mich etwas unglücklich ausgedrückt. Aber für jeden laufenden Task lassen sich ja "Eigenschaften" festlegen z.B. minimiert, maximiert, Symbol, Visible/Hide. Jetzt kann ich ja die Tasks nach diesen Eigenschaften filtern. Ich hatte gehofft das das auf die gleiche weiße mit den Tasks im Tray geht.
|
Re: Tasks im Systray
Fangen wir mal von vorne an:
Ein Prozess ist nur ein Container, der den Adressraum bereitstellt und organisiert. Ein Prozess führt keinen Code aus. Code ausführen tuen Threads. Threads sind Objekte innerhalb eines Prozesses und nutzen den vom ihm bereitgestellen Adressraum. Eine Windows GUI Anwendung hat immer mindestens einen Thread, den Hauptthreade, der direkt vom Prozess erzeugt wird. Dieser Hauptthread erzeugt das Fenster und kann, so es der Programmierer denn will, weitere Threads abspalten. Wird das zum Haupttheread gehörige Fenster geschlossen, wird auch der Hauptthread beendet. Ist es der einzige Thread im Prozess, wird selbiger vom System beendet, aus dem System entfernt, alle Ressourcen (geöffnete Dateien usw.) dieses Prozesse werden wieder freigegeben und der Adressraum wieder freigegeben; da ein Prozess ohne Thread und somit ohne auszuführenden Code, logischerweise seine Daseinsberechtigung verliert. Zur TNA. Die TNA, der Bereich neben der Uhr, in der sich die Icons der Anwendungen befinden, ist eigentlich nichts anderes als eine Toolbar und die Icons sind nur Schaltflächen auf dieser Toolbar. Äußert nun eine Anwendung den Wunsch, dort ein Icon ablegen zu dürfen, erzeugt der Explorer eine neu Schaltfläche und ordnet sie der Anwendung zu. Wird jetzt auf das Symbol geklickt, wird die dazugehörige Anwendung benachrichtigt und diese kann dann darauf mit einer Aktion reagieren. "Minimiert" sich nun eine anwendung in die TNA, wird entweder nur das Fenster versteckt oder zerstört und eben bei Bedarf wieder erzeugt oder angezeit, je nach Lust und Laune des Programierers. So, was willlst du nun wie Filtern? |
Re: Tasks im Systray
ich sehe schon mit meinem Filtern komme ich nicht weiter. Tja kurz gesagt: ohne laufenden Explorer siehts da wohl schlecht :cry: aus. Da müsste ich dann wohl eine Application haben die als erstes gestartet wird und loggt wer ein
Delphi-Quellcode:
aufruft und das Handle des Prozesses dann abspeichern.
Shell_NotifyIcon(NIM_ADD, @IconData);
|
Re: Tasks im Systray
Ich habe mir nochmal die unit von toms angeschaut: da wird eine Funktion "GetIcon" aus der DLL "InterprocessImageList.DLL" verwendet um das Icon anhand der Bitmap ID zu ermitteln. Kann mir jemand sagen welche funktion in der DLL dahinter steckt um an das Icon zu gelangen?
|
Re: Tasks im Systray
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Die Sourcen findest du im Anhang. Vielleicht hat ja jemand Lust, die Sourcen nach Delphi zu übersetzen :?: :roll: :?: |
Re: Tasks im Systray
Danke für die Info's. Werds mir mal anschauen. Aber mit dem Umsetzen nach Delphi, mal sehen.
Mfg Matthias |
Re: Tasks im Systray
Aber es ist doch gar nicht notwendig, wenn die dll in C++ geschrieben ist...
Kommt doch auf das gleiche heraus (hat vielleicht sogar einen Vorteil: die C++ Dll ist evtl. kleiner) |
Re: Tasks im Systray
:wink: :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz