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


HWnd

Преобразовывает выражение в дескриптор HWND, если окно с таким дескриптором существует.

HWnd(expression)

Параметры

expression Выражение для преобразования в дескриптор (HWND).

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

Успех:Если выражение может быть преобразовано в дескриптор (HWND), то возвращается тип данных представляющий собой дескриптор (HWND).
Ошибка:Если выражение не соответствует какому-либо окну (существующему дескриптору), то возвращается 0 (NULL) HWND и значение @error устанавливается равным 1.

Примечания

Числа состоящие из двойного слова (тип Double, см. VarGetType()) не могут быть преобразованы в дескриптор (HWND)
Никакая обычная строка не может быть преобразована в дескриптор (HWND), потому что нет никакой гарантии, что у данного окна будет тот же самый дескриптор (HWND) когда-либо снова. Это не запрещается строго, но это ошибка программирования и её следует избегать.

Функцию можно подключить через команду exect

См. также

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)


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru