Einzelnen Beitrag anzeigen

Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.096 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Anderem Program den Fokus übergeben

  Alt 8. Jul 2018, 01:20
Hab eine funktionierende Variante geupdatet. Man könnte noch einen Test einfügen ob man DesktopHandle erwischt hat aber ansonsten macht es alles was der TE wollte.
Bitte teste und überzeuge Dich selbst, Danke.
Ach wenn es gehen mag es ist falsch.
Danke nein ich möchte es nicht testen ich weis wie der richtige weg sein muss, aber streiten deswegen tue ich mich auch nicht.

EDIT:
Zitat:
GetParent stellt sicher das ich kein Control erwische sondern ein Fensterhandle.
Sorry dazu sage ich mal besser nichts.
Ok! Was willst du eigentlich erreichen du möchtest den Focus des aktiven Fensters.
1. Mit deiner Funktion wirst du nicht immer.. ich meine Immer den Focus des aktiven Fensters erhalten.
2. Was soll das?
  if GetParent(GetForegroundWindow) = 0 then lHwnd := GetForegroundWindow else lHwnd := GetParent(GetForegroundWindow);
Entweder ich will den Focus der Anwendung oder nicht was soll also das
else lHwnd := GetParent(GetForegroundWindow);
Das ist nicht das gewünschte Resultat.

Wenn also GetForegroundWindow 0 zurück liefert dann ist es eben so! Da gibt es kein "else" weil uninteressant!
3. Wenn du garantieren willst das der aktive Prozess ein garantiertes Window Handle zurück liefert dann musst du den jeweiligen Prozess Attachen
tust du es nicht dann vergiss es einfach das andere ist nur Spielerei.

gruss
Miniaturansicht angehängter Grafiken
08.07.png  

Geändert von EWeiss ( 8. Jul 2018 um 01:57 Uhr)
  Mit Zitat antworten Zitat