Also meines wissens ist jedes top window child vom desktop (mutter aller fenster
).
Es funktioniert ja gut - bevor ich das programm eingebaut hab in das projekt, ist mir der fehler ja nicht aufgefallen.
Zitat:
überhaupt das
Handle, was du suchst?
ja das bekomm ich das ist eindeutig das fenster des spiels.
Zitat:
GetForegroundWindow
geht nicht, das hab ich als erstes probiert - getforgroundwindow gibt dir das window zurück das momentan den focus hat.
Also es funktioniert in vitro gut - aber in vivo gehts leider nicht.
Es wäre mir auch egal, wenn ich das problem nur hätte, wenn der user die auflösung ändert das würde ich schon hinbasteln.
Aber das nach dem auflösung ändern immer noch das falsche fenster
handle kommt ist unverständlich.
Erst nachdem er in den fenstermodus und wieder in vollbild umgeschalten hat bekomm ich wieder das richtige
handle zurück.
GetProcessNameFromWnd(wnd) ist ne funktion von mir und liefert mir den prozessnamen des fensters zurück - und da seh ich eindeutig welcher prozess zu dem fenster gehört - zumindest wenn getwindowthreadprocessid richtig funktioniert.
und es ist eindeutig im vollbild nicht das spiel fenster.
Gettopwindow(0) liefert das oberste fenster in der z order vom desktop - also das tatsächlich oberste fenster . - ganz oben ist aber üblicherweise die taskleiste mit den tray icons oder eben minimierte fenster - die bekommt man als erstes.
Wenn ein programm allerdings im vollbild ist - aso so daß die taskleiste nicht dargestellt wird, dann bekommt man auch hier das oberste fenster und das ist in dem fall dann das spiel.
Wenns nur richtig funktionieren würde!
toe