1

Тема: AHK: Команда для неактивного окна

Подскажите почему простейший скрипт не работает:

a::
ControlSend,, a, ahk_class ConstructRt

d::
ControlSend,, d, ahk_class ConstructRt

Вот этот ведь работает:

~1::
ControlSend,, 1, ahk_class ShockwaveFlash
Return

~2::
ControlSend,, 2, ahk_class ShockwaveFlash
Return

В первом случае клавиша посылается неактивному окну экзешника созданного в Construct, во втором - экзешнику созданному в AdobeFlash.
Я только начал пробовать Autohotkey, не могу разобраться.

2

Re: AHK: Команда для неактивного окна

А return где?

3

Re: AHK: Команда для неактивного окна

Посылается не экзешнику, а окну. Идентифицировать окно можно по-разному, в том числе по экзешнику. Но в Вашем примере используется класс окна. По ControlSend имеется русский перевод документации.

4 (изменено: deepNoise, 2018-05-10 12:02:34)

Re: AHK: Команда для неактивного окна

Return был, просто забыл написать.
Пробовал вот так:

a::
ControlSend,, a, ahk_exe dh1.exe
Return

d::
ControlSend,, d, ahk_exe dh1.exe
Return

Всё равно не работает. Что ещё можно сделать?

5

Re: AHK: Команда для неактивного окна

Возможно проблема в том, что в неактивном окне экзешник попросту застывает и не работает. Подскажите как сделать, чтобы экзешник работал в неактивном окне.

6

Re: AHK: Команда для неактивного окна

А что за программа, куда нужно посылать клавиши? Читайте справку. Может, DetectHiddenWindows надо включить или по HWND отправлять нажатие клавиш.

7 (изменено: deepNoise, 2018-05-10 21:38:52)

Re: AHK: Команда для неактивного окна

Экзешник создан в программе Constuct(конструктор для игр). Ещё один экзешник создал в Unity.
Проблема в том, что когда их окна неактивны, они как бы ставятся на паузу, поэтому и нажатия клавиш не проходят. Обычно, когда сворачиваешь современную игру, она не застывает и продолжает работать даже в свёрнутом виде. Почему здесь по другому- не понятно. Подскажите как это исправить?

Попробовал DetectHiddenWindows, on - неактивное окно экзэшника остаётся застывшим и клавиши не проходят.
А что такое HWND? В справке по поиску ничего такого не нашёл.

8

Re: AHK: Команда для неактивного окна

В русской справке всё есть про HWND/handle. Это уникальный идентификатор, который имеется у каждого окна и у каждого элемента управления. Можно почитать про ControlGet и ControlGet.

9

Re: AHK: Команда для неактивного окна

Причин может быть много, почему так происходит.
https://autohotkey.com/boards/viewtopic … tester+ahk.