Window.EnumerateTitles

table Window.EnumerateTitles ( boolean TopLevel = true )
Примеры

Описание

Возвращает таблицу, содержащую дескрипторы и заголовки всех открытых окон на системе.

Параметры

TopLevel

(логический) Возвращать ли данные только от окон верхнего уровня:

ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
trueВозвращать список только для окон верхнего уровня. (По умолчанию)
falseВозвращать список для всех доступных окон.

Примечание: Каким образом определяется окно верхнего уровня - оно должно не иметь окна-хозяина (владельца) и должно быть видимым.

Возврат

ResultVariable

(таблица) Таблица индексированная дескрипторами окна, каждый из которых содержит заголовок своего окна. Если происходит ошибка или нет открытых окон, возвращается значение nil. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

all_titles = Window.EnumerateTitles();
Получаем дескрипторы и заголовки всех открытых окон в системе пользователя и сохраняем их в таблице по имени "all_titles".

Пример 2

-- Get the titles and window handles of all open windows.
-- Получаем заголовки и дескрипторы всех открытых окон.
windows = Window.EnumerateTitles();

-- A variable containing text in the title you want to search for.
-- Переменная, содержащая текст для поиска в заголовке.
window_name = "Notepad";

-- Loop through the table of windows.
-- Цикл через таблицу окон.
for handle, title in pairs(windows) do

    -- Check if the window title has the target text.
    -- Проверяем, имеется ли в заголовке окна искомый текст.
    result = String.Find(title, window_name, 1, false);

    -- if the string was found in the title, send the window a close message.
    -- если строка была найдена в заголовке, отправляем окну закрывающее сообщение.
    if (result ~= -1) then
        Window.Close(handle, CLOSEWND_SENDMESSAGE);
    end
end
Ищем в заголовках всех открытых окон строку "Notepad" и посылаем каждой из них закрывающее сообщение (команду на закрытие).
Смотрите также: Связанные действия