Function Reference


_WinAPI_RegisterWindowMessage

Defines a new window message that is guaranteed to be unique throughout the system

#include <WinAPISysWin.au3>
_WinAPI_RegisterWindowMessage ( $sMessage )

Parameters

$sMessage String that specifies the message to be registered

Return Value

Success: A message identifier in the range 0xC000 through 0xFFFF
Failure: 0, call _WinAPI_GetLastError() to get extended error information

Remarks

The RegisterWindowMessage function is used to register messages for communicating between two cooperating
applications. If two different applications register the same message string, the applications return the same
message value. The message remains registered until the session ends.

See Also

Search RegisterWindowMessage in MSDN Library.

Example

#include <APISysConstants.au3>
#include <WinAPISysWin.au3>

Opt('TrayAutoPause', 0)

OnAutoItExitRegister(OnAutoItExit)

Global $g_hForm = GUICreate('')
GUIRegisterMsg(_WinAPI_RegisterWindowMessage('SHELLHOOK'), WM_SHELLHOOK)
_WinAPI_RegisterShellHookWindow($g_hForm)

ToolTip("Type ESC to exit the script")
HotKeySet("{ESC}", "_Exit")

While 1
    Sleep(100)
WEnd

Func WM_SHELLHOOK($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg

    Local $sTitle = WinGetTitle($lParam)
    Switch $hWnd
        Case $g_hForm
            Switch $wParam
                Case $HSHELL_REDRAW
                    ConsoleWrite('Redrawn: ' & $sTitle & @CRLF)
                Case $HSHELL_WINDOWACTIVATED, $HSHELL_RUDEAPPACTIVATED
                    ConsoleWrite('Activated: ' & $sTitle & @CRLF)
            EndSwitch
    EndSwitch
EndFunc   ;==>WM_SHELLHOOK

Func OnAutoItExit()
    _WinAPI_DeregisterShellHookWindow($g_hForm)
EndFunc   ;==>OnAutoItExit

Func _Exit()
    Exit 1
EndFunc   ;==>_Exit