Что нового

бесконечный цикл нажатия клавиш с задержкой

Грр

Новичок
Сообщения
5
Репутация
0
Добрый день! Понадобился скрипт, но я далёкий от программирования человек, поэтому на порядки раз быстрее обратиться к специалистам, нежели разбираться самому.

Необходим скрипт на цикличное нажатие двух клавиш "1" и "2". Что-то типа:
запуск "F1"
окончание "F2"
постоянное попеременное нажатие единицы и двойки (в секунду по пять раз), до выхода из цикла (F2).
Мне цикл придётся время от времени менять, поэтому очень хотелось бы понять какие команды отвечают за задержку и какие именно строчки необходимо будет продублировать (с другой цифрой, например), что бы она добавилась в цикл.
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Re: цикл на клавиатуре

Так ?:
Код:
HotKeySet('{F1}', '_F1')
HotKeySet('{F2}', '_F2')

Global $var = 0

While 1
	Sleep(100)
WEnd

Func _F1()
	$var = 0
	Do
		Send('{1}{2}')
	Until $var <> 0
EndFunc

Func _F2()
	$var = 1
EndFunc
 

Microteam

Осваивающий
Сообщения
74
Репутация
34
Re: цикл на клавиатуре

Код:
Global $is_enabled = False ;// Создаем глобальную переменную

HotKeySet("{F1}", "_enable") ;// Опеределяем горячие клавиши
HotKeySet("{F2}", "_disable") ;// 

;// Это наш главный цикл
While 1
   ;// Это проверка: ЕСЛИ $is_enabled = true то нажимать на клавиши
   if $is_enabled = True Then
         Send("1")
         Send("2")
         Sleep(100)
   EndIf
WEnd

;// это функция которая включает нажатие на клавишу
Func _enable()
$is_enabled = true;
EndFunc

;//Это функция которая выключает нажатие клавиши
Func _disable()
$is_enabled = false;
EndFunc

;// Обе эти функции просто меняют значение глобальной переменной $is_enabled

Думаю понятно объяснил)
Как насчет такого алгоритма?
 
Автор
Г

Грр

Новичок
Сообщения
5
Репутация
0
Re: цикл на клавиатуре

супер, не ожидал, что так быстро напишите. Но тут кажется нет задержки. Можно как-то прописать, что бы каждое нажатие было раз в 0.1 секунду? wait какой-то...
Что бы не было лишнего спама кнопок :smile:
И подобный цикл в любом случае будет нагружать полностью одно ядро?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: цикл на клавиатуре

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"цикл на клавиатуре" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 
Автор
Г

Грр

Новичок
Сообщения
5
Репутация
0
Либо, можно написать макрос переназначающий колесо мышки на нажатие опять же нескольких клавиш? Крутишь колесо - клавиши попеременно нажимаются...
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
можно написать макрос переназначающий колесо мышки на нажатие опять же нескольких клавиш? Крутишь колесо - клавиши попеременно нажимаются...
Код:
#include "MouseOnEvent.au3"

_MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT, "_Send")

While 1
	Sleep(100)
WEnd

Func _Send()
	Send('{1}{2}')
EndFunc


MouseOnEvent.au3:
http://www.autoitscript.com/forum/topic/64738-mousesetonevent-udf/
 
Автор
Г

Грр

Новичок
Сообщения
5
Репутация
0
последний скрипт выдаёт ошибки какие-то. Видимо, бибилиотека не подключена. Очень тяжело не разбираться в интересуемом вопросе :(
 
Верх