1

Тема: AHK: Проблема с посылкой нажатия клавиши

Есть проблема с посылкой клавиши в игру (Send).
Проблема заключается в том, что клавиша посылаемая в окно игры не воспринимается игрой.
Перепробовал все возможные варианты, в плоть до идиотизма.
Пробивал вариант посылки клавиши применяемой в Windows 98 не чего не получается!
Все казалось бы безнадежно если бы не 1 но, при посылки через SendRaw игра 1 раз реагирует последующая посылка одной и той же клавиши приводит к тому что игра более не реагирует, даже после перезапуска скрипта, до того момента пока не будет послана та же клавиша в другом регистре. Тесть Сначала посылаем SendRaw g, изменяем скрипт на SendRaw G и снова запускаем и так до бесконечности! Все было бы хорошо, использование тогла, то есть посылать из скрипта то большую то маленькую, но до перезапуска скрипта игра не реагирует больше не на большую не на маленькую букву. Даже был вариант считывать букву из ini файла, создавалось 2 ini файла содержащие одну и туже букву в разных регистрах, и поочередное чтение их при нажатиях, тоже не прокатило. Максимально чего получилось добиться это чтение ключа из ini файла буквы посылка в игру, затем РУЧНОЕ изменение файла а именно изменение буквы в другой регистр и снова посылка в игру, тогда работает. Пытался автоматизировать перезапись файла с ключом в разных регистрах, эффект тот же, игра не реагирует!
Привожу код до которого я докатился от безысходности, но все равно реагирует только 1 раз!
Только если вместо IniWrite в ручную править файл!


ToggleKey := 1
Loop
{
    IniRead, Key, Test.ini, HotKey, Key
    Sleep 200
    KeyWait, Xbutton2, D
    
    if (ToggleKey = 1)
    {
        IniWrite, g, Test.ini, HotKey, Key
        ToggleKey := 1
    }
    else
    {
        IniWrite, G, Test.ini, HotKey, Key
        ToggleKey := 0
    }
    SendRaw %Key%
    ToggleKey++
}

2

Re: AHK: Проблема с посылкой нажатия клавиши

Паузу не пробовали вставлять между нажатием и отпусканием?


Send, {g down}
Sleep, 50
Send, {g up}

3

Re: AHK: Проблема с посылкой нажатия клавиши

От 50 до 500 с шагом в 50, все равно не работает!

4 (изменено: Strongest, 2013-07-30 20:01:35)

Re: AHK: Проблема с посылкой нажатия клавиши

Это фантастика )))
Нашол ответ в только что созданной теме )
http://forum.script-coding.com/viewtopic.php?id=8514
Вот так вышло


Xbutton2::
ControlSend, ahk_parent, G, ahk_exe Game.exe

5

Re: AHK: Проблема с посылкой нажатия клавиши

Блин, ложная тревога, точно так же не работает кроме одного отличия после физ нажатия на кнопку, скрипт сново работает. То есть посылаем скриптом нажате, затем нажимаем ее руками, потом сново можно послать нажатие скриптом. Если рукой не нажать, то срипт не работает.

6 (изменено: serzh82saratov, 2013-07-30 21:16:53)

Re: AHK: Проблема с посылкой нажатия клавиши

А если так:

ControlSend, ahk_parent, {vk47}, ahk_exe Game.exe

{vk47} это G
Или:

ControlSend, ahk_parent, {vk47 Down}, ahk_exe Game.exe
Sleep 50
ControlSend, ahk_parent, {vk47 Up}, ahk_exe Game.exe
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

7

Re: AHK: Проблема с посылкой нажатия клавиши

Попробывал, получилось следующие: кликов 30 оно работало идеально. Но потом перестало наглухо, даже перезапуск скрипта не помогает... возможно поможет перезагрузка игры, но это уже не суть.
Уже не знаю что делать, это по всему видимуму защита игры.

8 (изменено: Strongest, 2013-07-30 23:47:04)

Re: AHK: Проблема с посылкой нажатия клавиши

Перезагрузил игру, снова игра реагирует на несколько нажатий около 20 - 30 подряд, после чего снова перестает реагировать.
Как же все тки обмануть ? )
Протестирую любые предположения.

9

Re: AHK: Проблема с посылкой нажатия клавиши

Strongest, некоторые игры детектят эмуляцию клавиш, возможно в этом проблема ))

10

Re: AHK: Проблема с посылкой нажатия клавиши

Протестировал несколько готовых программ для выполнения данной задачи, 99% либо совсем не реагируют, либо несколько нажатий подряд. Но есть 1 программа a tech “Oscar” которая работает идеально, но эта программа работает с небольшим набором мышек, не суть. И вот снова нет у меня покоя, значит же все таки можно как то )