Evil-S[MLZ]
Новичок
- Сообщения
- 6
- Репутация
- 0
Доброе время суток, поискав по форуму, по спрашивал на jabber'е но все же не получил ответ на свой вопрос.
Итак изложу идею:
Имеется скрипт написанный на AutoHotkey, но в силу своих потребностей(ну и желание научится) возникла нужда переписать его на AutoIT.
Код на AutoHotkey:
Пытался переписать его на AutoIT примерно так:
Цель состоит в передаче нескольких нажатий левой кнопки мыши в секунду при её удержании до момента отпускания, при этом позиция курсора не должна изменятся. При этом должна быть горячая клавиша(использую среднюю кнопку мыши) которая может приостановить цикл(Suspend)
Вроде задача не тривиальна,но столкнулся с проблемами вида:
-при удержании левой клавиши скрипт не может симулировать ее нажатие
-не получается зациклить нажатие при удержании клавиши
Так же столкнулся с непоняткой с функцией MouseClick, в справке указывается цитирую:
х,у - (опциональные) Координаты - x/y перемещения мыши. Если не заданы, то используется текущая позиция указателя мыши.
Но если их не указать тогда вылетает ошибка при выполнении.
Итак изложу идею:
Имеется скрипт написанный на AutoHotkey, но в силу своих потребностей(ну и желание научится) возникла нужда переписать его на AutoIT.
Код на AutoHotkey:
Код:
MButton::Suspend ;
#NoEnv
#SingleInstance force
#InstallKeybdHook
#InstallMouseHook
#Persistent
#IfWinActive, BF2
DetectHiddenWindows, On
CoordMode, Mouse, Screen
SetBatchLines -1
Var = 1
SetBatchLines -1
Numlock::
Suspend
Var:=!Var
If Var
{
SoundBeep, 750, 100
SoundBeep, 750, 100
}
Else
SoundBeep,1000 , 300
Return
SetBatchLines -1
$*LButton::
{
Loop
{
MouseClick, Left,,, 1, 9.34
SetMouseDelay, 30
GetKeyState, state, LBUTTON, P
if state = U
{
Break
}
}
}
Return
Пытался переписать его на AutoIT примерно так:
Код:
#Include <Misc.au3>
$clicks=2
$speed=10
$array=MouseGetPos()
While 1
If _IsPressed(01) Then Click()
Wend
Func Click()
MouseClick("Left")
Opt("MouseClickDelay", 100)
Opt("MouseClickDownDelay", 100)
Sleep(20)
EndFunc
HotKeySet("^!j", "Terminate")
Func Terminate()
Exit 0
EndFunc
Вроде задача не тривиальна,но столкнулся с проблемами вида:
-при удержании левой клавиши скрипт не может симулировать ее нажатие
-не получается зациклить нажатие при удержании клавиши
Так же столкнулся с непоняткой с функцией MouseClick, в справке указывается цитирую:
х,у - (опциональные) Координаты - x/y перемещения мыши. Если не заданы, то используется текущая позиция указателя мыши.
Но если их не указать тогда вылетает ошибка при выполнении.