1 (изменено: Botsy, 2020-11-03 15:44:40)

Тема: AHK: В активном Gui, не видит переменных объявленных в цикле

Первый раз столкнулся с таким: в активном окне GUI "test", скрипт не будет воспринимать переменные объявленные в цикле. Если сменить окно, то будет. В чем проблема ?


#NoEnv 
CoordMode, mouse

Gui, New, , test
Gui, Show, w500 h500

^1::

TH := 2 
while (GetKeyState("Control") && GetKeyState("1"))
{
MouseGetPos, x, y
x:=Round(x)
y:=Round(y)
sleep, 500
}
	
msgbox, %x% %y%

return
GD

2 (изменено: Alectric, 2020-11-03 17:09:58)

Re: AHK: В активном Gui, не видит переменных объявленных в цикле

Не знаю почему, но вот решение.

#NoEnv
CoordMode, mouse

Gui, New, , test
Gui, Show, w500 h500

^1::

TH := 2
while (GetKeyState("Control","P") && GetKeyState("1","P"))
{
MouseGetPos, x, y
x:=Round(x)
y:=Round(y)
sleep, 500
}

msgbox, %x% %y%

return



UPD:
GetKeyState

Справка пишет:

Если этот параметр опущен, будет определяться логическое состояние клавиши. Это состояние, в котором клавиша находится по мнению операционной системы и активного окна, но оно не обязательно совпадает с физическим состоянием.

Сначала делаем, потом инструкции читаем... все как обычно.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3 (изменено: Botsy, 2020-11-03 18:12:17)

Re: AHK: В активном Gui, не видит переменных объявленных в цикле

Alectric Спасибо за правильное решение. Я даже со справкой не понял, про мод "T" и "P".

GD

4

Re: AHK: В активном Gui, не видит переменных объявленных в цикле

Справка пишет:

P: Определяется физическое состояние (т.е. держит ли пользователь клавишу нажатой на самом деле).

Что тут можно не понять? 

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

5

Re: AHK: В активном Gui, не видит переменных объявленных в цикле

Alectric То, что без Gui, этот мод можно не указывать. Т.е. оно работает так как надо. Как я должен был связать этот мод с наличием Gui ?

GD