Что нового

[Мышь, клавиатура] Как по нажатию одной клавиши сделать 2 нажатия других клавиш

SHIFT

Новичок
Сообщения
4
Репутация
0
Вот что пытаюсь сделать:
Вписываем в поле клавишу на которую будет назначена команда (прописывал по всякому у меня не вышло как переменную перенести?) Пробовал сначала без поля там где у меня "HotKeySet("$Searcher","_on")" вписывал HotKeySet("{F6}","_on") и на ф6 работает, а вот как цифры прописать не знаю. Где-то нашел что 33 это клавиша 3 но не получилось.
Далее
Ввел например в поле "3" и по нажатию кнопки "3" на клавиатуре должен отработать скрипт = нажаться клавиша "3" потом задержка, и потом "4".

И тут же еще один вопрос, я только начал писать на AutoIt, когда я делаю рабочий скрипт например который выполняется в течении 30ти секунд или циклично я не могу окно с программой закрыть на красный крестик.
 
Автор
S

SHIFT

Новичок
Сообщения
4
Репутация
0
Код:
#include <NomadMemory.au3>
#include <GUIConstants.au3>

GUICreate ("123", 200, 150)

GUICtrlCreateLabel("123", 100, 130, 100, 50)
$Searcher = GUICtrlCreateInput("{F6}", 8, 80, 180, 21)
GUISetState()


HotKeySet("$Searcher","_on")
Func _on()
Send("^3")
Sleep(1000)
Send("4")
EndFunc



HotKeySet("{F8}","_exit")
Func _Exit()
Exit
EndFunc

Do
  $msg = GUIGetMsg()

Until $msg = $GUI_EVENT_CLOSE
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
SHIFT

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
S

SHIFT

Новичок
Сообщения
4
Репутация
0
Поправил, извиняюсь друг.
 
A

Alofa

Гость
Что-то на подобии:
Код:
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1) ; Включает режим OnEvent

Local $sLine = '{F6}'
HotKeySet($sLine, "_on")
HotKeySet("{F8}", "_Exit")

GUICreate("123", 200, 150)
Local $iLabel = GUICtrlCreateLabel($sLine, 100, 130, 100, 50)
Local $Searcher = GUICtrlCreateInput("F6", 8, 80, 110, 21)
Local $iButt = GUICtrlCreateButton('Применить', 125, 80, 70, 21)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") 
GUICtrlSetOnEvent($iButt, "_HotKeySet") 
GUISetState()

While Sleep(1000)
WEnd

Func _HotKeySet()
	HotKeySet($sLine)
	$sLine = '{' & GUICtrlRead($Searcher) & '}'
	HotKeySet($sLine, '_on')
	GUICtrlSetData($iLabel, $sLine)
EndFunc   ;==>_HotKeySet

Func _on()
;~ 	Send("^3")
;~ 	Sleep(1000)
;~ 	Send("4")
	ToolTip('Функция "_on()" выполняется 5 секунд', Default, Default, ' ', 1, 5)
	Sleep(5000)
	ToolTip('')
EndFunc   ;==>_on

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
S

SHIFT

Новичок
Сообщения
4
Репутация
0
помоему нет не работает... если я ставлю кнопку "3" то не прожимается 3 только 4. Вообще пишу макрос для игры. Смысл в том чтоб например при нажатии кнопки "3" быстро прожалось 3,3,1

Пробую так но чет ничего не выходит.

Код:
HotKeySet("3")
While 1
    Sleep(250)
WEnd
Func _Clicker()
    Sleep(25)
    Send("{3 3 1}")
    Sleep(25)
    Exit
EndFunc
 
A

Alofa

Гость
Код:
; Чуть выше еще один косяк - оставляю на вас
; ...
Func _Clicker()
	Sleep(25)
;~ 	Send('{ASC ' & Asc(3) & '},')
;~ 	Send('{ASC ' & Asc(3) & '},')
;~ 	Send('{ASC ' & Asc(1) & '}')

	; ИЛИ

	Send('{NUMPAD3},{NUMPAD3},{NUMPAD1}')

	Sleep(25)
	Exit
EndFunc   ;==>_Clicker
 
Верх