Здравствуйте, подскажите пожалуйста как можно узнать длительность нажатия клавиш. Нужно мне это для записи маршрута бота. То есть в итоге я буду получать такой текстовый файл примерно W 200, S 130 То есть двигаться вперёд в течении 200 миллисекунд, назад 150 миллисекунд. Сам никак не могу дойти, допустим повесили на клавишу обработчик нажали, вызвалась функция, и сколько раз она будет вызываться пока нажата клавиша ? Подскажите как сделать.
Подумал ещё, можно в цикле вызывать функцию и если клавиша нажата по TimerInit и TimerDiff определять сколько мс она была зажата. Не знаю на сколько это правильно и точно будет.
Подумал ещё, можно в цикле вызывать функцию и если клавиша нажата по TimerInit и TimerDiff определять сколько мс она была зажата. Не знаю на сколько это правильно и точно будет.
Код:
Func GetPressingWASD()
$key=""
$dll = DllOpen("user32.dll")
While 1
Sleep ( 10 )
If _IsPressed("57", $dll) Then ; W
$key="W"
ExitLoop
EndIf
If _IsPressed("41", $dll) Then ; A
$key="A"
ExitLoop
EndIf
If _IsPressed("53", $dll) Then ; S
$key="S"
ExitLoop
EndIf
If _IsPressed("44", $dll) Then ; D
$key="D"
ExitLoop
EndIf
WEnd
DllClose($dll)
Return $key
EndFunc