Programm lässt sich nur 1x beenden!!

  • Hallo zusammen,
    erst mal ein dickes Lob auf das Programm und diese Hilfeseite.

    Ich bin noch ziemlicher Anfänger und hab dieses hier für die Firma programmiert:

    [autoit]


    #Include <Constants.au3>
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
    TraySetClick(16)

    $settingsitem = TrayCreateMenu("VID_TP-03 Video Programme")
    $displayitem = TrayCreateItem("VMANG", $settingsitem)
    $printeritem = TrayCreateItem("BMANG", $settingsitem)
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("Über")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Hauptprogramm")

    TraySetState()

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $displayitem
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\VMANG\VMANG_V1.01\VMANG_D.exe")
    Case $msg = $printeritem
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\BMANG\BMANG_V1.01\BMANG_D.exe")
    Case $msg = $aboutitem
    MsgBox(64, "Über:", "VID_TP-03 Video Starter")
    Case $msg = $exititem
    ExitLoop
    Case $msg = $TRAY_EVENT_PRIMARYDOWN
    Run('notepad')
    EndSelect
    WEnd

    [/autoit][autoit][/autoit][autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\brt9tr\Eigene Dateien\Tools\AutoIt3\Koda_1.6.0.2\AForm1.kxf
    $VID_TP_03_Video = GUICreate("VID_TP_03_Video", 436, 402, 193, 115)
    GUISetBkColor(0xFFFFFF)
    $Group1 = GUICtrlCreateGroup("", 16, 16, 401, 225)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $MonthCal1 = GUICtrlCreateMonthCal("2007/06/11", 24, 32, 191, 154)
    $Pic1 = GUICtrlCreatePic("C:\Programme\Weiss-Electronic\logo_vid_128.jpg", 248, 32, 128, 73, BitOR($SS_NOTIFY,$WS_GROUP))
    $Pic2 = GUICtrlCreatePic("C:\Programme\Weiss-Electronic\s_daten.jpg", 264, 104, 100, 114, BitOR($SS_NOTIFY,$WS_GROUP))
    GUICtrlSetTip(-1, "Gehe zur Standortdatenbank")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Visualisierung der Verkehrsdaten", 16, 256, 185, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Button1 = GUICtrlCreateButton("Start VMANG", 72, 312, 75, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Visualisierung der Betriebsmeldungen", 232, 256, 185, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Button2 = GUICtrlCreateButton("Start BMANG", 288, 312, 75, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    #include <IE.au3>
    ;$oIE = _IECreate ("http://home.arcor.de/tilltaucher/frames/video_ddorf_standorte.html")

    [/autoit][autoit][/autoit][autoit]

    ; GUI MESSAGE LOOP
    GuiSetState()
    While 1
    $msg = GUIGetMsg()
    ;If $msg = $GUI_EVENT_CLOSE Then Exit(0)
    Select
    Case $msg = $Pic2
    $oIE = _IECreate ("http://www.vid-tp-03.de.tf")
    Case $msg = $Button1
    ;--- AutoIt Macro Generator V 0.21 beta - Start VMANG---
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\VMANG\VMANG_V1.01\VMANG_D.exe")
    ;--- End ---
    Case $msg = $Button2
    ;--- AutoIt Macro Generator V 0.21 beta - Start BMANG---
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\BMANG\BMANG_V1.01\BMANG_D.exe")
    ;--- End ---
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd
    GUIDelete()

    [/autoit]


    Leider kann ich nur 1x das Programm per Klick auf das rote Kreuz beenden - und zwar nur, bevor ich irgendeinen Button ausgeführt habe.

    Danach lässt es sich leider nicht mehr beenden!

    Was ist da noch falsch?

    Außerdem wie schaffe ich es, dass das GUI und das Tray Menü gleichzeitig angezeigt wird?

    Vielleicht ist es ja sehr einfach!
    Danke schon mal!

    Gruß Till

    • Offizieller Beitrag

    Renoviere es gerade...

    Edit:

    Spoiler anzeigen
    [autoit]

    #Include <Constants.au3>
    #include <GUIConstants.au3>
    ;#include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
    TraySetClick(16)

    [/autoit] [autoit][/autoit] [autoit]

    $settingsitem = TrayCreateMenu("VID_TP-03 Video Programme")
    $displayitem = TrayCreateItem("VMANG", $settingsitem)
    $printeritem = TrayCreateItem("BMANG", $settingsitem)
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("Über")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Hauptprogramm")
    TraySetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\brt9tr\Eigene Dateien\Tools\AutoIt3\Koda_1.6.0.2\AForm1.kxf
    $VID_TP_03_Video = GUICreate("VID_TP_03_Video", 436, 402, 193, 115)
    GUISetBkColor(0xFFFFFF)
    $Group1 = GUICtrlCreateGroup("", 16, 16, 401, 225)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $MonthCal1 = GUICtrlCreateMonthCal("2007/06/11", 24, 32, 191, 154)
    $Pic1 = GUICtrlCreatePic("C:\Programme\Weiss-Electronic\logo_vid_128.jpg", 248, 32, 128, 73)
    $Pic2 = GUICtrlCreatePic("C:\Programme\Weiss-Electronic\s_daten.jpg", 264, 104, 100, 114, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, "Gehe zur Standortdatenbank")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Visualisierung der Verkehrsdaten", 16, 256, 185, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Button1 = GUICtrlCreateButton("Start VMANG", 72, 312, 75, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Visualisierung der Betriebsmeldungen", 232, 256, 185, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Button2 = GUICtrlCreateButton("Start BMANG", 288, 312, 75, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    ;$oIE = _IECreate ("http://home.arcor.de/tilltaucher/frames/video_ddorf_standorte.html")

    [/autoit] [autoit][/autoit] [autoit]

    ; GUI MESSAGE LOOP
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    ;If $msg = $GUI_EVENT_CLOSE Then Exit(0)
    Select
    Case $msg = $Pic2
    $oIE = ShellExecute("http://www.vid-tp-03.de.tf")
    Case $msg = $Button1
    ;--- AutoIt Macro Generator V 0.21 beta - Start VMANG---
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\VMANG\VMANG_V1.01\VMANG_D.exe")
    ;--- End ---
    Case $msg = $Button2
    ;--- AutoIt Macro Generator V 0.21 beta - Start BMANG---
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\BMANG\BMANG_V1.01\BMANG_D.exe")
    ;--- End ---
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect

    $tmsg = TrayGetMsg()
    Select
    Case $tmsg = 0
    ContinueLoop
    Case $tmsg = $displayitem
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\VMANG\VMANG_V1.01\VMANG_D.exe")
    Case $tmsg = $printeritem
    Opt("WinTitleMatchMode", 4)
    Run("C:\Programme\Weiss-Electronic\BMANG\BMANG_V1.01\BMANG_D.exe")
    Case $tmsg = $aboutitem
    MsgBox(64, "Über:", "VID_TP-03 Video Starter")
    Case $tmsg = $exititem
    ExitLoop
    Case $tmsg = $TRAY_EVENT_PRIMARYDOWN
    Run('notepad')
    EndSelect
    WEnd

    [/autoit]

    Die beiden Message-Loops müssen zusammengefasst werden, da er sonst nicht beide parallel abfragen kann, sondern ewig in der ersten Schleife hängt.
    Bei mir (AutoIt 3.2.4.9 und Windows Vista) spielt das $Pic2-Ereignis verrückt, es werden immer wieder neue IE/FF-Fenster geöffnet - evtl. ein Bug...

    peethebee

  • Hallo peethebee,
    das war der entscheidende Ansatz.

    Andererseits war es auch hilfreich Autoit mal auf den neusten Stand zu bringen.

    Jetzt klapp alles.

    Das Pic2 muss aber als Bild vorhanden sein, damit der Fehler nicht auftritt!

    Danke!

    Gruß Till