1 (изменено: p.polena, 2022-05-08 22:25:21)

Тема: AHK: Действие при неактивности окон

Здравствуйте. Код закрывает окно 333 если неактивны окна с заголовками или 111 или 222. Как сделать, чтобы окно 333 закрывалось только при условии, когда  неактивны оба этих окна. Т.е если активно любое из них, окно 333 не должно закрывться.

Loop {
WinExist("A")
WinWaitNotActive
WinGetTitle, WinTitle
if WinTitle in 111,222
WinClose, 333
}

2

Re: AHK: Действие при неактивности окон

Добавить проверку обеих окон через 'WinExist' разве не решит проблему?

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Действие при неактивности окон

Не получается у меня.

Loop {
IfWinExist, 111
IfWinExist, 222
WinWaitNotActive
WinGetTitle, WinTitle
if WinTitle in 111,222
WinClose, 333}

4

Re: AHK: Действие при неактивности окон

Синтаксис и логика неверная.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5 (изменено: p.polena, 2022-05-09 00:23:55)

Re: AHK: Действие при неактивности окон

Была бы логика, не было бы вопроса. Придётся использовать для решения задачи два скрипта. Свои и некрасивые, но без посторонней помощи.

6

Re: AHK: Действие при неактивности окон

loop
{
	if (winExist("333") && !winActive("111") && !winActive("222"))
	{
		winClose, 333
	}
}
Win10: LTSC (v1809); AHK: ANSI (v1.1.33.10)