Всем доброго времени суток!
Помогите пожалуйста разобраться в следующем.
Запущена программа, действие при закрытии окна ($GUI_EVENT_CLOSE) делает его скрытым @SW_HIDE.
Необходимо сделать так, чтобы при повторном запуске, окно сделалось видимым и активным.
Проблема в том, что после повторного запуска, перестают работать все контролы, например кнопка на форме не работает.
Помогите пожалуйста разобраться в следующем.
Запущена программа, действие при закрытии окна ($GUI_EVENT_CLOSE) делает его скрытым @SW_HIDE.
Необходимо сделать так, чтобы при повторном запуске, окно сделалось видимым и активным.
Проблема в том, что после повторного запуска, перестают работать все контролы, например кнопка на форме не работает.
Код:
; Предотвращение повторного запуска программы
If WinExists('[CLASS:AutoIt v3;TITLE:' & @ScriptName & ']') Then
; Активировать окно программы при повторном её запуске
WinSetState('Main','',@SW_SHOW) ; Сделать видимым окно
WinActivate('Main') ; Сделать активным
Exit
EndIf
AutoItWinSetTitle(@ScriptName)
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}", "Show")
$Form1 = GUICreate("Main", 199, 149, 338, 319)
$Button1 = GUICtrlCreateButton("Button1", 56, 96, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE,$Form1) ; Скрыть Окно
Case $Button1
MsgBox(64,'','Test')
EndSwitch
WEnd
Func Show()
GUISetState(@SW_SHOW,$Form1) ; Показать Окно
EndFunc