1 (изменено: logosJH, 2020-08-01 13:48:19)

Тема: AHK: Clipboard, Reload, Getkeystate

Здравствуйте. Помогите решить проблемы кодом.
1. После своего выполнения скрипт чистит буфер обмена и перезапускается.
2. Скрипт проверяет нажималась ли клавиша, если нет то, нажимает повторно (до тех пор пока не нажмет).
Спасибо!

2

Re: AHK: Clipboard, Reload, Getkeystate

logosJH
После выполнения скрипта пропишите:


Clipboard =
Reload

Кстати, удивительно, вы знаете о такой функции, как "Reload", "GetKeyState", но вместо чтения справки пришли на форум.

3 (изменено: logosJH, 2020-08-02 16:16:04)

Re: AHK: Clipboard, Reload, Getkeystate

SuBrex
Здравствуйте. Да, действительно знаком, но не совсем понимаю. Дело в том, что я не вижу как перезапускается программа в трее. Или эту скорость не зафиксировать зрительно? И у меня такая проблема, что скрипт написанный для игры, иногда пропускает нажатия. То-есть чаще всего проходит все ( т.к. тайминги под запись подбирались), но бывает и не прожимает. Думаю это связанно с железом. У меня слабый ноут по характеристикам. Но как раз для этого мне нужно понимание кодом: Если клавиша не была нажата, то нажать еще раз (if else - с этим мне не совсем понятно)


scD:: ; = 
{
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
SendInput, {sc2E Down} ; Нажать C
Sleep, .... ; Время
Sendinput, {sc2E Up} ; Отпустить C
Sleep, .... ; Время
SendInput, {sc4 Down} ; Нажать 3
Sleep, .... ; Время
Sendinput, {sc4 Up} ; Отпустить 3
Sleep, .... ; Время
SendInput, {sc2E Down} ; Нажать C
Sleep, .... ; Время
Sendinput, {sc2E Up} ; Отпустить C
Sleep, .... ; Время
SendInput, {sc4 Down} ; Нажать 3
Sleep, .... ; Время
Sendinput, {sc4 Up} ; Отпустить 3
Sleep, .... ; Время
SendInput, {sc2E Down} ; Нажать C
Sleep, .... ; Время
Sendinput, {sc2E Up} ; Отпустить C
Sleep, .... ; Время
SendInput, {sc4 Down} ; Нажать 3
Sleep, .... ; Время
Sendinput, {sc4 Up} ; Отпустить 3
Sleep, .... ; Время
SendInput, {sc2E Down} ; Нажать C
Sleep, .... ; Время
Sendinput, {sc2E Up} ; Отпустить C
Sleep, .... ; Время
SendInput, {sc4 Down} ; Нажать 3
Sleep, .... ; Время
Sendinput, {sc4 Up} ; Отпустить 3
Sleep, .... ; Время
SendInput, {sc2E Down} ; Нажать C
Sleep, .... ; Время
Sendinput, {sc2E Up} ; Отпустить C
Sleep, .... ; Время
SendInput, {sc4 Down} ; Нажать 3
Sleep, .... ; Время
Sendinput, {sc4 Up} ; Отпустить 3
Sleep, .... ; Время
SendInput, {sc21 Down} ; Нажать F
Sleep, ... ; Время
Sendinput, {sc21 Up} ; Отпустить F
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
Sleep, ... ; Время
SendInput, {sc11 Down} ; Нажать W
Sleep, ... ; Время
Sendinput, {sc11 Up} ; Отпустить W
Sleep, ... ; Время
SendInput, {sc13 Down} ; Нажать R
Sleep, ... ; Время
Sendinput, {sc13 Up} ; Отпустить R
Sleep, ... ; Время
SendInput, {sc21 Down} ; Нажать F
Sleep, ... ; Время
Sendinput, {sc21 Up} ; Отпустить F
Sleep, ... ; Время
SendInput, {sc23 Down} ; Нажать H
SetKeyDelay, 0
SendInput, {Click Down Right} ; Нажать ПКМ
SetKeyDelay, 0
Sendinput, {Click Up Right} ; Отпустить ПКМ
SetKeyDelay, 0
Sendinput, {sc23 Up} ; Отпустить H
SetKeyDelay, 0
SendInput, {sc20 Down} ; Нажать D
Sleep, ... ; Время
Sendinput, {sc20 Up} ; Отпустить D
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
Sleep, ... ; Время
SendInput, {sc11 Down} ; Нажать W
Sleep, ... ; Время
Sendinput, {sc11 Up} ; Отпустить W
Sleep, ... ; Время
SendInput, {sc10 Down} ; Нажать Q
Sleep, ... ; Время
Sendinput, {sc10 Up} ; Отпустить Q
Sleep, ... ; Время
SendInput, {sc13 Down} ; Нажать R
Sleep, ... ; Время
Sendinput, {sc13 Up} ; Отпустить R
Sleep, ... ; Время
SendInput, {sc23 Down} ; Нажать H
SetKeyDelay, 0
SendInput, {Click Down Right} ; Нажать ПКМ
SetKeyDelay, 0
Sendinput, {Click Up Right} ; Отпустить ПКМ
SetKeyDelay, 0
Sendinput, {sc23 Up} ; Отпустить H
SetKeyDelay, 0
SendInput, {sc20 Down} ; Нажать D
Sleep, ... ; Время
Sendinput, {sc20 Up} ; Отпустить D
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
Sleep, ... ; Время
SendInput, {sc12 Down} ; Нажать E
Sleep, ... ; Время
Sendinput, {sc12 Up} ; Отпустить E
SetKeyDelay, 0
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
SendInput, {sc1E Down} ; Нажать A
SetKeyDelay, 0
Sendinput, {sc1E Up} ; Отпустить A
SetKeyDelay, 0
}
Return
Process, priority,, High

И вот к примеру, если какая-то кнопка не была прожата, в середине скрипта, то он проверяет и нажимает, перед тем как идти дальше. Я пробовал Loop, 10 (к примеру) на многоповторку. Но это не профессионально). Попробовал добавить reload но снова не вижу перезапуск скрипта в трее.

4

Re: AHK: Clipboard, Reload, Getkeystate

logosJH, оформите код по правилам.

5

Re: AHK: Clipboard, Reload, Getkeystate

logosJH
Дабы проверить, работает ли reload, можно в начало и перед самим reload ввести два MsgBox.

6

Re: AHK: Clipboard, Reload, Getkeystate

logosJH, объсняю для новичков. Проходите по ссылке Помощь в использовании BBCode. Пролистываете до абзаца, где приводится пример

[codе]Некоторый код.[/сode]

и читаете внимательно.