Что нового

[Мышь, клавиатура] Как сделать чтобы при нажатии на клавишу выполнялись какие-то действия?

nextovoy

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

Fever

Скриптер
Сообщения
308
Репутация
112
Код:
#include <Misc.au3>

While 1
	If _IsPressed("10") Then ;Shift
		MsgBox(0, "", "Shift нажат")
	EndIf
	
	Sleep(100)
WEnd


или

Код:
HotKeySet("1", "_Func")

While 1
	Sleep(100)
WEnd

Func _Func()
	MsgBox(0, "", "1 нажато")
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
nextovoy,
Код:
For $i = 48 To 57
	HotKeySet('^' & Chr($i), '_MyFunc');Ctrl + 0-9
Next
HotKeySet('{Esc}', '_Exit')

While 1
	Sleep(50)
WEnd

Func _MyFunc()
	ConsoleWrite('Нажаты Ctrl + ' & StringRight(@HotKeyPressed, 1) & @CR)
	Beep(500, 100)
EndFunc   ;==>_MyFunc

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

nextovoy

Новичок
Сообщения
6
Репутация
0
Эмм... можно поподробнее? Что тут к чему? Разъяснить, потихоньку по маленьку... Но меня прежде всего интересует первое сообщение, там намного короче. Или напишите код с условием, чтобы при нажатии на клавишу H(англ) выполнились 4 действия(действия необязательно писать), а дальше я по аналогии делать буду
 

Fever

Скриптер
Сообщения
308
Репутация
112
nextovoy [?]
на клавишу H(англ) выполнились 4 действия
проще всего вот так:
Код:
HotKeySet("h", "_Func") ;первый аргумент - нужная клавиша, второй - функция, вызываемая при её нажатии

While 1
	Sleep(100)
WEnd

Func _Func()
	MsgBox(0, "", "действие 1")
	MsgBox(0, "", "действие 2")
	MsgBox(0, "", "действие 3")
	MsgBox(0, "", "действие 4")
EndFunc
 
Автор
N

nextovoy

Новичок
Сообщения
6
Репутация
0
Спасибо! Теперь мне понятно как делать, а то я разобраться не мог! Спасибо большое!
 
Верх