Доброго времени суток.
Пытаюсь свести воедино эти два куска кода (сворачивание осилил, а вот с разворачиванием возникли проблемы)
но каменный цветок увы не выходит. Если я убираю блоки
и вставляю функцию Test(), с while без таймаутов, то получаю вечный loop и перегруз CPU. Если вставляю таймаут - функция перестаёт работать. по отдельности всё работает. Вместе - нет :(
Пытаюсь свести воедино эти два куска кода (сворачивание осилил, а вот с разворачиванием возникли проблемы)
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt('GUIOnEventMode', 1)
Opt('TrayOnEventMode', 1)
Opt('TrayMenuMode', 1)
$hMainGUI = GUICreate("Test", 320, 185)
Local $list = GUICtrlCreateEdit("", 10, 5, 300, 150)
Local $btn = GUICtrlCreateButton("Test", 10, 160, 300, 20)
TraySetClick(0)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, '_ShowGUI')
HotKeySet('{HOME}','_ShowGUI')
GUISetState(@SW_SHOW, $hMainGUI)
Func _ShowGUI()
Switch BitAND(WinGetState($hMainGUI), 2)
Case 2
GUISetState(@SW_HIDE, $hMainGUI)
case 0
GUISetState(@SW_SHOW, $hMainGUI)
EndSwitch
EndFunc
While 1
Sleep(10)
WEnd
Код:
Test()
Func Test()
$hMainGUI = GUICreate("Test", 320, 185)
Local $list = GUICtrlCreateEdit("", 10, 5, 300, 150)
Local $btn = GUICtrlCreateButton("Test", 10, 160, 300, 20)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
Case $GUI_EVENT_CLOSE
ExitLoop
Case $btn
MsgBox(0, Default, "123456", 0, $hMainGUI)
ExitLoop
EndSwitch
WEnd
EndFunc
но каменный цветок увы не выходит. Если я убираю блоки
Код:
GUISetState(@SW_SHOW, $hMainGUI)
Код:
$hMainGUI = GUICreate("Test", 320, 185)
Local $list = GUICtrlCreateEdit("", 10, 5, 300, 150)
Local $btn = GUICtrlCreateButton("Test", 10, 160, 300, 20)
Код:
While 1
Sleep(10)
WEnd
и вставляю функцию Test(), с while без таймаутов, то получаю вечный loop и перегруз CPU. Если вставляю таймаут - функция перестаёт работать. по отдельности всё работает. Вместе - нет :(
Последнее редактирование: