1

Тема: AHK: Ожидание окна + Действия

https://www.script-coding.com/AutoHotkey/AhkWin.html

SetTimer, timer_MonitorWindows, 100
return

timer_MonitorWindows:
WinGet, wid_list, List, Название окна
Loop, %wid_list%
{
	wid := wid_list%A_Index%
	if ( ! proc[%wid%] )
	{
		proc[%wid%] := True
		ControlFocus, ListBox1, ahk_id %wid%
	}
}
Return

Протёр до дыр данную справку.
Ничего не получается
Что такое List/ListBox1 в данном случае, к чему относится ControlFocus? К окну программы или элементу управления скрипта, и как можно создать массив уже открытых окон по ahk_pid ?
Нужно чтобы при открытии нового экземпляра окна запускалось Gui скрипта помимо горячей клавиши, а при закрытии Gui к данному экземпляру больше автоматически не открывалось.

2

Re: AHK: Ожидание окна + Действия

#persistent

WinGet, wid_list, List
Loop, %wid_list%
{
  wid := wid_list%A_Index%
  proc%wid% := True
}
SetTimer, timer_MonitorWindows, 100
return

timer_MonitorWindows:
WinGet, wid_list, List
Loop, %wid_list%
{
  wid := wid_list%A_Index%
  if ( !proc%wid% )
  {
    proc%wid% := True
    msgbox,Новое окно %wid%
  }
}
Return
Win 7 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3 (изменено: Lolykroly, 2021-03-26 21:18:47)

Re: AHK: Ожидание окна + Действия

О как! Спасибо.

--------------------

И еще. Как узнать что в данный момент окно Gui неактивно? Свёрнуто, или просто находится на 2-м плане? Чтобы при вызове его открытия не вылезала ошибка что "оно уже открыто"