Функция WinSetState

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


WinSetState

Показать, скрыть, свернуть, развернуть, или восстановить окно.

WinSetState ( "title", "text", flag )

Параметры

title Заголовок/дескриптор/класс окна. См. заголовки и текст окон (расширенные).
text Текст окна.
flag Флаг отображения окна:
@SW_HIDE = Скрыть
@SW_SHOW = Показать ранее скрытое окно
@SW_MINIMIZE = Свернуть
@SW_MAXIMIZE = Развернуть
@SW_RESTORE = Восстановить свёрнутое или развёрнутое окно
@SW_DISABLE = Запретить доступ
@SW_ENABLE = Разрешить доступ

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

Успех:Возвращает 1.
Ошибка:Возвращает 0, если окно не найдено.

Примечания

Если несколько окон соответствуют критерию, то из них используется последнее активное окно.
@SW_MINIMIZE и @SW_MAXIMIZE работает даже на модальных диалоговых окнах.

См. также

WinGetState, ControlHide, WinActivate, WinClose, WinFlash, WinKill, WinMinimizeAll, WinMinimizeAllUndo, WinMove, WinSetOnTop

Пример

; Запуск блокнота
Run('notepad.exe')

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

; Поверх всех окон, только для удобства просмотра эффектов
WinSetOnTop($hWnd, "", 1)

; Устанавливает состояния окна
WinSetState($hWnd, "", @SW_DISABLE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно не доступно', 5)
WinSetState($hWnd, "", @SW_ENABLE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно доступно', 5)
WinSetState($hWnd, "", @SW_HIDE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно скрыто', 5)
WinSetState($hWnd, "", @SW_SHOW)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно отображено', 5)
WinSetState($hWnd, "", @SW_MINIMIZE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно свёрнуто', 5)
WinSetState($hWnd, "", @SW_MAXIMIZE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно на весь экран', 5)
WinSetState($hWnd, "", @SW_RESTORE)
If IsHWnd($hWnd) Then MsgBox(4096, 'Сообщение', 'Окно восстановлено', 5)

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