Функция _WinAPI_MoveWindow

 ↑  ←  Описание функции


_WinAPI_MoveWindow

Изменить позицию и размеры указанного окна

#include <WinAPI.au3>
_WinAPI_MoveWindow($hWnd, $iX, $iY, $iWidth, $iHeight [, $fRepaint = True])

Параметры

$hWnd Дескриптор окна
$iX Новая координата левого края
$iY Новая координата верхнего края
$iWidth Новая ширина
$iHeight Новая высота
$fRepaint [необязательный] Указывает, будет ли окно перерисовано. Если True, окно получит сообщение $WM_PAINT. Если False, то не происходит перерисовка. Это относится и к клиентской области, и неклиентской области, и любой части родительского окна открытого в результате перемещения дочернего окна. Если False, то приложение должно явно аннулировать или перерисовать любые части окна и родительского окна, которые нуждаются в перерисовки.

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False

См. также

Искать MoveWindow в библиотеке MSDN

Пример

#include <WinAPI.au3>
 
; Запуск блокнота
Run('notepad.exe')

; Ожидание 5 секунд до появление окна блокнота
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf

Sleep(400)
; Получает позицию и размеры окна, чтобы в дальнейшем возвратить начальные параметры.
Local $aPos = WinGetPos($hWnd)

; Перемещает и изменяет размер окна блокнота
_WinAPI_MoveWindow($hWnd, 10, 10, 200, 300)
Sleep(700) ; Ожидание 0,7 секунд после каждого перемещения окна, для просмотра эффекта
_WinAPI_MoveWindow($hWnd, 300, 100, 400, 200)
Sleep(700)
_WinAPI_MoveWindow($hWnd, 50, 300, 200, 200)
Sleep(700)
; Перемещает и устанавливает размеры окна в первоначальное состояние.
_WinAPI_MoveWindow($hWnd, $aPos[0], $aPos[1], $aPos[2], $aPos[3])
Sleep(700)

; Закрывает блокнот.
WinClose($hWnd)