Описание функции | |
HWnd |
Преобразовывает выражение в дескриптор HWND, если окно с таким дескриптором существует.
HWnd(expression)
Параметры
expression | Выражение для преобразования в дескриптор (HWND). |
Возвращаемое значение
Успех: | Если выражение может быть преобразовано в дескриптор (HWND), то возвращается тип данных представляющий собой дескриптор (HWND). |
Ошибка: | Если выражение не соответствует какому-либо окну (существующему дескриптору), то возвращается 0 (NULL) HWND и значение @error устанавливается равным 1. |
Примечания
Числа состоящие из двойного слова (тип Double, см. VarGetType()) не могут быть преобразованы в дескриптор (HWND)См. также
Int, String, Number
Примеры: | Как создать кнопку? |
exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||WinSetState(HWnd($var_h),Null,@SW_MINIMIZE) ;; запускает "Блокнот", ожидает появление и сворачивает
exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||SendKeepActive(HWnd($var_h)) <FOR> 1 <TO> 10 exect=Send('привет')||Sleep(500) <NEXT> exect=SendKeepActive(Null)||WinClose(HWnd($var_h)) ;; запустить "Блокнот" и удерживать окно блокнота активным при использовании функции Send()
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=$var_hwhd=WinGetHandle('[CLASS:Progman;TITLE:Program~~Manager]')||$var_hcnt=ControlGetHandle(HWnd($var_hwhd),Null,'[CLASS:SysListView32;INSTANCE:1]')||ControlHide(HWnd($var_hwhd),Null,HWnd($var_hcnt))||Sleep(2000)||ControlShow(HWnd($var_hwhd),Null,HWnd($var_hcnt)) ;; скрыть на 2 секунды значки рабочего стола (Windows 7,10)