Projekt "schnelles Starten und Status"

  • Sorry für den Titel, ist nur ein Arbeitstitel.
    Wenn jemand Vorschläge für einen besseren Titel hat, dann immer her mit.

    Kleines Inhaltsverzeichnis:
    Quellcode aus anderen Skripten
    Probleme

    Ich werde jetzt mal beginnen, mein Projekt zu strukturieren.

    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.8.1
    Arbeitstitel: Projekt_Schnelles_Starten_Und_Status
    Version: 00.00.01
    Author: miggk (User im Forum AutoIT.de
    Ziel: Automatisierung und Überblick
    Versionen: 00.00.* Start-Entwicklung
    Versionen: 00.01.* Lauffähige Versionen
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------

    [/autoit]

    Ich denke, hier kann ich noch nichts falsch machen ;)
    Naja, ich gebe es der Vollständigkeit halber mit an.

    Mein Projekt soll natürlich eine Gui haben.
    Die Gui soll sich dynamisch erweitern oder auch schrumpfen können.
    Darin möchte ich meine Aufgaben definieren, Programme, die ich dringend brauche, starten können.
    Der Status von Aufgaben und Programmen soll je nach Voreinstellung sich bei Beenden oder nach einer gewissen Zeit verändern können.

    Begonnen habe ich mit einer entwurfsartigen Gestaltung der Gui.
    Das erste Programm, dass ich erfolgreich eingebunden habe ist "Ditto", allerdings startet es aktuell "nur" auf meinen Systemen.
    Dass heisst, aktuell gibt es auch noch keine Fehlerbehandlung.

    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.8.1
    Arbeitstitel: Projekt_Schnelles_Starten_Und_Status
    Version: 00.00.01
    Author: miggk (User im Forum AutoIT.de
    Ziel: Automatisierung und Überblick
    Versionen: 00.00.* Start-Entwicklung
    Versionen: 00.01.* Lauffähige Versionen
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    ;###############################################################################
    ;############################### StZ-Form ######################################
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=Z:\AutoIt\Projekt_Schnelles_Starten_Und_Status\SteuerZ.kxf
    $Form1 = GUICreate("Form1", 425, 442, 264, 307)
    $Label1 = GUICtrlCreateLabel("Steuerungszentrum", 124, 56, 169, 28)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("ServiceCenter", 184, 112, 75, 25)
    GUICtrlCreateLabel("Start ServiceCenter", 8, 112, 143, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Ditto", 8, 152, 38, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $ditto_button = GUICtrlCreateButton("Ditto starten", 184, 152, 75, 25, $BS_PUSHLIKE)
    ;GUICtrlSetState(-1, $GUI_DISABLE)
    ;GUICtrlSetState(-1, $GUI_HIDE)
    $beenden_button = GUICtrlCreateButton("Beenden", 328, 408, 75, 25)
    $WinSplit = GUICtrlCreateLabel("WinSplit", 8, 192, 61, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $WinSplitButton = GUICtrlCreateButton("WinSplitButton", 184, 192, 75, 25)
    $Pic1 = GUICtrlCreatePic("", 296, 192, 25, 25)
    $Pic2 = GUICtrlCreatePic("", 296, 112, 25, 25)
    $Pic3 = GUICtrlCreatePic("", 296, 152, 25, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    button1()

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

    #cs While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ditto_button
    EndSwitch
    WEnd
    #ce
    ;############################ StZ-Form Ende ####################################
    ;###############################################################################
    Func button1() ; Programm starten
    ; GUI-Schleife
    While 1
    $button1msg = GUIGetMsg()

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

    Select
    Case $button1msg = $ditto_button
    $ditto_button = GUICtrlCreateButton("Ditto starten", 184, 152, 75, 25)
    GUICtrlSetState(-1, $GUI_disable)
    run("C:\Program Files\Ditto\Ditto.exe")
    MsgBox(0, "Ditto gestartet","Ditto gestartet", 2.5)
    $ditto_button = GUICtrlDelete($ditto_button)
    $Form1 = GUISwitch($Form1)
    ;GUICtrlDelete($ditto_button)
    ;$ditto_button = GUICtrlCreateButton("Ditto beenden", 184, 152, 75, 25)
    ;GUICtrlSetState(-1, $GUI_Show)
    ;MsgBox
    ;ExitLoop
    Case $button1msg = $beenden_button
    $Form1 = GUIDelete("Form1")
    MsgBox(0, "Button", "Beenden angeklickt!" & @CRLF & "Wird gemacht...", 2.5)
    Exit
    EndSelect
    WEnd

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

    ;ShellExecuteWait("script1.exe")
    EndFunc
    #cs Codebuffer
    ###################################
    ShellExecuteWait("script1.exe")
    ;jetzt wird gewartet bis die exe die aufgerufen wird "fertig" ist, d.h. bis sie durchlaufen ist.
    ShellExecuteWait("script2.exe")
    ;jetzt wird wieder gewartet bis die exe die aufgerufen wird "fertig" ist, d.h. bis sie durchlaufen ist. ^^
    ShellExecuteWait("script3.exe")
    ###################################
    ; GUI-Schleife
    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $beenden_button
    MsgBox(0, "Button", "Beenden angeklickt!" & @CRLF & "Wird gemacht...", 2.5)
    Exit
    EndSelect
    WEnd
    #ce

    [/autoit]

    2 Mal editiert, zuletzt von miggk (30. November 2012 um 13:19)

  • Ich habe Quellcode aus anderen Skripten mit in meinem Projekt.

    Muss ich hier angeben, wo ich das herhabe?

  • Mein aktuelles Problem ist, wie ich einen Knopf dynamisch ändern kann.

    Z.B. soll nach dem Start von "Ditto" der Knopf auf "Beenden" geändert werden.

    Aktuell fällt mir nur dazu ein, dass ich die Gui komplett zerstöre und neu aufbaue, also so ähnlich, wie es aktuell beim Programm-Beenden mache.

  • Hilfe lesen schadet nicht....wirklich..

    GUICtrlSetData ( controlID, data [, default] )


    Ja, stimmt.
    Ich weiß es und tue es wider besseres Wissen nicht.

    Danke für den Hinweis.

  • Dann solltest das vielleicht mal tun bevor ein Projekt anfängst ;).

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.