Hallo,
Ich habe das (
imho eigentlich simple) Problem, dass ich ein Fenster an der Stelle X|Y finden will. Nun kommen allerdings 2 Umstände erschwerend hinzu:
1. Das ganze sollte sich nicht nur auf die Parent-Fenster beschränken (siehe WindowFromPoint) sondern ALLE Fenster beihnhalten.
2. Es sollte immer das vorderste genommen werden.
Den ersten Punkt scheine ich mit EnumWindows umgangen zu haben...
Nun scheitere ich jedoch daran mir den Z-Index zu holen.
Delphi-Quellcode:
function FindWindow(X, Y: Integer): HWND;
var H: HWND;
Rec: TRect;
AZ: Integer;
function EnumProc(wnd: HWND; LParam: LPARAM): LongBool; stdcall;
begin
GetWindowRect(wnd,Rec);
if (X>=Rec.Left) and (X<=Rec.Right) and (Y>=Rec.Top) and (Y<=Rec.Bottom) then
begin
H:=wnd;
end;
Result:=True;
end;
begin
EnumWindows(@EnumProc, 0);
Result := H;
end;
Wie mache ich nun weiter?