#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $k = 0
$Gui = GUICreate("WM_WINDOWPOSCHANGED", 380, 190, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('Функция WM_WINDOWPOSCHANGED выполняется при перемещении или изменении размеров окна.', 5, 5, 380, 34)
$condition = GUICtrlCreateLabel('', 10, 40, 360, 135)

GUISetState()
GUIRegisterMsg($WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED")

Do
Until GUIGetMsg() = -3

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

	$k += 1
	GUICtrlSetData($condition, 'Вызов функции ' & $k & ' раз' & @CRLF & _
		$ykazatel & ' - [1] число' & @CRLF & _
		$chislo & ' - [2] число' & @CRLF & _
		$left & ' - [3] координата левого края' & @CRLF & _
		$top & ' - [4] координата верхнего края' & @CRLF & _
		$WinSizeX & ' - [5] ширина окна' & @CRLF & _
		$WinSizeY & ' - [6] высота окна')
	
	WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз, x=' & $WinSizeX & ', y=' & $WinSizeY)

	Return $GUI_RUNDEFMSG
EndFunc