Что нового

[Мышь, клавиатура] Неправильные координаты клика мышью через SendMessage когда нажат контрол

kAsh

Новичок
Сообщения
2
Репутация
0
Имеется вот такой кусок кода
Код:
Func _ClickHold(Const $x, Const $y, Const $duration)
   Local $MK_LBUTTON  = 0x0001
   Local $WM_LBUTTONDOWN  = 0x0201
   Local $WM_LBUTTONUP  = 0x0202

   _BlockInputEx(1, "", "", $gHandle)

   DllCall("user32.dll", "int", "SendMessage", "hwnd", $gHandle, "int", $WM_LBUTTONDOWN, "int", _
			$MK_LBUTTON, "long", _MakeLong($x, $y))
   Sleep($duration)
   DllCall("user32.dll", "int", "SendMessage", "hwnd", $gHandle, "int", $WM_LBUTTONUP, "int", _
			$MK_LBUTTON, "long", _MakeLong($x, $y))

   _BlockInputEx(0, "", "", $gHandle)
EndFunc

Func _MakeLong($LoWord, $HiWord)
   Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc


Работает хорошо, но если нажать на клавиатуре CTRL (левый или правый - неважно)
то начинает кликать не туда куда должно (пока не отпустишь контрол).
В скрипте больше ничего относящегося к клавиатуре/мыши нету.
 

InnI

AutoIT Гуру
Сообщения
4,950
Репутация
1,445
kAsh
начинает кликать не туда куда должно
В Paint на Win7 кликает куда должно и с нажатым Ctrl и с отжатым.
Возможно, в вашей программе Ctrl+Click специальным образом обрабатывается. Или установлена какая-то программа, глобально обрабатывающая нажатие Ctrl (Punto Switcher, например).
 
Верх