Функция TrayGetMsg

 ↑  ←  Описание функции


TrayGetMsg

Опрашивает трей на возникновение какого либо события.

TrayGetMsg ( )

Возвращаемое значение

Возвращает событие.

Событие возвращает идентификатор элемента управления (и отправляет сообщение), или системное событие (например, клик мышкой на иконке в трее). Или 0 при отсутствии события.

ID события
IDОписание события
0Нет событий
Control IDидентификатор элемента выславший сообщение
$TRAY_EVENT_PRIMARYDOWNпервая кнопка мыши была нажата
$TRAY_EVENT_PRIMARYUPпервая кнопка мыши была отпущена
$TRAY_EVENT_SECONDARYDOWNвторая кнопка мыши была нажата
$TRAY_EVENT_SECONDARYUPвторая кнопка мыши была отпущена
$TRAY_EVENT_PRIMARYDOUBLEдвойной клик первой кнопкой мыши
$TRAY_EVENT_SECONDARYDOUBLEдвойной клик второй кнопкой мыши

Примечания

Эта функция вставляет задержку эквивалентную Sleep(10), достаточную для быстрого отклика интерфейса и в тоже время снижает нагрузку на процессор, уменьшая количество вызовов в секунду при работе в цикле

Выше указанные константы определены в #include <Constants.au3>

См. также

GUIGetMsg, TrayCreateItem, TrayCreateMenu, TrayItemSetOnEvent

Пример

#NoTrayIcon

Opt("TrayMenuMode", 1 + 2) ; Не отображать в трее пункты меню по умолчанию (Script Paused/Exit) и не отмечать галочками при выборе.

$iAbout = TrayCreateItem("О программе")
TrayCreateItem("") ; Создаёт разделитель

$iExit = TrayCreateItem("Выход")

TraySetState(1) ; Показывает меню трея

While 1
    Switch TrayGetMsg()
        Case $iAbout
            MsgBox(4096, "", "Пример меню в трее." & @CRLF & @CRLF & _
                    "Версия AutoIt: " & @AutoItVersion & @CRLF & _
                    "Путь установки: " & StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1) - 1))

        Case $iExit ; Выход
            ExitLoop
    EndSwitch
WEnd