Тема: AHK: Назначить действие на движение мыши
Хотелось бы в некоторых программах (особенно, где управление камерой производится клавишами) задать движения мышки в качестве горячих клавиш.
Как это осуществить - ни разу не сталкивался. Наверно, для начала нужно перехватить события мышки. На сайте есть такая тема http://www.autohotkey.com/forum/viewtop … 490#127490, где представлен код
#Persistent
OnExit, Unhook
hHookKeybd := SetWindowsHookEx(WH_KEYBOARD_LL := 13, RegisterCallback("Keyboard", "Fast"))
;hHookMouse := SetWindowsHookEx(WH_MOUSE_LL := 14, RegisterCallback("MouseMove", "Fast"))
Return
Unhook:
UnhookWindowsHookEx(hHookKeybd)
;UnhookWindowsHookEx(hHookMouse)
ExitApp
Keyboard(nCode, wParam, lParam)
{
Critical
If !nCode
OutputDebug, % wParam . "|" . " vkCode: " . NumGet(lParam+0, 0) . " scCode: " . NumGet(lParam+0, 4) . " Extended: " . NumGet(lParam+0, 8) & 1 . " Time: " . NumGet(lParam+0, 12)
Return CallNextHookEx(nCode, wParam, lParam)
}
MouseMove(nCode, wParam, lParam)
{
Critical
If !nCode && (wParam = 0x200)
OutputDebug, % " X: " . NumGet(lParam+0, 0, "int") . " Y: " . NumGet(lParam+0, 4, "int")
Return CallNextHookEx(nCode, wParam, lParam)
}
SetWindowsHookEx(idHook, pfn)
{
Return DllCall("SetWindowsHookEx", "int", idHook, "Uint", pfn, "Uint", DllCall("GetModuleHandle", "Uint", 0), "Uint", 0)
}
UnhookWindowsHookEx(hHook)
{
Return DllCall("UnhookWindowsHookEx", "Uint", hHook)
}
CallNextHookEx(nCode, wParam, lParam, hHook = 0)
{
Return DllCall("CallNextHookEx", "Uint", hHook, "int", nCode, "Uint", wParam, "Uint", lParam)
}Просьба помочь разобраться с кодом. Выслушаю ваши соображения об этой теме.

