#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; Global Const $WM_MOVING = 0x0216 ; в AutoIt3 v3.3.6.1 эта константа не определена
Global $k = 0
$Gui = GUICreate("WM_MOVING", 390, 180, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('Функция WM_MOVING выполняется при перемещения окна. Отличается от WM_MOVE тем, что выполняется при отпуске окна.', 5, 5, 380, 34)
$condition = GUICtrlCreateLabel('', 10, 40, 380, 140)

GUISetState()

GUIRegisterMsg($WM_MOVING, "WM_MOVING")

Do
Until GUIGetMsg() = -3

Func WM_MOVING($hWnd, $Msg, $wParam, $lParam)
	; получает координаты сторон окна
	Local $sRect = DllStructCreate("Int[4]", $lParam), _
		$left = DllStructGetData($sRect, 1, 1), _
		$top = DllStructGetData($sRect, 1, 2), _
		$Right = DllStructGetData($sRect, 1, 3), _
		$bottom = DllStructGetData($sRect, 1, 4)

	$k += 1
	GUICtrlSetData($condition, _
		'Левая.....' & @TAB & $left & @CRLF & _
		'Верхняя..' & @TAB & $top & @CRLF & _
		'Правая...' & @TAB & $Right & @CRLF & _
		'Нижняя..' & @TAB & $bottom)
	
	WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз')

	Return $GUI_RUNDEFMSG
EndFunc