Что нового

[Мышь, клавиатура] Глобальный аналог функции Send

MK0

Новичок
Сообщения
4
Репутация
0
Насколько я понимаю, функция Send эмулирует нажатие клавиш в активном окне. Т.е. если программа, которая ждет горячей клавиши, свернута, то Autoit до нее не достучится, а если нажать ту же клавишу на клавиатуре самостоятельно — она заработает. Поясните, пожалуйста, новичку, как сделать глобальный аналог этой функции.
 

InnI

AutoIT Гуру
Сообщения
4,950
Репутация
1,445
MK0 [?]
Насколько я понимаю, функция Send эмулирует нажатие клавиш в активном окне.
Правильно понимаете.
если программа, которая ждет горячей клавиши, свернута, то Autoit до нее не достучится, а если нажать ту же клавишу на клавиатуре самостоятельно — она заработает
А здесь я ничего не понял.
как сделать глобальный аналог этой функции
Сложно понять, что вы хотите. Для отправки клавиш в свёрнутое окно используется
Код:
ControlSend()
для назначения горячих клавиш
Код:
HotKeySet()
Всё есть в справке.
 

agikon

Знающий
Сообщения
789
Репутация
17
может речь идёт про отслеживание нажатие клавиши как таковое.
тогда есть такая функция
Код:
_IsPressed
 
Автор
M

MK0

Новичок
Сообщения
4
Репутация
0
А здесь я ничего не понял
Сложно понять, что вы хотите
Извиняюсь, что так неясно выразился. Во время написания поста меня отвлекали, да и устал к вечеру, поэтому не смог внятно объяснить.
Смотрите: у меня сейчас в трее находится программа, которая при нажатии горячей клавиши (пусть будет F9) выполняет нужные мне действия. Но мне нужно, чтобы это действие выполнялось автоматически при определенных условиях, поэтому я решил использовать AutoIt. У меня возникла небольшая трудность — я использовал функцию Send, не полностью разобравшись в ее назначении, и потерпел неудачу, так как она эмулирует нажатие только в активном окне, каким окно той программы не является. Напомню, что при нажатии клавиши на клавиатуре все работает. Надеюсь, теперь я прояснил ситуацию. Да, "глобальный аналог" — совсем неправильное определение. Если что, в следующий раз даже обращусь в "придумываем названия тем для новичков".
Для отправки клавиш в свёрнутое окно
Вот это подойдет. Но, пожалуйста, объясните: как правильно прописать туда именно эту программу. С документацией, увы, не разобрался. Буду очень благодарен.
 

InnI

AutoIT Гуру
Сообщения
4,950
Репутация
1,445
MK0 [?]
при нажатии горячей клавиши (пусть будет F9) выполняет нужные мне действия
Если у вас F9 действительно зарегистрирована в системе, как горячая клавиша, то
Код:
Send("{F9}")
сработает независимо от текущего активного окна. Главное, чтобы текущее активное окно имело права не выше, чем выполняемый скрипт. Т.е. если активное окно имеет права администратора, а скрипт обычного пользователя, то Send не пройдёт.
 
Верх