Global Const $MK_CONTROL = 0x8
Global Const $MK_LBUTTON = 0x1
Global Const $MK_MBUTTON = 0x10
Global Const $MK_RBUTTON = 0x2
Global Const $MK_SHIFT = 0x4
Global Const $MK_XBUTTON1 = 0x20
Global Const $MK_XBUTTON2 = 0x40

Global $k = 0
$Gui = GUICreate("WM_LBUTTONDOWN", 500, 150)
GUICtrlCreateLabel('Функция WM_LBUTTONDOWN выполняется при нажатии левой кнопки мыши в клиентской области окна.', 5, 5, 480, 34)
GUISetState()

GUIRegisterMsg(0x0201, "WM_LBUTTONDOWN")

Do
Until GUIGetMsg() = -3

Func WM_LBUTTONDOWN($hWnd, $MsgId, $wParam, $lParam)
	Local $i, $key, $X, $Y
	$k += 1
	; Координаты мыши
	$X = BitAND($lParam, 0xFFFF) ; _WinAPI_LoWord
	$Y = BitShift($lParam, 16) ; _WinAPI_HiWord

	; Одновременно нажатые клавиши
	$key = _KeysHeld($wParam)
	If $key Then
		$key = @LF & @LF & 'Одновременно удерживаемые клавиши:' & @LF & $key
		ToolTip('Вызов ' & $k & ' раз, x=' & $X & ', y=' & $Y & $key, Default, Default, "Мышь", 1, 1)
	Else
		ToolTip('')
	EndIf

	WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз, x=' & $X & ', y=' & $Y)
EndFunc

Func _KeysHeld($iKeys)
	Local $sKeyHeld
	If BitAND($iKeys, $MK_CONTROL) Then $sKeyHeld &= 'CTRL' & @LF
	If BitAND($iKeys, $MK_LBUTTON) Then $sKeyHeld &= 'Левая кнопка мыши' & @LF
	If BitAND($iKeys, $MK_MBUTTON) Then $sKeyHeld &= 'Средняя кнопка мыши' & @LF
	If BitAND($iKeys, $MK_RBUTTON) Then $sKeyHeld &= 'Правая кнопка мыши' & @LF
	If BitAND($iKeys, $MK_SHIFT) Then $sKeyHeld &= 'SHIFT' & @LF
	If BitAND($iKeys, $MK_XBUTTON1) Then $sKeyHeld &= 'Windows 2000/XP: Первая X кнопка' & @LF
	If BitAND($iKeys, $MK_XBUTTON2) Then $sKeyHeld &= 'Windows 2000/XP: Вторая X кнопка' & @LF
	Return $sKeyHeld
EndFunc