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, $idFlash, $idTimeout, $idBtnFlash, $iMsg, $iFlashrate, $iTimeoutrate, $bFlashing = False
        $hWnd = GUICreate("Form1", 229, 170, 193, 125)
        $idFlash = GUICtrlCreateInput("20", 80, 72, 121, 21)
        $idTimeout = 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)
        $idBtnFlash = GUICtrlCreateButton("Flash Window", 80, 136, 75, 25, 0)
        GUISetState(@SW_SHOW)

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