Einzelnen Beitrag anzeigen

LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#1

GetWindowPlacement/GetWindowRect gibt als Pos immer 0 zurück

  Alt 11. Aug 2009, 12:43
Hallo,

und schon wieder ein anderes Problem.

Ich benötige die Position eines Fensters, um es ein wenig auf dem Desktop zu verschieben. Aber egal, was ich anstelle, ich komme als Position immer "0" zurück. Das handle der externen Anwendung stimmt, daran kann es nicht liegen. Kann die fremde Anwendung das irgendwie verhindern, das ich die Position nicht festellen und verändern kann?

Ich habe folgendes probiert:
Delphi-Quellcode:
// Position auslesen und ändern
tw1Plct.length := SizeOf(tWindowPlacement);
if GetWindowPlacement(twhandle, @tw1Plct) then begin
 //ShowMessage('Links: ' + IntToStr(tw1Plct.rcNormalPosition.Left));
 //ShowMessage('Oben: ' + IntToStr(tw1Plct.rcNormalPosition.Top));
 //ShowMessage(IntToStr(tw1Plct.ptMinPosition.y));
 tw1Plct.rcNormalPosition.Left := tw1Plct.rcNormalPosition.Left + 50;
 tw1Plct.rcNormalPosition.Left := tw1Plct.rcNormalPosition.Top + 50;
 SetWindowPlacement(twH1, @tw1Plct);
end;
Selbst das geht nicht:
GetWindowRect(twhandle , tw1Rect); für tw1Rect.left top right usw. bekomme ich ständig eine 0. Woran kann das liegen?
MFG
LokutusvB
  Mit Zitat antworten Zitat