#include <WindowsConstants.au3>

Global $k = 0
$hGui = GUICreate("Кликни правой кнопкой мыши", 370, 220)
$statist = GUICtrlCreateLabel('Функция WM_CONTEXTMENU выполняется при вызове контекстного меню правой кнопкой мыши.', 5, 5, 360, 68)
GUICtrlSetFont(-1, 12)

$iContextMenu = GUICtrlCreateContextMenu()

$NewSubMenu = GUICtrlCreateMenu("Новое", $iContextMenu)
GUICtrlCreateMenuItem("Текст1", $NewSubMenu)
GUICtrlCreateMenuItem("Текст2", $NewSubMenu)
GUICtrlCreateMenuItem("", $iContextMenu) ; разделитель

GUICtrlCreateMenuItem("Информация", $iContextMenu)

$iButton = GUICtrlCreateButton("OK", 150, 170, 70, 28)
$iButtonContext = GUICtrlCreateContextMenu($iButton)
GUICtrlCreateMenuItem("О кнопке", $iButtonContext)

GUISetState()
GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")

Do
Until GUIGetMsg() = -3

Func WM_CONTEXTMENU($hWnd, $Msg, $wParam, $lParam)
	Local $x, $y
	$x = BitAND($lParam, 0xFFFF) ; _WinAPI_LoWord
	$y = BitShift($lParam, 16) ; _WinAPI_HiWord
	$k += 1
	WinSetTitle($hGui, '', 'Вызов ' & $k)
	GUICtrlSetData($statist, 'Дескриптор= ' & $wParam & @LF & 'x=' & $x & @LF & 'y=' & $y)
EndFunc