Функция HWnd

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


HWnd

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

HWnd ( expression )

Параметры

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

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

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

Примечания

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

См. также

Int, String, Number, Ptr

Пример

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

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

; Преобразует дескриптор в строку
Local $sHWnd = String($hWnd)

; Сворачивание блокнота (строка снова преобразуется в дескриптор)
WinSetState(HWnd($sHWnd), "", @SW_MINIMIZE)

Sleep(2000) ; Ожидание 2 секунды

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