AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fenster eindeutig wiedererkennen
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster eindeutig wiedererkennen

Ein Thema von ken_jones · begonnen am 17. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
ken_jones

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

Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 14: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
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 14:45
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.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 14:58
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.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 15:32
Hätte ebenfalls Interesse am Programm
Als Tester wär auch kein Problem!

P@Tti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 19:25
Hi Ken,

vielleicht kannst du hier etwas Honig saugen: A tool to order the window buttons in your taskbar

Grüße vom marabu
  Mit Zitat antworten Zitat
ken_jones

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

Re: Fenster eindeutig wiedererkennen

  Alt 17. Sep 2007, 21:14
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?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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