Einzelnen Beitrag anzeigen

ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 15:10
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!
  Mit Zitat antworten Zitat