Checkbox soll starten

  • Hallo, habe mich gerade hier angemeldet.


    Bin erst seit paar Wochen mit der Scriptsprache vertraut.


    Irgendwo hier im Forum habe ich ein Script gefunden, in dem die Anzahl der Checkboxen durch eine Ini Datei erstellt werden.


    Nun möchte ich aber das statt der Msgbox die Einträge starten sollen z.B. ShellExecute, aber mit ConsoleWrite und ShellExecute bekomme ich nur ne 1 hin.


    Wo liegt der Fehler.


    Spoiler anzeigen
    [autoit]

    #include

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

    $sIni = @ScriptDir & "/test.ini"

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

    $aIni = IniReadSection($sIni, "Files")

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

    $GUI2 = GUICreate("Farben", 150, 300, 90, 90)

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

    $acCheck[$aIni[0][0]]

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

    For $i = 1 To $aIni[0][0]

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

    ConsoleWrite($aIni[$i][1] & @CRLF)

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

    $acCheck[$i - 1] = GUICtrlCreateCheckbox($aIni[$i][1], 15, 10 + (($i - 1) * 20))

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

    Next

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

    $ButtonOK = GUICtrlCreateButton("OK", 20, 270)

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

    $ButtonAbbrechen = GUICtrlCreateButton("Abbrechen", 70, 270)

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

    GUISetState()

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

    While 1

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

    Switch GUIGetMsg()

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

    Case $GUI_EVENT_CLOSE, $ButtonAbbrechen

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

    GUIDelete($GUI2)

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

    ExitLoop

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

    Case $ButtonOK

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

    For $i = 0 To UBound($acCheck) - 1

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

    If BitAND(GUICtrlRead($acCheck[$i]), $GUI_CHECKED) Then ConsoleWrite(GUICtrlRead($acCheck[$i]))

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

    If BitAND(GUICtrlRead($acCheck[$i]), $GUI_CHECKED) Then ShellExecute(GUICtrlRead($acCheck[$i]))

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

    If BitAND(GUICtrlRead($acCheck[$i]), $GUI_CHECKED) Then MsgBox(0, "Ausgewählt", GUICtrlRead($acCheck[$i], 1))

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

    Next

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

    EndSwitch

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

    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Chipset (26. August 2014 um 10:18)

  • Mit Guictrlread ließt du den status der Checkbox aus (also ob gecheckt oder nicht gecheckt)
    Poste am besten deine ini damit man sieht wo du das hinterlegt hast was du ausführen willst

  • [Files]

    1=Regedit.exe
    2=Explorer.exe
    3=Notepad.exe

    So ist die Ini natürlich mit vollem Pfad aufgebaut, In der Msgbox wird das auch so ausgegeben, Shellexecute oder Consolewrite gibt mir aber nur ne 1 raus