GUI - Verknüpfung und viele weitere fragen ;)

  • Hallo erstmal zusammen,

    ich hab bislang schon echt nützliche Beiträge hier im Forum gefunden, allerdings komme ich jetzt leider nicht weiter und muss auch mal selber einen Post erstellen.

    Vorab, ich bin ziemlich neu dabei in Programmier und AutoIt - Geschichten, deswegen nicht gleich an den Kopf fassen wg. meiner unübersichtlichen Schreibweise.

    Aber nun gut. mein ersten Problem besteht darin eine Verknüpfung zu aktiven Checkboxen zu erstellen. Klar wenn ich die unteren Funktionen in die While - Schleife schreibe dann funktioniert das Programm allerdings kann ich ja dann den Button nicht mehr ansprechen.

    [autoit]

    If $msg = $A1 meine CheckBox or $msg = $B1 or $msg = $C1 or $msg = $D1 AND $msg = $RUN meinBUTTON Then
    $cstate = Bitand(GUICtrlRead($A1),$GUI_CHECKED) or Bitand(GUICtrlRead($B1),$GUI_CHECKED) or Bitand(GUICtrlRead($C1),$GUI_CHECKED) or Bitand(GUICtrlRead($D1),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy1.exe")
    EndIf

    [/autoit]

    Dann habe ich gar keine Ahnung davon wie ich einen Neustart Verknüpfen kann. Welchen Befehl kann ich dafür verwenden einen Rechner neuzustarten?

    Und meine vorerst letzte Frage: Ist es nicht Möglich in While - Schleife eine func einzubauen?

    Anbei noch das komplett geschriebene bis jetzt.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <ButtonConstants.au3>
    #include <WindowsConstants.au3>

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

    ;GUI und allgemeines aussehen
    GUICreate("ConferenceCheck",380,300)
    GUISetState(@SW_SHOW)
    #NoTrayIcon

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

    ;Variabelen
    $PRGPATH = @ProgramFilesDir

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

    ; MENU
    GuiCtrlCreateMenu("LOG")

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

    ;Checkbox
    $AlleRooms = GuiCtrlCreateCheckbox("Alle Rooms auswählen", 20, 200, 150, 20)

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

    ; BUTTON
    $RUN = GuiCtrlCreateButton("Ausführen", 190, 235, 180, 30)

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

    $END = GuiCtrlCreateButton("Beenden", 20, 235, 60, 30)

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

    ;Tabs
    GuiCtrlCreateTab(20, 20, 350, 175)
    GuiCtrlCreateTabItem("Raum A")
    GUICtrlSetState(-1, $GUI_FOCUS)
    $A1 = GUICtrlCreateCheckbox("Starte Programm1",30,50)
    $ProA1 = GuiCtrlCreateProgress(215, 55, 127, 13)
    GuiCtrlSetData(-1, 2)
    $A2 = GUICtrlCreateCheckbox("Starte Programm2",30,70)
    $ProA2 = GuiCtrlCreateProgress(215, 75, 127, 13)
    GuiCtrlSetData(-1, 20)
    $A3 = GUICtrlCreateCheckbox("Starte Programm3",30,90)
    $ProA3 = GuiCtrlCreateProgress(215, 95, 127, 13)
    GuiCtrlSetData(-1, 40)
    $A4 = GUICtrlCreateCheckbox("Batteriestand der Tastatur prüfen",30,110)
    $ProA4 = GuiCtrlCreateProgress(215, 115, 127, 13)
    GuiCtrlSetData(-1, 60)
    $A5 = GUICtrlCreateCheckbox("Update Check starten",30,130)
    $ProA5 = GuiCtrlCreateProgress(215, 135, 127, 13)
    GuiCtrlSetData(-1, 80)
    $A6 = GUICtrlCreateCheckbox("Rechner neustart",30,150)
    $ProA6 = GuiCtrlCreateProgress(215, 155, 127, 13)
    GuiCtrlSetData(-1, 100)
    $AlleFunksA = GuiCtrlCreateCheckbox("Alle Funktionen auswählen", 30, 170, 150, 20)
    $WichFunksA = GuiCtrlCreateCheckbox("Wichtigste Funktionen", 215, 170, 150, 20)

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

    GuiCtrlCreateTabItem("Raum B")
    $B1 = GUICtrlCreateCheckbox("Programm 1",30,50)
    GuiCtrlCreateProgress(215, 55, 127, 13)
    GuiCtrlSetData(-1, 2)
    $B2 = GUICtrlCreateCheckbox("Programm 2",30,70)
    GuiCtrlCreateProgress(215, 75, 127, 13)
    GuiCtrlSetData(-1, 20)
    $B3 = GUICtrlCreateCheckbox("Programm 3",30,90)
    GuiCtrlCreateProgress(215, 95, 127, 13)
    GuiCtrlSetData(-1, 40)
    $B4 = GUICtrlCreateCheckbox("Batteriestand der Tastatur prüfen",30,110)
    GuiCtrlCreateProgress(215, 115, 127, 13)
    GuiCtrlSetData(-1, 60)
    $B5 = GUICtrlCreateCheckbox("Update Check starten",30,130)
    GuiCtrlCreateProgress(215, 135, 127, 13)
    GuiCtrlSetData(-1, 80)
    $B6 = GUICtrlCreateCheckbox("Rechner neustart",30,150)
    GuiCtrlCreateProgress(215, 155, 127, 13)
    GuiCtrlSetData(-1, 100)
    $AlleFunksB = GuiCtrlCreateCheckbox("Alle Funktionen auswählen", 30, 170, 150, 20)
    $WichFunksB = GuiCtrlCreateCheckbox("Wichtigste Funktionen", 215, 170, 150, 20)

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

    GuiCtrlCreateTabItem("Raum C")
    $C1 = GUICtrlCreateCheckbox("Programm 1",30,50)
    GuiCtrlCreateProgress(215, 55, 127, 13)
    GuiCtrlSetData(-1, 2)
    $C2 = GUICtrlCreateCheckbox("Programm 2",30,70)
    GuiCtrlCreateProgress(215, 75, 127, 13)
    GuiCtrlSetData(-1, 20)
    $C3 = GUICtrlCreateCheckbox("Programm 3",30,90)
    GuiCtrlCreateProgress(215, 95, 127, 13)
    GuiCtrlSetData(-1, 40)
    $C4 = GUICtrlCreateCheckbox("Batteriestand der Tastatur prüfen",30,110)
    GuiCtrlCreateProgress(215, 115, 127, 13)
    GuiCtrlSetData(-1, 60)
    $C5 = GUICtrlCreateCheckbox("Update Check starten",30,130)
    GuiCtrlCreateProgress(215, 135, 127, 13)
    GuiCtrlSetData(-1, 80)
    $C6 = GUICtrlCreateCheckbox("Rechner neustart",30,150)
    GuiCtrlCreateProgress(215, 155, 127, 13)
    GuiCtrlSetData(-1, 100)
    $AlleFunksC = GuiCtrlCreateCheckbox("Alle Funktionen auswählen", 30, 170, 150, 20)
    $WichFunksC = GuiCtrlCreateCheckbox("Wichtigste Funktionen", 215, 170, 150, 20)

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

    GuiCtrlCreateTabItem("Raum D")
    $D1 = GUICtrlCreateCheckbox("Programm 1",30,50)
    GuiCtrlCreateProgress(215, 55, 127, 13)
    GuiCtrlSetData(-1, 2)
    $D2 = GUICtrlCreateCheckbox("Programm 2",30,70)
    GuiCtrlCreateProgress(215, 75, 127, 13)
    GuiCtrlSetData(-1, 20)
    $D3 = GUICtrlCreateCheckbox("Programm 3",30,90)
    GuiCtrlCreateProgress(215, 95, 127, 13)
    GuiCtrlSetData(-1, 40)
    $D4 = GUICtrlCreateCheckbox("Batteriestand der Tastatur prüfen",30,110)
    GuiCtrlCreateProgress(215, 115, 127, 13)
    GuiCtrlSetData(-1, 60)
    $D5 = GUICtrlCreateCheckbox("Update Check starten",30,130)
    GuiCtrlCreateProgress(215, 135, 127, 13)
    GuiCtrlSetData(-1, 80)
    $D6 = GUICtrlCreateCheckbox("Rechner neustart",30,150)
    GuiCtrlCreateProgress(215, 155, 127, 13)
    GuiCtrlSetData(-1, 100)
    $AlleFunksD = GuiCtrlCreateCheckbox("Alle Funktionen auswählen", 30, 170, 150, 20)
    $WichFunksD = GuiCtrlCreateCheckbox("Wichtigste Funktionen", 215, 170, 150, 20)

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

    GuiCtrlCreateTabItem("")

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

    ;Funktionen

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

    ;Schleife für GUI anzeigen und Funktion

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

    While 1
    Sleep (10)
    $msg = GUIGetMsg()
    If $msg = $END Or $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    $msg = GUIGetMsg()

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

    If $msg = $A1 or $msg = $B1 or $msg = $C1 or $msg = $D1 Then
    $cstate = Bitand(GUICtrlRead($A1),$GUI_CHECKED) or Bitand(GUICtrlRead($B1),$GUI_CHECKED) or Bitand(GUICtrlRead($C1),$GUI_CHECKED) or Bitand(GUICtrlRead($D1),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy1.exe")
    EndIf

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

    If $msg = $A2 or $msg = $B2 or $msg = $C2 or $msg = $D2 Then
    $cstate = Bitand(GUICtrlRead($A2),$GUI_CHECKED) or Bitand(GUICtrlRead($B2),$GUI_CHECKED) or Bitand(GUICtrlRead($C2),$GUI_CHECKED) or Bitand(GUICtrlRead($D2),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy2.exe")
    EndIf

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

    If $msg = $A3 or $msg = $B3 or $msg = $C3 or $msg = $D3 Then
    $cstate = Bitand(GUICtrlRead($A3),$GUI_CHECKED) or Bitand(GUICtrlRead($B3),$GUI_CHECKED) or Bitand(GUICtrlRead($C3),$GUI_CHECKED) or Bitand(GUICtrlRead($D3),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy3.exe")
    EndIf

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

    If $msg = $A4 or $msg = $B4 or $msg = $C4 or $msg = $D4 Then
    $cstate = Bitand(GUICtrlRead($A4),$GUI_CHECKED) or Bitand(GUICtrlRead($B4),$GUI_CHECKED) or Bitand(GUICtrlRead($C4),$GUI_CHECKED) or Bitand(GUICtrlRead($D4),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy4.exe);Script einfügen
    EndIf

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

    If $msg = $A5 or $msg = $B5 or $msg = $C5 or $msg = $D5 Then
    $cstate = Bitand(GUICtrlRead($A5),$GUI_CHECKED) or Bitand(GUICtrlRead($B5),$GUI_CHECKED) or Bitand(GUICtrlRead($C5),$GUI_CHECKED) or Bitand(GUICtrlRead($D5),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy5.exe")
    EndIf

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

    If $msg = $A6 or $msg = $B6 or $msg = $C6 or $msg = $D6 Then
    $cstate = Bitand(GUICtrlRead($A6),$GUI_CHECKED) or Bitand(GUICtrlRead($B6),$GUI_CHECKED) or Bitand(GUICtrlRead($C6),$GUI_CHECKED) or Bitand(GUICtrlRead($D6),$GUI_CHECKED)
    if $cstate = $GUI_CHECKED then run("C:\Programme\xy6.exe")
    EndIf
    ;____________________________________________________________________________________________________________________
    ;------------------------------Raum A------CHECKBOX = ALLE FUNKTIONEN--------------------------------------
    ;____________________________________________________________________________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $AlleFunksA
    If GUICtrlRead($AlleFunksA) = 1 Then
    GUICtrlSetState($A1, $GUI_CHECKED)
    GUICtrlSetState($A2, $GUI_CHECKED)
    GUICtrlSetState($A3, $GUI_CHECKED)
    GUICtrlSetState($A4, $GUI_CHECKED)
    GUICtrlSetState($A5, $GUI_CHECKED)
    GUICtrlSetState($A6, $GUI_CHECKED)
    else
    GUICtrlSetState($A1, $GUI_UNCHECKED)
    GUICtrlSetState($A2, $GUI_UNCHECKED)
    GUICtrlSetState($A3, $GUI_UNCHECKED)
    GUICtrlSetState($A4, $GUI_UNCHECKED)
    GUICtrlSetState($A5, $GUI_UNCHECKED)
    GUICtrlSetState($A6, $GUI_UNCHECKED)
    EndIf
    EndSwitch
    ;_____________________________________________Wichtige Funktionen________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $WichFunksA
    If GUICtrlRead($WichFunksA) = 1 Then
    GUICtrlSetState($A1, $GUI_CHECKED)
    GUICtrlSetState($A2, $GUI_CHECKED)
    GUICtrlSetState($A3, $GUI_CHECKED)
    GUICtrlSetState($A4, $GUI_CHECKED)

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

    else
    GUICtrlSetState($A1, $GUI_UNCHECKED)
    GUICtrlSetState($A2, $GUI_UNCHECKED)
    GUICtrlSetState($A3, $GUI_UNCHECKED)
    GUICtrlSetState($A4, $GUI_UNCHECKED)

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

    EndIf
    EndSwitch
    ;____________________________________________________________________________________________________________________
    ;-------------------------------RAUM B-----CHECKBOX = ALLE FUNKTIONEN--------------------------------------
    ;____________________________________________________________________________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $AlleFunksB
    If GUICtrlRead($AlleFunksB) = 1 Then
    GUICtrlSetState($B1, $GUI_CHECKED)
    GUICtrlSetState($B2, $GUI_CHECKED)
    GUICtrlSetState($B3, $GUI_CHECKED)
    GUICtrlSetState($B4, $GUI_CHECKED)
    GUICtrlSetState($B5, $GUI_CHECKED)
    GUICtrlSetState($B6, $GUI_CHECKED)
    else
    GUICtrlSetState($B1, $GUI_UNCHECKED)
    GUICtrlSetState($B2, $GUI_UNCHECKED)
    GUICtrlSetState($B3, $GUI_UNCHECKED)
    GUICtrlSetState($B4, $GUI_UNCHECKED)
    GUICtrlSetState($B5, $GUI_UNCHECKED)
    GUICtrlSetState($B6, $GUI_UNCHECKED)
    EndIf
    EndSwitch
    ;_____________________________________________Wichtige Funktionen________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $WichFunksB
    If GUICtrlRead($WichFunksB) = 1 Then
    GUICtrlSetState($B1, $GUI_CHECKED)
    GUICtrlSetState($B2, $GUI_CHECKED)
    GUICtrlSetState($B3, $GUI_CHECKED)
    GUICtrlSetState($B4, $GUI_CHECKED)

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

    else
    GUICtrlSetState($B1, $GUI_UNCHECKED)
    GUICtrlSetState($B2, $GUI_UNCHECKED)
    GUICtrlSetState($B3, $GUI_UNCHECKED)
    GUICtrlSetState($B4, $GUI_UNCHECKED)

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

    EndIf
    EndSwitch

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

    ;____________________________________________________________________________________________________________________
    ;-----------------------------------Raum C CHECKBOX = ALLE FUNKTIONEN--------------------------------------
    ;____________________________________________________________________________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $AlleFunksC
    If GUICtrlRead($AlleFunksC) = 1 Then
    GUICtrlSetState($C1, $GUI_CHECKED)
    GUICtrlSetState($C2, $GUI_CHECKED)
    GUICtrlSetState($C3, $GUI_CHECKED)
    GUICtrlSetState($C4, $GUI_CHECKED)
    GUICtrlSetState($C5, $GUI_CHECKED)
    GUICtrlSetState($C6, $GUI_CHECKED)
    else
    GUICtrlSetState($C1, $GUI_UNCHECKED)
    GUICtrlSetState($C2, $GUI_UNCHECKED)
    GUICtrlSetState($C3, $GUI_UNCHECKED)
    GUICtrlSetState($C4, $GUI_UNCHECKED)
    GUICtrlSetState($C5, $GUI_UNCHECKED)
    GUICtrlSetState($C6, $GUI_UNCHECKED)
    EndIf
    EndSwitch
    ;_____________________________________________Wichtige Funktionen________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $WichFunksC
    If GUICtrlRead($WichFunksC) = 1 Then
    GUICtrlSetState($C1, $GUI_CHECKED)
    GUICtrlSetState($C2, $GUI_CHECKED)
    GUICtrlSetState($C3, $GUI_CHECKED)
    GUICtrlSetState($C4, $GUI_CHECKED)

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

    else
    GUICtrlSetState($C1, $GUI_UNCHECKED)
    GUICtrlSetState($C2, $GUI_UNCHECKED)
    GUICtrlSetState($C3, $GUI_UNCHECKED)
    GUICtrlSetState($C4, $GUI_UNCHECKED)

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

    EndIf
    EndSwitch
    ;_________________________________________________________________________________________________________________
    ;--------------------------------------Raum D---CHECKBOX = ALLE FUNKTIONEN--------------------------------------
    ;____________________________________________________________________________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $AlleFunksD
    If GUICtrlRead($AlleFunksD) = 1 Then
    GUICtrlSetState($D1, $GUI_CHECKED)
    GUICtrlSetState($D2, $GUI_CHECKED)
    GUICtrlSetState($D3, $GUI_CHECKED)
    GUICtrlSetState($D4, $GUI_CHECKED)
    GUICtrlSetState($D5, $GUI_CHECKED)
    GUICtrlSetState($D6, $GUI_CHECKED)
    else
    GUICtrlSetState($D1, $GUI_UNCHECKED)
    GUICtrlSetState($D2, $GUI_UNCHECKED)
    GUICtrlSetState($D3, $GUI_UNCHECKED)
    GUICtrlSetState($D4, $GUI_UNCHECKED)
    GUICtrlSetState($D5, $GUI_UNCHECKED)
    GUICtrlSetState($D6, $GUI_UNCHECKED)
    EndIf
    EndSwitch
    ;_____________________________________________Wichtige Funktionen________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $WichFunksD
    If GUICtrlRead($WichFunksD) = 1 Then
    GUICtrlSetState($D1, $GUI_CHECKED)
    GUICtrlSetState($D2, $GUI_CHECKED)
    GUICtrlSetState($D3, $GUI_CHECKED)
    GUICtrlSetState($D4, $GUI_CHECKED)

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

    else
    GUICtrlSetState($D1, $GUI_UNCHECKED)
    GUICtrlSetState($D2, $GUI_UNCHECKED)
    GUICtrlSetState($D3, $GUI_UNCHECKED)
    GUICtrlSetState($D4, $GUI_UNCHECKED)

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

    EndIf
    EndSwitch
    ;___________________________________________________________________________________________________________________________________________________
    ;____________________________________________________________________________________________________________________
    ;-------------------------------------------------ALLE Räume------------------------------------
    ;____________________________________________________________________________________________________________________
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $AlleRooms
    If GUICtrlRead($AlleRooms) = 1 Then
    GUICtrlSetState($A1, $GUI_CHECKED)
    GUICtrlSetState($A2, $GUI_CHECKED)
    GUICtrlSetState($A3, $GUI_CHECKED)
    GUICtrlSetState($A4, $GUI_CHECKED)
    GUICtrlSetState($B1, $GUI_CHECKED)
    GUICtrlSetState($B2, $GUI_CHECKED)
    GUICtrlSetState($B3, $GUI_CHECKED)
    GUICtrlSetState($B4, $GUI_CHECKED)
    GUICtrlSetState($C1, $GUI_CHECKED)
    GUICtrlSetState($C2, $GUI_CHECKED)
    GUICtrlSetState($C3, $GUI_CHECKED)
    GUICtrlSetState($C4, $GUI_CHECKED)
    GUICtrlSetState($D1, $GUI_CHECKED)
    GUICtrlSetState($D2, $GUI_CHECKED)
    GUICtrlSetState($D3, $GUI_CHECKED)
    GUICtrlSetState($D4, $GUI_CHECKED)
    else
    GUICtrlSetState($A1, $GUI_UNCHECKED)
    GUICtrlSetState($A2, $GUI_UNCHECKED)
    GUICtrlSetState($A3, $GUI_UNCHECKED)
    GUICtrlSetState($A4, $GUI_UNCHECKED)
    GUICtrlSetState($B1, $GUI_UNCHECKED)
    GUICtrlSetState($B2, $GUI_UNCHECKED)
    GUICtrlSetState($B3, $GUI_UNCHECKED)
    GUICtrlSetState($B4, $GUI_UNCHECKED)
    GUICtrlSetState($C1, $GUI_UNCHECKED)
    GUICtrlSetState($C2, $GUI_UNCHECKED)
    GUICtrlSetState($C3, $GUI_UNCHECKED)
    GUICtrlSetState($C4, $GUI_UNCHECKED)
    GUICtrlSetState($D1, $GUI_UNCHECKED)
    GUICtrlSetState($D2, $GUI_UNCHECKED)
    GUICtrlSetState($D3, $GUI_UNCHECKED)
    GUICtrlSetState($D4, $GUI_UNCHECKED)
    EndIf
    EndSwitch

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