Page 1 of 1

Не регает клик в новом окне. Подскажите, пожалуйста!

Posted: 07 Dec 2021, 07:53
by fwlr
Доброго времени суток! Пытаюсь создать макрос для игры, суть которого заключается в переключении окон и двойном клике по месту, где находится курсор. Стоит отметить, что окна одной игры запущены в оконном режиме, имеют одинаковые названия.
Пытался так:

Code: Select all

XButton1::
IfWinExist, ahk_pid ****
WinActivate - открываю первое окно
Sleep, 1000
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
IfWinExist, ahk_pid ****
WinActivate - открываю второе окно
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Return
Проблема заключается в том, что в первом окне клики осуществляются, открывается второе окно, но далее клики не срабатывают.
Пытался через ControlSend, но увидел информацию, что через неё клики не работают. Через ControlClick пытался, но, как я понял, он работает только с координатами, а не с местоположением курсора(.
Помогите, пожалуйста!

Re: Не регает клик в новом окне. Подскажите, пожалуйста!

Posted: 07 Dec 2021, 09:59
by mcl
Предположу, что стоит дождаться, пока второе окно действительно станет активным.
После активации первого окна стоит секундный Sleep и он отчасти выполняет эту задачу (хоть на него и рискованно полагаться), а после второго − сразу клики.

Code: Select all

...
IfWinExist, ahk_pid ****
{
	WinActivate, ahk_pid ****
	WinWaitActive, ahk_pid ***,, 0.5
	...
}

Re: Не регает клик в новом окне. Подскажите, пожалуйста!

Posted: 07 Dec 2021, 11:49
by fwlr
Написал так:

Code: Select all

XButton1::
IfWinExist, ahk_pid ***
WinActivate, ahk_pid ***
Sleep, 1000
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
IfWinExist, ahk_pid ***
{
WinActivate, ahk_pid ***
WinWaitActive, ahk_pid ***,, 0.5
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
Send, {LButton down}
Sleep, 10
Send, {LButton up}
}
Return
[Mod edit: [code][/code] tags added.]

Не регает во втором окне также(

Re: Не регает клик в новом окне. Подскажите, пожалуйста!

Posted: 07 Dec 2021, 17:38
by fwlr
Заработало с такими письменами:

Code: Select all

XButton1::

IfWinExist, ahk_pid ***
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 50
Send, {LButton down}
Sleep, 10
Send, {LButton up}
IfWinExist, ahk_pid ***

{
WinActivate, ahk_pid ***
WinWaitActive, ahk_pid ***, 0.5
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 10
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 300
Send, {LButton down}
Sleep, 10
Send, {LButton up}

}
IfWinExist, ahk_pid ***
{
WinActivate, ahk_pid ***
WinWaitActive, ahk_pid ***, 0.5
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 100
Send, {LButton down}
Sleep, 10
Send, {LButton up}
Sleep, 300
Send, {LButton down}
Sleep, 10
Send, {LButton up}
}

Return
[Mod edit: [code][/code] tags added.]

Появилась другая проблема - не в каждом окне кликает...буд-то не успевает, слип не помогает. То 1,3 окно нажмет, то 1,2, то ни одного. Буду очень благодарен помощи

Re: Не регает клик в новом окне. Подскажите, пожалуйста!

Posted: 08 Dec 2021, 12:10
by mcl
Добавьте задержку после каждого переключения и посмотрите, активируются ли окна вообще.
Добавьте в каждый блок SoundBeep с разной частотой и послушайте − может, клики и не выполняются вовсе.
Попробуйте переключаться по HWND-идентификаторам окон (WinGet, varWID, ID) вместо идентификатора процесса.
Попробуйте SendEvent или SendPlay вместо дефолтного SendInput.

Re:Не скачивает папку Compiler для установки ахк

Posted: 10 Jun 2022, 22:54
by RASHAFUCKUHGA
Не скачивает папку Compiler для установки ахк прошу помочь