1 (изменено: denini, 2022-06-20 17:02:41)

Тема: AHK: Постоянное ожидание появления окна

Здравствуйте, я новичок в ahk. Помогите, пожалуйста, правильно написать скрипт.
У меня есть одно окошко, которое не запоминает позицию. Мне нужно каждый раз при его открытии двигать его. Я хотел, чтобы скрипт ждал его появление, сдвигал его, а потом ждал его закрытия. После же опять возвращался на стражу: )
Как я понял немного поискав, это возможно только с командой типа settimer, вот что получилось:


#Persistent
#WinActivateForce

global
WinTitle := "Тест"
SetTimer, Alert1, 500
return

Alert1:
WinWait, %WinTitle%
IfWinNotActive
{
	WinActivate
	WinMove, -875, 0
}
else
	WinMove, -875, 0
WinWaitClose ; Ожидание закрытия окна, найденного WinWait
return

Или так не будет работать и нужно вместо строки

WinWait, %WinTitle%

написать

IfWinNotExist, %WinTitle%
    return

2

Re: AHK: Постоянное ожидание появления окна

Лучше вот так:

SetTitleMatchMode, 2
App := "Упаковать ahk_class Notepad ahk_exe notepad.exe" ; Указать своё окно.

Loop{
 WinWait % App
 ToolTip, Окно открыто, -9999,-9999
 WinMove, 0, 0
 WinWaitClose % App
 ToolTip, % "Окно закрыто: " A_Index, -9999,-9999
}
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Постоянное ожидание появления окна

__Михаил__
Большое спасибо!: )