Функция _WinAPI_FlashWindowEx

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


_WinAPI_FlashWindowEx

Мигает окном на панели задач

#include <WinAPI.au3>
_WinAPI_FlashWindowEx($hWnd [, $iFlags = 3 [, $iCount = 3 [, $iTimeout = 0]]])

Параметры

$hWnd Дескриптор окна. Окно может быть развёрнутым или свёрнутым.
$iFlags [необязательный] Состояние мигания. Может быть комбинацией следующих значений:
    0 - Перестанет мигать. Система восстановит окно в исходное состояние.
    1 - Мигает заголовком окна
    2 - Мигает кнопкой на панели задач
    4 - Мигает непрерывно пока не будет остановлен
    8 - Мигает непрерывно пока окно не выйдет на первый план
$iCount [необязательный] Количество миганий
$iTimeout [необязательный] Интервал времени между миганиями, в миллисекундах. Если 0, функция использует частоту мигания курсора по умолчанию.

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

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Обычно окно мигает, чтобы сообщить пользователю, что окно требует его внимания, но при этом не переводит фокус ввода клавиатуры. Когда окно мигает, это проявляется в изменении от неактивного состояния в активное. Неактивный заголовок изменяется на активный; активный заголовок изменяется на неактивный.

См. также

_WinAPI_FlashWindow

См. также

Искать FlashWindowEx в библиотеке MSDN

Пример

#include <WinAPI.au3>
#include <GUIConstantsEx.au3>

_Main()

Func _Main()
    Local $hGUI, $inpFlash, $inpTimeout, $btnFlash, $FlashRate, $TimeoutRate, $bFlashing = False
    $hGUI = GUICreate("_WinAPI_FlashWindowEx", 300, 120)
    GUICtrlCreateLabel("Заказные параметры мигания", 10, 10, 280, 17)
    GUICtrlCreateLabel("Количество раз:", 10, 42, 99, 17)
    $inpFlash = GUICtrlCreateInput("20", 110, 42, 70, 20)
    GUICtrlCreateLabel("Интервал (мс)", 10, 74, 99, 17)
    $inpTimeout = GUICtrlCreateInput("500", 110, 73, 70, 20)
    $btnFlash = GUICtrlCreateButton("Мигать", 190, 60, 99, 34, 0)
    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $btnFlash
                If $bFlashing Then
                    _WinAPI_FlashWindowEx($hGUI, 0)
                    $bFlashing = False
                    GUICtrlSetData($btnFlash, "Мигать")
                Else
                    $FlashRate = GUICtrlRead($inpFlash)
                    $TimeoutRate = GUICtrlRead($inpTimeout)
                    _WinAPI_FlashWindowEx($hGUI, 2, $FlashRate, $TimeoutRate)
                    GUICtrlSetData($btnFlash, "Остановить")
                    $bFlashing = True
                EndIf
        EndSwitch
    WEnd
EndFunc   ;==>_Main