![]() |
Fenster eindeutig wiedererkennen
Ich hab ein kleines Programm geschrieben, mit welchem ich die Buttons der Windows Taskleiste nach meinen Wünschen sortieren kann. (Mehr oder weniger, je nachdem ob "Ähnliche Elemente gruppieren" eingeschaltet ist oder nicht).
Der Benutzer kann hierzu eine Sortierung vorgeben, z.B.: 1. Outlook 1.1 Posteingang 1.2 Andere Fenster von Outlook 2. Our ERP 2.1 Lagerbewegungen 2.2 Finanzen 2.3 BuHa 2.4 Andere Fenster von Our ERP Diese Sortierung wird natürlich gespeichert. Sobald die effektive Reihenfolge von der Vorgegebenen abweicht, werden die Buttons neu gesetzt. Das ganze funktioniert soweit ganz gut, nur gibt es ein kleines Problem: Wie erkenne ich Fenster mit gleichen Prozessnamen wieder? Ich mach mal ein Beispiel: Running Tasks: - Our ERP -- Finanzen -- Lager - Our ERP -- BuHa -- Lager Also, das ist jetzt kein Tippfehler. Wenn ich "Ähnliche Elemente gruppieren" ausgeschaltet habe, ist alles kein Problem, dann kann ich die Fenster so sortieren wie ich will. Aber wenn sie gruppiert werden, dann KANN ich die Fenster (mit -- in der Liste) nur innerhalb der Prozesse (mit - in der Liste) verschieben, die Prozesse kann ich aber frei verschieben. D.h. ich kann in diesem Beispiel nur "Finanzen" mit "Lager" tauschen, oder "BuHa" mit "Lager". Jetzt habe ich 2 Problemchen: 1) Wie weis ich welches "Lager" nun welches ist? 2) Wie weis ich welches "Our ERP" nun welches ist? Weder Fensternamen noch Prozessnamen sind unique. Auf Fensterhandle und ProzessID kann ich nur während der selben Arbeitssitzung zurückgreifen. Beim Neustart sind diese anders. Wie kann ich nun die Prozesse und/oder Fenster eindeutig auch nach einem Neustart wiedererkennen? Vielleicht gibt es eine Art ApplicationID von der ich noch nichts weiss? Danke für alle Tipps schonmal! |
Re: Fenster eindeutig wiedererkennen
Hallo Ken,
eine 100%ig sichere Lösung kann es nicht geben: Stell Dir vor, Du hast den einfachen Editor dreimal ohne Datei geöffnet; dann hast Du (theoretisch) drei Instanzen derselben Application, und das Hauptfenster heißt immer "Unbekannt Editor". Aber wenn es Dir um das "Neuanlegen" beim Rechnerstart geht, kannst Du Dich wohl über solche Probleme hinwegsetzen. Weitere Informationen über das Application-Window erhältst Du übrigens durch Tools wie WinSight32 (oder was auch immer in Deinem Delphi oder Windows enthalten ist). Gruß Jürgen PS. Bitte nicht schlagen, wenn ich das zu sehr vereinfacht habe und dadurch falsch darstelle. Mir ging es um das Prinzip. |
Re: Fenster eindeutig wiedererkennen
Ich melde hiermit Interesse an dem Tool an.
Würde mich auch als Tester zur Verfügung stellen. Du bekommst bestimmt Rückmeldung, weil mir Dies oder Jenes nicht gefallen wird. ;-) |
Re: Fenster eindeutig wiedererkennen
Hätte ebenfalls Interesse am Programm ;-)
Als Tester wär auch kein Problem! P@Tti |
Re: Fenster eindeutig wiedererkennen
Hi Ken,
vielleicht kannst du hier etwas Honig saugen: ![]() Grüße vom marabu |
Re: Fenster eindeutig wiedererkennen
Danke an alle für die ersten Antworten!!
@Jürgen: Du hast schon recht, ein eindeutiges Merkmal wird es wohl kaum geben. Dein aufgezeigtes Beispiel mit den 3 Editoren wären bei mir so noch kein Problem. Bei mir kommt das Problem erst wenn z.B. 1 Editor 2 Fenster offen hätte (Notepad kanns halt nicht, aber einfach mal als Beispiel.) und ein weiterer Editor ebenfalls 1 Fenster offen hätte. Ich kann danach nicht mehr unterscheiden, welches Fenster zu welchem Editor gehört. WinSight hab ich, guter Tipp, guck da mal nach was ich sonst noch so an Angaben finde. @RavenIV & patti: Danke für euer Angebot. Aber ich schreib das Tool für unsere Benutzer, das muss für die dann passen. Wer mit dem ERP arbeitet hat automatisch etwa 20 Fenster auf (nein, is nich SAP) und ab und zu schmiert was ab, den Rest kann man sich ausmalen. Ihr kriegt dann schon noch den Sourcecode wenns läuft, und dann könnt ihr das Teil so viel ihr wollt nach eurem Geschmack abändern. @marabu: Danke für den Link. Super Sache das! Aber leider haben die sich sauber um mein Problem herum manövriert. Da kann man die laufenden Fenster und Prozesse sortieren (kann man bei mir dann auch), aber man kann keine Regeln erstellen oder Sortierreihenfolgen speichern. Denke die wussten schon wieso ;) Ich hab mir heute noch überlegt, ob ich den Exepfad oder sogar das Icon (BMP Vergleich) als Erkennungskriterium hinzufüge. Das würde mein Problem für unser ERP lösen (Zufällig haben alle Fenster mit gleichem Namen unterschiedliche Icons), aber das wäre ein Gebastel und die äusserste Notlösung. Hat noch jemand einen Geistesblitz? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 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-2025 by Thomas Breitkreuz