!!! УЖЕ НАШЁЛ САМ СВОЙ КАСЯК. МОЖНО УДАЛЯТЬ ЭТУ ТЕМУ (или оставить на будущее для других)Значит читаю документацию:
Workwindow_(Lua) и
Workwindowpid_(Lua)Смотрю примеры. И используя
Код
--Lua
local h = findwindow("Блокнот") -- найти окно блокнота
if h then -- если найдено
workwindow (h[1][1]) -- сделать его рабочим окном
end
привязываюсь к окну. Выполняю некоторые действия. И теперь я хочу привязаться к другому окну.
Код
local h = findwindow("FireFox") -- ну к примеру начало такое
if h then -- если найдено
workwindow (h[1][1]) -- сделать его рабочим окном
log("Перепривязка")
end
Никаких ошибок не выдаёт и даже показывает, что условие отработало, т.к. появляется надпись Перепривязка. И вот теперь беру и пытаюсь узнать полное название окна через workwindow:
Код
title_window = getwindowtext (workwindow())
log("Окно: " .. title_window)
И он мне показывает: Блокнот
Т.е. перепривязываться не хочет.
Это касяк? Или я чего-то не верно делаю?
Может быть есть какая-то команда "отвязаться" (ну типа обратка Ctrl+A), а уже потом делать новую привязку?
Всё работаетДело в том, что для привязки я создал отдельную процедуру и в ней вместо.
Код
local h = findwindow("Блокнот")
было просто
Код
h = findwindow("Блокнот")
Т.о. переменная становилась глобальной и почему-то при следующем обращении к процедуре, не меняла своего значения. Как только я поставил local всё стало работать, как надо.