Hi,
ich möchte gerne mein Script mit über das Traymenü pausieren können.
Jetzt habe ich mich zunächst mal an ein Testscript probiert, jedoch klappt das ganz irgendwie nicht.
Hier mal der Test-Code
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include "Array.au3"
HotKeySet("{F5}", "_Start")
HotKeySet("{F6}", "_Pause")
HotKeySet("{F7}", "_Exit")
AutoItSetOption("TrayAutoPause", 0)
opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",3)
Global $gProgstatus = True
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];+++++Tray-Menu+++++
$StartItem = TrayCreateItem("Start (F5)")
TrayItemSetOnEvent(-1,"_TrayStart")
$StopItem = TrayCreateItem("Stop (F6)")
TrayItemSetOnEvent(-1,"_TrayStop")
TrayCreateItem("")
$ExitItem = TrayCreateItem("Exit (F7)")
TrayItemSetOnEvent(-1,"_TrayExit")
TraySetState()
Func _TrayStart()
_Start()
EndFunc
Func _TrayStop()
_Pause()
EndFunc
Func _TrayExit()
Exit
EndFunc
;-----Tray-Menu-----
;~~~~~~~~MAIN~~~~~~
While 1
MsgBox(0,"","main-schleife")
If $gProgstatus = True Then
MsgBox(0,"","innere if schleife")
_test()
EndIf
MsgBox(0,"","if schleife beendet")
ToolTip('',0,0)
WEnd
;~/~/~/~/~/~/~/~/~/~/~
Func _test()
MsgBox(0,"","test")
;vortlaufendes Programm
;
;
EndFunc
Func _Start()
ConsoleWrite("StartFunc: _Start" & @CRLF)
$gProgstatus = True
ConsoleWrite("Script is now running" & @CRLF)
ToolTip('скрипт запущен',0,0)
Sleep(1000)
ToolTip("")
ConsoleWrite("EndFunc: _Start" & @CRLF)
EndFunc
Func _Pause()
ConsoleWrite("StartFunc: _Pause" & @CRLF)
$gProgstatus = False
ConsoleWrite("Script paused" & @CRLF)
Do ; Mit der Do While schleife reagiert die GUi (Das Trayicon nicht mehr)
sleep(100)
ToolTip('skript pausiert',0,0)
Until $gProgstatus = True
ToolTip("")
MsgBox(0,"","pause")
ConsoleWrite("EndFunc: _Pause" & @CRLF)
EndFunc
Func _Exit()
Exit
EndFunc
Mache ich das ganze mit DO Until in der Pause - Funktion , dann reagiert die GUI nicht mehr.
Löse ich das ganze ohne diese Schleife, so muss das Script ja noch "seine Runde zu Ende drehen".
Dies ist aber bei längeren Scripten nicht gewünscht.
Hat da jemand eine Lösung für mich?
Ich verzweifel da den ganzen Tag schon dran -.-
mfg Karroffel