Что нового

[Мышь, клавиатура] Выполнение скрипта при зажатой кнопке.

Ksaan

Знающий
Сообщения
207
Репутация
15
То есть есть бесконечный цикл

пример.
Код:
While 1
;----- код -----
WEnd


как сделать так чтобы этот цикл работал только тогда покуда зажата клавиша его запускающая а при отпускании прекращал работу.
Если мы закинем все в функцию

Код:
Func _start()
   While 1
   Send("p")
  Sleep(200)
  WEnd
  
EndFunc

Func on()
  _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_start') 
EndFunc


то при нажатий цикл запустится и уже даже пауза его не остановит.
Я пытался остановить его с помощью команды

Код:
$MOUSE_PRIMARYUP_EVENT ;Отжатие главной кнопки.

но я новичёк и так и не смог разобраться.......прошу помощи :(
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Ksaan [?]
как сделать так чтобы этот цикл работал только тогда покуда зажата клавиша его запускающая а при отпускании прекращал работу.
Код:
#Include <Misc.au3>
HotKeySet('{ESC}', '_Exit')
While 1
	If _IsPressed('A2') Then ; Left CONTROL 
		Do
			ConsoleWrite(';----- код -----' & @CR)
			Sleep(250)
		Until Not _IsPressed('A2')
	EndIf
	Sleep(250)
WEnd

Func _Exit()
	Exit
EndFunc
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
МММ... любопытно надо попробовать немного по другому.
А по сути не работает как ты написал выдает ошибку на
Код:
If _IsPressed('A2') Then
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
If _IsPressed('A2') Then
If^ERROR
Unknown function name
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Ksaan [?]
Код:
#Include <Misc.au3>


[?]
пытался остановить его с помощью команды
Код:
#include <MouseOnEvent.au3>

Global $Paused = True

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "Pause")
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, "Pause")

While 1
  If Not $Paused Then
    Send("p")
    Sleep(200)
  Else
    Sleep(10)
  EndIf
WEnd

Func Pause()
  $Paused = Not $Paused
EndFunc
 
Автор
Ksaan

Ksaan

Знающий
Сообщения
207
Репутация
15
InnI
Ой какое тебе ЧЕЛОВЕЧЕСКОЕ СПАСИБО!! полторы недели над ним голову ломал. :laugh:
 
Верх