#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <WinAPI.au3>
#include <ButtonConstants.au3>
Global $k = 0
$Gui = GUICreate("WM_COMMAND", 390, 220)
$iButton = GUICtrlCreateButton("Button", 10, 15, 90, 28, 0)
$hButton = GUICtrlGetHandle(-1)
$Label = GUICtrlCreateEdit('Функция WM_COMMAND выполняется при клике на элементах окна.', 115, 5, 270, 210, $ES_MULTILINE)
GUICtrlSetBkColor(-1, 0xfffbd7)
GUISetState()

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
AdlibRegister("_Test", 1000)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func _Test()
	; Высылаемые параметры согласно документации для текущего сообщения
	_WinAPI_PostMessage($Gui, $WM_COMMAND, _WinAPI_MakeLong($iButton, $BN_DBLCLK), $hButton)
EndFunc   ;==>_Test

Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
	Local $nID = BitAND($wParam, 0x0000FFFF) ; _WinAPI_LoWord
	Local $nNotifyCode = BitShift($wParam, 16) ; _WinAPI_HiWord

	GUICtrlSetData($Label, _
			' Параметры:' & @CRLF & _
			' -----------------------------' & @CRLF & _
			' $hWnd (дескриптор окна) ' & @TAB & ': ' & $hWnd & @CRLF & _
			' $Msg (код сообщения)' & @TAB & ': ' & Hex(Int($Msg), 4) & @CRLF & _
			' $wParam' & @TAB & @TAB & ': ' & $wParam & @CRLF & _
			' $lParam' & @TAB & @TAB & @TAB & ': ' & $lParam & @CRLF & @CRLF & _
			' Информация:' & @CRLF & _
			' -----------------------------' & @CRLF & _
			' Код уведомления (NotifyCode)' & @TAB & ': ' & $nNotifyCode & @CRLF & _
			' Идентификатор элемента (CtrlID)' & @TAB & ': ' & $nID & @CRLF & _
			' Дескриптор элемента (CtrlHWnd)' & @TAB & ': ' & $lParam)
	$k += 1
	WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз')
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND