# Function Reference

# _WinAPI_FlashWindowEx

Flashes the specified window

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

## Parameters

$hWnd | Handle to the window to be flashed. The window can be either open or minimized.
$iFlags | [optional] The flash status. Can be one or more of the following values: 0 - Stop flashing. The system restores the window to its original state. 1 - Flash the window caption 2 - Flash the taskbar button 4 - Flash continuously until stopped 8 - Flash continuously until the window comes to the foreground
$iCount | [optional] The number of times to flash the window
$iTimeout | [optional] The rate at which the window is to be flashed, in milliseconds. If 0, the function uses the default cursor blink rate.

## Return Value

Success: | True
Failure: | False

## Remarks

Typically, you flash a window to inform the user that the window requires attention but does not currently have the keyboard focus.
When a window flashes, it appears to change from inactive to active status.
An inactive caption bar changes to an active caption bar; an active caption bar changes to an inactive caption bar.

## Related

_WinAPI_FlashWindow

## See Also

Search FlashWindowEx in MSDN Library.

## Example

    #include <GUIConstantsEx.au3>
    #include <WinAPISysWin.au3>

    Example()

    Func Example()
        Local $hWnd, $idInp_Flash, $idInp_Timeout, $idBtn_Flash, $iMsg, $iFlashrate, $iTimeoutrate, $bFlashing = False
        $hWnd = GUICreate("Form1", 229, 170, 193, 125)
        $idInp_Flash = GUICtrlCreateInput("20", 80, 72, 121, 21)
        $idInp_Timeout = GUICtrlCreateInput("500", 80, 103, 121, 21)
        GUICtrlCreateLabel("Please input the flash rate, and the time between flashes", 8, 24, 214, 41)
        GUICtrlCreateLabel("Flash Rate:", 16, 72, 58, 17)
        GUICtrlCreateLabel("Timeout (ms)", 16, 104, 64, 17)
        $idBtn_Flash = GUICtrlCreateButton("Flash Window", 80, 136, 75, 25, 0)
        GUISetState(@SW_SHOW)

        While 1
            $iMsg = GUIGetMsg()
            Switch $iMsg
                Case $GUI_EVENT_CLOSE
                    Exit
                Case $idBtn_Flash
                    If $bFlashing Then
                        _WinAPI_FlashWindowEx($hWnd, 0)
                        $bFlashing = False
                    Else
                        $iFlashrate = GUICtrlRead($idInp_Flash)
                        $iTimeoutrate = GUICtrlRead($idInp_Timeout)
                        _WinAPI_FlashWindowEx($hWnd, 2, $iFlashrate, $iTimeoutrate)
                        GUICtrlSetData($idBtn_Flash, "Stop Flashing")
                        $bFlashing = True
                    EndIf
            EndSwitch
        WEnd
    EndFunc   ;==>Example