Autostart Manager

  • Hi,

    evtl kanns jemand brauchen - Teil 2 ;)

    Kompiliertes Programm in den Autostart-Ordner, mit Strg+F12 anzeigen lassen (und wieder ausblenden), Programme/Dateien rein per Drag&Drop und hinzufügen.

    Beim nächsten Windows-Start werden alle in der Liste stehenden Programme geöffnet. Funktioniert bei mir wunderbar und ist viel besser als der blöde Autostart-Ordner von Windows :D

    Spoiler anzeigen
    [autoit]

    ;GUI Autostart

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

    #NoTrayIcon

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

    Global $toggle = 1
    Global $ini = @UserProfileDir & "\autostart.ini"

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

    HotKeySet("^{F12}","guitoggle")

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

    #include <date.au3>
    #include <file.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIComboBoxEx.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Autostart-Manager v1.0 by x0r", 627, 454, 192, 114, Default, $WS_EX_ACCEPTFILES)
    $list = GUICtrlCreateList("", 16, 48, 481, 383)
    $addin = GUICtrlCreateInput("", 16, 16, 593, 21)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $add = GUICtrlCreateButton("Hinzufügen", 512, 48, 99, 25, $WS_GROUP)
    $del = GUICtrlCreateButton("Löschen", 512, 80, 99, 25, $WS_GROUP)
    $runini = GUICtrlCreateButton("ini öffnen", 512, 300, 99, 25, $WS_GROUP)
    $xit = GUICtrlCreateButton("Beenden", 512, 408, 99, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    guitoggle()
    fillbox()
    startup()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $add
    saveds()
    GUICtrlSetData($addin,"")
    Case $del
    deleteentry()
    Case $runini
    ShellExecute($ini)
    Case $xit
    Local $a = MsgBox(68,"Beenden","Sicher?")
    if $a = 6 Then Exit
    Case $GUI_EVENT_CLOSE
    send("^{F12}")
    EndSwitch
    WEnd

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

    func startup()
    $cnt = _FileCountLines($ini)
    For $i = 2 to $cnt
    $sec = FileReadLine($ini, $i)
    $sec = StringSplit($sec,"=")
    if $sec[2] <> "" then
    ShellExecute($sec[2])
    sleep(500) ;Timer je nach Bedarf
    EndIf
    Next
    EndFunc

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

    func guitoggle()
    $toggle = BitXOR($toggle,1)
    if $toggle = 1 Then GUISetState(@SW_SHOW)
    if $toggle = 0 Then GUISetState(@SW_HIDE)
    EndFunc

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

    Func fillbox()
    GUICtrlSetData($list, "")
    $cnt = _FileCountLines($ini)
    For $i = 2 to $cnt
    $sec = FileReadLine($ini, $i)
    GUICtrlSetData($list, $sec)
    Next
    EndFunc

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

    Func saveds()
    Local $additem = GUICtrlRead($addin)
    if $additem <> "" then IniWrite($ini, "start", _Now(), $additem)
    fillbox()
    EndFunc

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

    Func deleteentry()
    if GUICtrlRead($list) <> "" Then
    local $reallydel = MsgBox(36, "Eintrag löschen", "Sicher?")
    If $reallydel = 6 Then
    Local $proj1 = GUICtrlRead($list)
    $proj1 = StringSplit($proj1,"=")
    IniDelete($ini, "start", $proj1[1])
    fillbox()
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Viel Spass damit,
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.