Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


Если отбросить работу самой программы, то как сделать вот это (хочу понять сам принцип):
Поправьте код
Код: Выделить весь код
#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

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite


Последний раз редактировалось sLiDeR-X, 30-01-2015 в 12:11.


Отправлено: 10:38, 30-01-2015 | #14