Seite 1 von 1

Bestimmtes (fremdes) Fenster immer bei Position 0

Verfasst: 19.02.2007 10:57
von Delle
Hallo,

weiß jemand wie man von einem bestimmten (fremden) Programm immer dessen Position ständig kontrolliert und bei einer ev. Bewegung wieder an die Ursprungsposition (0,0) zurücksetzt?

Verfasst: 19.02.2007 12:04
von Bax
Hi Delle,

Position abfragen:

Code: Alles auswählen

position.RECT
GetWindowRect_(hWnd, position)
Position setzen:

Code: Alles auswählen

MoveWindow_(hWnd, x, y, #IGNORE, #IGNORE, #True)
Um das Fenster immer zurückzusetzen gibt es mehrere Möglichkeiten. Hier wird die Position (von "Unbenannt - Paint") nur verändert, wenn die Maustaste nach dem Verschieben losgelassen wird. Eleganter ist das wahrscheinlich mit 'Message Functions'.

Code: Alles auswählen

win_title$ = "Unbenannt - Paint"
hWnd.l = FindWindow_(0, win_title$)
position.RECT

If hWnd
  Repeat
    GetWindowRect_(hWnd, position)
    If ((position\left <> 0) Or (position\top <> 0)) And (GetAsyncKeyState_(#VK_LBUTTON) = 0)
      MoveWindow_(hWnd, 0, 0, #IGNORE, #IGNORE, #True)
    EndIf

    Delay(1)
  Until (GetAsyncKeyState_(#VK_ESCAPE)) Or (IsWindow_(hWnd) = 0)
EndIf