Что нового

Выполнение одной кнопкой 4 команды

Табелариус

Новичок
Сообщения
3
Репутация
0
1.AutoIt 3.3.12.0
2.Выполнение одной кнопкой 4 команды

Ребята помогите кому не лень, а то у меня что то не получается написать скрипт.
Суть такова: чтоб одной кнопкой (А) нажимались кнопки 1,2,3,4 с задержкой в 3 сек каждая кнопка, ну и крутилось это всегда пока не выключить на другую кнопку(В).

Заранее спасибо.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Табелариус [?]
Суть такова: чтоб одной кнопкой (А) нажимались кнопки 1,2,3,4 с задержкой в 3 сек каждая кнопка, ну и крутилось это всегда пока не выключить на другую кнопку(В).
Можно примерно так:
Код:
Global $iStart = 0

Local $aRet = DllCall('user32.dll', 'uint_ptr', 'LoadKeyboardLayoutW', 'wstr', '00000409', 'uint', '0x00000101')
HotKeySet("f", "_start")
HotKeySet("d", "_stop")
HotKeySet("{ESC}", "_quit")

While 1
	Sleep(100)
WEnd

Func _start()
	$iStart = 1
	While $iStart = 1
		For $i = 1 To 4
			Send($i, 1)
			Sleep(3000)
		Next
	WEnd
EndFunc   ;==>_start
Func _stop()
	$iStart = 0
EndFunc   ;==>_stop
Func _quit()
	Exit
EndFunc   ;==>_quit
 
Автор
Т

Табелариус

Новичок
Сообщения
3
Репутация
0
Спасибо большое, а можешь еще добавить сюда к этому скрипту так чтоб когда он прожал подряд эти кнопки 1...4 ждал 10 секунд и повторял снова, а не сразу повторял.
Или покажи что добавить надо и куда или что заменить.
И еще(извиняюсь заранее),можешь написать скрипт на каждую кнопку отдельно с задержкой как это должно выглядеть( к примеру задержки нажатия кнопок будут разные чтоб я понимал куда и что писать.

Спасибо заранее
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Табелариус [?]
ждал 10 секунд и повторял снова
Код:
...
        Next
        Sleep(10000) ; <= добавить
    WEnd
...



Добавлено:
Сообщение автоматически объединено:

Табелариус [?]
задержки нажатия кнопок будут разные
Код:
Global $iStart = 0

$Delay1 = 2000 ; задержка после нажатия 1
$Delay2 = 1000 ; задержка после нажатия 2
$Delay3 = 3000 ; задержка после нажатия 3
$Delay4 = 1500 ; задержка после нажатия 4
$Delay0 = 10000 ; задержка после нажатия всех кнопок


Local $aRet = DllCall('user32.dll', 'uint_ptr', 'LoadKeyboardLayoutW', 'wstr', '00000409', 'uint', '0x00000101')
HotKeySet("f", "_start")
HotKeySet("d", "_stop")
HotKeySet("{ESC}", "_quit")

While 1
    Sleep(100)
WEnd

Func _start()
    $iStart = 1
    While $iStart = 1
        For $i = 1 To 4
            Send($i, 1)
            Sleep(Eval("Delay" & $i))
        Next
        Sleep($Delay0)
    WEnd
EndFunc   ;==>_start
Func _stop()
    $iStart = 0
EndFunc   ;==>_stop
Func _quit()
    Exit
EndFunc   ;==>_quit
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
InnI, мог бы и массив сделать...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
InnI сказал(а):
alex33 [?]
Массив? Не, не слышал...

alex33 сказал(а):
Табелариус сказал(а):
что за массив? объясни или покажи наглядно, ну если не отвлечет это тебя
Было так:
Код:
$Delay1 = 2000 ; задержка после нажатия 1
$Delay2 = 1000 ; задержка после нажатия 2
$Delay3 = 3000 ; задержка после нажатия 3
$Delay4 = 1500 ; задержка после нажатия 4
$Delay0 = 10000 ; задержка после нажатия всех кнопок


А можно было сделать так:
Код:
Global $Delay[5]; создаём массив из 5 элементов
; Заполняем массив
$Delay[0] = 10000 ; задержка после нажатия всех кнопок
$Delay[1] = 2000 ; задержка после нажатия 1
$Delay[2] = 1000 ; задержка после нажатия 2
$Delay[3] = 3000 ; задержка после нажатия 3
$Delay[4] = 1500 ; задержка после нажатия 4
 
Верх