1

Тема: AHK: не работает ControlSend

В общем, дело такое: есть игра, играю, соответственно, в пару окон. Появилась необходимость перекастовывать ауру через определённое время в неактивном окне.
Если вдруг понадобится отключить или перезапустить - прикручена кнопка Home.
ОС win7, на ХРюшке всё работало, а тут ни в какую. Скрипт от имени администратора, ось работать не мешает, но вот функционировать отказывается.
При замене ControlSend на SendPlay всё работает, но, соответственно, только в активном окне. А с ControlSend-ом не работает даже в активном.
Сижу весь лысый, злой, и печальный. А додумать извилин не хватает.
И ведь как только не пробовал...

autocast = 0
SetTitleMatchMode, 2
+^1:: ;контрл+шифт+1 привязывает скрипт к конкретному окну
WinGet, active_id1, ID, A
Return


Home:: ; Кнопка Home включает-выключает ауру
if autocast = 1
{
autocast = 0
    ControlSend, , {F4}, ahk_id %active_id1% ;на ф4 основной скилл
}
Else
{
autocast = 1
gosub, recasting
}
return

recasting:
if autocast = 1
{
    ControlSend, , {F4}, ahk_id %active_id1%
    Sleep, 2000
    ControlSend, , {F9}, ahk_id %active_id1% ; Этот скилл сбивает действие основного
    settimer, recasting, 170000
}
return

2

Re: AHK: не работает ControlSend

Update: на ХРюшке работает, а на семёрке нет. Кто-нибудь может помочь?
Пробовал и от имени администратора, и совместимость ставил с ХР SP2 и XP SP3 - не работает именно команда ControlSend.
Как-то можно пофиксить это дело? Неужто никто не сталкивался?

3

Re: AHK: не работает ControlSend

Во-первых: 7-ка 32-х битная или 64-х ? Если 64-х, то попробуй создать скрипт в программе AutoHotKey_L .
Во-вторых: ставить совместимость вовсе не необходимо, скрипт на 7 должен итак работать, если только ты не перекидываешь свой скрипт с расширением .exe с XP на 7..
В третьих: Если выше два пункта не помогли, то скорее всего у тебя винда (семерка) корявая. Чтобы узнать корявая она или нет достаточно создать файл msinfo32 и просмотреть перечь в нем ошибок, а также размер. Msinfo33 создается так: жмем win+r в появившееся окошко вписываем msinfo32, далее файл-> экспорт -> (сохрани файл на рабочий стол, к примеру). ПКМ по созданному файлу, его размер не должен превышать 5 МБ ( у стабильной винды 1-2 MB размер ). Также открой его и пролистай ниже, там есть перечень ошибок и показано как, куда и что делает эта ошибка. В случае больше 5MB веса файла в основном решение одно - переставить винду. Мне такой метод помог, можешь, конечно, выделять каждую ошибку и соотносить ее.. но это долго, проще переставить винду.