Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
42.830 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?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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