Definiert eine neue Fensternachricht, welche garantiert einzigartig im System ist
#include <WinAPISysWin.au3>
_WinAPI_RegisterWindowMessage ( $sMessage )
| $sMessage | Strings, welche die zu registrierende Nachricht festlegt |
| Erfolg: | Ein Nachrichten-Identifizierer im Bereich von 0xC000 bis 0xFFFF |
| Fehler: | 0. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten. |
Die RegisterWindowMessage Funktion wird genutzt, um Nachrichten zur Kommunikation zweier kooperierender Anwendungen zu
registrieren. Wenn zwei verschiedene Anwendungen denselben Nachrichten-String registrieren, geben die Anwendungen denselben
Nachrichtenwert zurück. Die Nachricht bleibt registriert bis die Sitzung beendet ist.
Suche nach RegisterWindowMessage in der MSDN Bibliothek.
#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('Neu gezeichnet: ' & $sTitle & @CRLF)
Case $HSHELL_WINDOWACTIVATED, $HSHELL_RUDEAPPACTIVATED
ConsoleWrite('Aktiviert: ' & $sTitle & @CRLF)
EndSwitch
EndSwitch
EndFunc ;==>WM_SHELLHOOK
Func OnAutoItExit()
_WinAPI_DeregisterShellHookWindow($g_hForm)
EndFunc ;==>OnAutoItExit
Func _Exit()
Exit 1
EndFunc ;==>_Exit