SLIDER999
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору madmasles потихоньку начинаю вникать. Кое что по мелочи уже переделал под себя из твоего скрипта. Если отбросить работу самой программы, то как сделать вот это (хочу понять сам принцип): Поправьте этот код Код: #include <WindowsConstants.au3> ;Стиль окон GUI #include <GUIConstantsEx.au3> ;Раширенный стили GUI TraySetToolTip('Название') Opt("TrayMenuMode", 1 + 2) Opt("TrayOnEventMode", 1) TraySetState(1) $iRegistration = TrayCreateItem('Регистрация программы') TrayItemSetOnEvent(-1, "_Registration") $iExit = TrayCreateItem('Выход') TrayItemSetOnEvent(-1, '_Quit') ;Программа запущена в трее и выполняет _SomeFunc() раз в 3 секунды While 1 _SomeFunc() Sleep(3000) WEnd Func _SomeFunc() ;Основная работа программы ConsoleWrite('Основной цикл' & @LF) EndFunc ;Функция вызова GUI окна. После отработки должно исчезнуть, а программа должна продолжить работать по основному циклу. Func _Registration() Opt("GUIOnEventMode", 1) $hGui = GUICreate('Регистрация программы', 370, 225) GUISetOnEvent($GUI_EVENT_CLOSE, "_CLOSEClicked") $BtnOk = GUICtrlCreateButton("ОК", 250, 190, 100, 25) GUICtrlSetOnEvent($BtnOk, "_OKButton") GUISetState() While 1 Sleep(1000) WEnd EndFunc Func _CLOSEClicked() If @GUI_WinHandle = $hGui Then ;Закрыть окно и продолжить основной цикл EndIf EndFunc Func _OKButton() MsgBox(4096 + 64, '', 'Регистрация произведена!') ;Выполнить некоторые операции, закрыть окно и продолжить основной цикл EndFunc Func _Quit() Exit EndFunc |
| Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 10:40 30-01-2015 | Исправлено: SLIDER999, 12:11 30-01-2015 |
|