Und weiter geht es: Ich möchte gern die Position eines fremden Fensters auslesen und setzen.
Das Auslesen klappt wunderbar. Ich lese mit diesem Code alle Positionen der aktiven Fenster aus (kommen in ne StringList):
Delphi-Quellcode:
var
p: TWindowPlacement;
p.Length:=SizeOf(TWindowPlacement);
GetWindowPlacement(wHandle, @p); //Positionen auslesen und nachfolgend in StringLists speichern
CasinoWindows.Add(IntToStr(wHandle));
CasinoLeft.Add(IntToStr(p.rcNormalPosition.Left));
CasinoTop.Add(IntToStr(p.rcNormalPosition.Top));
CasinoRight.Add(IntToStr(p.rcNormalPosition.Right));
CasinoBottom.Add(IntToStr(p.rcNormalPosition.Bottom));
Das Setzen der Position funktioniert leider nicht, die Fenster bleiben auf ihrer alten Position. Fehlermeldung kommt allerdings auch keine. Im konkreten Beispiel möchte ich Fenster1 an die Position von Fenster2 schieben:
Delphi-Quellcode:
var
p: TWindowPlacement;
hhd: HWND;
begin
hhd := StrToInt(CasinoWindows[0]);
p.rcNormalPosition.Left := StrToInt(CasinoLeft[1]);
p.rcNormalPosition.Top := StrToInt(CasinoTop[1]);
p.rcNormalPosition.Right := StrToInt(CasinoRight[1]);
p.rcNormalPosition.Bottom := StrToInt(CasinoBottom[1]);
SetWindowPlacement(hhd, @p);
Kann mir bitte jemand helfen? Thx