Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#2

AW: Letztes aktives Fenster in Desktop notieren (GetForegroundWindow)

  Alt 22. Mär 2011, 18:07
Bei Delphi ist alles ein Fenster/Window.
> rate mal, warum es Windows heißt

Auch ein Edit und ein Button sind Windows.

Also darfst du nicht nur auf deine Fenster reagieren, sondern auf Alles, was zu einem Program gehört.

Lösung, wenn es nur dein Hauptfenster betrifft, welches ignoriert werden soll.
gefundenes Window mit deinem Fensterhandle vergleichen und wenn nicht, dann solange den Parent prüfen, bis man an oberster Ebene angekommen ist oder bis du an deinem Fenster ankommst.

Sonstige Lösung: Die Prozess-ID zum Fenster auslesen und mit der deines Programmes vergleichen.


PS: ein globaler Hook, welcher auf Fensterwechsel reagiert, wäre wohl auch ganzt nett, anstatt des Timers.

PPS: Was soll eigentlich der doppelte Vergleichscode?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (22. Mär 2011 um 18:09 Uhr)
  Mit Zitat antworten Zitat