Что нового

Выход из цикла при выборе меню в трее

Vini

Новичок
Сообщения
27
Репутация
0
Всем привет!
Программа выполняется в бесконечном цикле. Как завершить её или вызвать какую-либо функцию при выборе пункта меню в трее?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Проверять событие трея, или опрашивать его элементы в самом цикле.

Чтобы более подробно дать ответ, нужен более подробный вопрос (т.е скрипт, или пример по теме).
 
Автор
V

Vini

Новичок
Сообщения
27
Репутация
0
Код:
Opt("TrayMenuMode", 1+2+4+8)   ; Default tray menu items (Script Paused/Exit) will not be shown.
TraySetClick(16)    ; показ меню только по отпусканию правой кнопки
$exit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "ExitEvent")  ; обработка на закрытие программы
TraySetState()
$Disp = ObjCreate("AddIn.Line45");Создаем ссылку на COM объект Line1c.dll, библиотека д.б. зарегистрирована в системе
$Disp.DeviceEnabled=1;Включаем устройство


If $Disp.ResultCode=0 Then
	Clock()
Else
	MyError()
EndIf

Func MyError()
	;.....
	Exit
EndFunc

Func Clock()
	$Disp.CreateWindow (0, 0, 2, 20, 2, 20)
	While 1;Бесконечный цикл
		;.....
		Sleep (10)
	WEnd
EndFunc

Func ExitEvent()
    Exit
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Нужно ещё добавить Opt("TrayOnEventMode", 1).
 
Верх