Версия AutoIt: 3.3.14.0
Описание: Нужно чтоб уже существующий автокликер, который при зажатии пкм имитирует много разовое нажатие этой клавиши, был обновлен из-за нехватки функционала. Необходимо чтобы кликер мог в окне при старте, по мимо уже существующих параметров, показывал еще 2, которые будут включатся/выключатся галочками, первый будет отвечать за работу или бездействие "кликанья" левой кнопки мыши, а второй. в свою очередь за правую.
Примечания: Пример: Я включаю программу, открывается окно, ставлю галочку на первом параметре, а на втором нет, в итоге автокликер должен работать как раньше только теперь с лкм. А если отмечены 2 параметра галочками, будет работать имитация многоразовых кликов на лкм и пкм при зажатии соответствующих клавиш.
Вот сам автокликер который нужно усовершенствовать:
Описание: Нужно чтоб уже существующий автокликер, который при зажатии пкм имитирует много разовое нажатие этой клавиши, был обновлен из-за нехватки функционала. Необходимо чтобы кликер мог в окне при старте, по мимо уже существующих параметров, показывал еще 2, которые будут включатся/выключатся галочками, первый будет отвечать за работу или бездействие "кликанья" левой кнопки мыши, а второй. в свою очередь за правую.
Примечания: Пример: Я включаю программу, открывается окно, ставлю галочку на первом параметре, а на втором нет, в итоге автокликер должен работать как раньше только теперь с лкм. А если отмечены 2 параметра галочками, будет работать имитация многоразовых кликов на лкм и пкм при зажатии соответствующих клавиш.
Вот сам автокликер который нужно усовершенствовать:
Код:
#include <Misc.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
HotKeySet("{PAUSE}", "Start")
HotKeySet("+{ESC}", "Quit")
$GUI = GUICreate("Кликер", 455, 135)
$InpDownUp = GUICtrlCreateInput("", 5, 5, 50, 20, 0x2000)
GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", "5"))))
GUICtrlCreateLabel("задержка в миллисекундах между нажатием и отпусканием кнопки мыши", 60, 5, 380, 20, 0x0200)
$InpClicks = GUICtrlCreateInput("", 5, 30, 50, 20, 0x2000)
GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay", "30"))))
GUICtrlCreateLabel("задержка в миллисекундах между одиночными кликами", 60, 30, 380, 20, 0x0200)
$InpFirst = GUICtrlCreateInput("", 5, 55, 50, 20, 0x2000)
GUICtrlSetData(-1, Abs(Int(IniRead(@ScriptDir & "\DelaySets.ini", "Delay", "FirstDelay", "100"))))
GUICtrlCreateLabel("задержка в миллисекундах после первого клика", 60, 55, 380, 20, 0x0200)
GUICtrlCreateLabel("Pause - установка/снятие кликера с паузы", 5, 85, 230, 20, 0x0200)
GUICtrlCreateLabel("Shift+ESC - прекращение работы скрипта", 5, 110, 230, 20, 0x0200)
$BtnStart = GUICtrlCreateButton("Готово", 350, 85, 100, 45)
GUISetState()
Do
Switch GUIGetMsg()
Case -3
Exit
Case $BtnStart
IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "DownUpDelay", GUICtrlRead($InpDownUp))
IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "ClicksDelay", GUICtrlRead($InpClicks))
IniWrite(@ScriptDir & "\DelaySets.ini", "Delay", "FirstDelay", GUICtrlRead($InpFirst))
ExitLoop
EndSwitch
Until 0
Global $DownUpDelay = GUICtrlRead($InpDownUp)
Global $ClicksDelay = GUICtrlRead($InpClicks)
Global $FirstDelay = GUICtrlRead($InpFirst)
Global $Start = True
GUIDelete($GUI)
Do
If $Start Then
If _IsPressed("02") Then
$Timer = TimerInit()
Do
If Not _IsPressed("02") Then ExitLoop
Sleep(10)
Until TimerDiff($Timer) > $FirstDelay
If Not _IsPressed("02") Then
ContinueLoop
Else
Do
$tPoint = _WinAPI_GetMousePos()
$hWin = _WinAPI_WindowFromPoint($tPoint)
_WinAPI_ScreenToClient($hWin, $tPoint)
RightDownUp($hWin, $tPoint.X, $tPoint.Y, $DownUpDelay)
Sleep($ClicksDelay)
Until Not _IsPressed("02")
EndIf
EndIf
EndIf
Sleep(10)
Until 0
Func RightDownUp($hWnd, $X, $Y, $Sleep = 0)
_WinAPI_PostMessage($hWnd, $WM_RBUTTONDOWN, 0, _WinAPI_MakeLong($X, $Y))
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_RBUTTONDOWN))
Sleep($Sleep)
_WinAPI_PostMessage($hWnd, $WM_RBUTTONUP, 0, _WinAPI_MakeLong($X, $Y))
_WinAPI_PostMessage($hWnd, $WM_SETCURSOR, $hWnd, _WinAPI_MakeLong($HTCLIENT, $WM_RBUTTONUP))
EndFunc
Func Start()
$Start = Not $Start
EndFunc
Func Quit()
Exit
EndFunc