Есть программа, основное время она сидит в трее, по клику выводит своё окошко. Проблема в том, что пока окно активно, программа никак не реагирует на нажатие пунктов в трее, а когда окно закроешь, только тогда отработает всё, что было нащёлкано.
Образец:
что поправить?
Образец:
Код:
#cs вопрос
1. двойным кликом по иконке в трее открываем окно программы.
2. если в трее нажать правой кнопкой мыши и сделать Exit, програма не выйдет, пока не закроется окно программы.
как победить, что бы закрывалась?
#ce
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt("TrayOnEventMode",1)
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") ; обработка на закрытие программы
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN,"MainWindow") ; по клику
TraySetState()
while 1
sleep(100)
WEnd
Func MainWindow ()
$Form1 = GUICreate("Form1", 141, 124, 192, 124)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete()
Return
EndSwitch
WEnd
EndFunc ; <== MainWindow
Func ExitEvent()
Exit
EndFunc ; <== ExitEvent
что поправить?