Привет, я начинаю использовать autohotkey, у меня есть простой скрипт для запуска cmd и выполнения некоторой команды, например:

echo ^ Q> COM5

Скрипт автоотключения:

run cmd.exe
WinWait, ahk_exe cmd.exe ;
Send ECHO ^{Q}>COM{Numpad5}{enter}

Но правая угловая скобка отображается как точка.

Я также попытался вместо>, (ASC 0062) или! {.}

Где я могу ошибиться?

2 ответа2

0

Вы можете использовать Send {Raw} для отправки буквенных строк. Вам нужно будет поместить {Numpad5}{enter} в отдельный оператор отправки, который не является отправкой {raw}, но вы можете разбить текст, который нужно отправить, на столько операторов отправки, сколько необходимо.

Вы также можете запустить команду напрямую, используя оператор run - это может вас заинтересовать, а может и не заинтересовать, но избавляет от необходимости посылать ввод с клавиатуры в командное окно.

0

Вы отправляете верхний регистр Q, что также подразумевает отправку клавиши Shift. Отправка на консоль может быть немного сложнее, разработчик AutoHotkey сделал отдельную функцию, которая может помочь, ConsoleSend() от Lexikos здесь https://autohotkey.com/board/topic/25446-consolesend/

Вы можете отправить текст, используя ConsoleSend(), а затем обычную отправку для цифровых клавиш + клавиши ввода

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .