Описание функции | |
WinSetState |
Показать, скрыть, свернуть, развернуть, или восстановить окно.
WinSetState('title','text',flag)
Параметры
title | Заголовок/дескриптор/класс окна. См. заголовки и текст окон. |
text |
Текст окна. |
flag |
Флаг отображения окна: @SW_HIDE = Скрыть @SW_SHOW = Показать ранее скрытое окно @SW_MINIMIZE = Свернуть @SW_MAXIMIZE = Развернуть @SW_RESTORE = Восстановить свёрнутое или развёрнутое окно @SW_DISABLE = Запретить доступ @SW_ENABLE = Разрешить доступ |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0, если окно не найдено. |
Примечания
Если несколько окон соответствуют критерию, то из них используется последнее активное окно.См. также
WinGetState, ControlHide, WinActivate, WinClose, WinFlash, WinKill, WinMinimizeAll, WinMinimizeAllUndo, WinMove, WinSetOnTop
Примеры: | Как создать кнопку? |
exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetState(Eval('var_h'),Null,@SW_HIDE)||Sleep(3000)||WinSetState(Eval('var_h'),Null,@SW_SHOW) ;; на 3 секунды скрыть окно Total Commander
exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||WinSetState(HWnd($var_h),Null,@SW_MINIMIZE) ;; запускает "Блокнот", ожидает появление и сворачивает
infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_MINIMIZE) <NEXT> ;; свернуть окна с заданным именем процесса notepad.exe
infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_RESTORE) <NEXT> ;; восстановить свёрнутые или развёрнутые окна с заданным именем процесса notepad.exe
infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_MINIMIZE) <NEXT> ;; свернуть окна просмотрщика буфера обмена (команда textv)
infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_RESTORE) <NEXT> ;; развернуть свернутые окна просмотрщика буфера обмена (команда textv)
exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]',Null,@SW_HIDE) ;; скрыть окно заданного класса
exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]',Null,@SW_SHOW) ;; показать ранее скрытое окно заданного класса