1 (изменено: over-seas, 2018-07-31 17:54:57)

Тема: AHK: Вопрос по переносу курсора в тексте по нажатию клавиши

Необходимо что бы в активной строчке чата появлялась 9'ая строчка из кода, с предустановленным положение курсора в районе знака %, затем я вписываю ник игрока, допустим "Lucky Man", вписав первую часть имени жму Space, вписав вторую часть имени снова жму Space, и вот на это второе нажатие курсор перемещается на знак $. Вопрос, как это осуществить? (чайник)

Numpad9::
SendMessage, 0x50,, 0x4190419,, A
Sendinput, {F6}/me включил бортовой компьютер{ENTER}
sleep, 2500
Sendinput, {F6}/me заполняет протокол на преступника{ENTER}
sleep, 2500
Sendinput, {F6}/me открыв двери машины передает преступника сотрудникам департамента{ENTER}
sleep, 2500
Sendinput, {F6}/k Дело по подозреваемому % | Напарник: $
sleep, 300
Sendinput, {F6}/time{ENTER}
sleep, 2500
Sendinput, {F2}
Return

2

Re: AHK: Вопрос по переносу курсора в тексте по нажатию клавиши

Если чат поддерживает перемещение курсора ввода стрелками клавиатуры, то посылайте {Left} и {Right}. Конечно, надёжнее ввести всю информацию заранее, а уже потом запускать Sendinput.

3

Re: AHK: Вопрос по переносу курсора в тексте по нажатию клавиши

over-seas пишет:

Необходимо что бы в активной строчке чата появлялась 9'ая строчка из кода, с предустановленным положение курсора в районе знака %, затем я вписываю ник игрока, допустим "Lucky Man", вписав первую часть имени жму Space, вписав вторую часть имени снова жму Space, и вот на это второе нажатие курсор перемещается на знак $. Вопрос, как это осуществить? (чайник)

Можно так:

#NoEnv
SendMode Input

Numpad8::
SendMessage, 0x50,, 0x4190419,, A
Send, {F6}/me включил бортовой компьютер{Enter}
sleep, 2500
Send, {F6}/me заполняет протокол на преступника{Enter}
sleep, 2500
Send, {F6}/me открыв двери машины передает преступника сотрудникам департамента{Enter}
sleep, 2500
Send, {F6}/k Дело по подозреваемому{Space}
KeyWait, Space, D
sleep, 1000
KeyWait, Space, D
Send, {Space}| Напарник:{Space}
KeyWait, Enter, D
sleep, 300
Send, {F6}/time{Enter}
sleep, 2500
Send, {F2}
Return

Хотя уверен что ожидание клавиши можно гораздо надежнее оформить.