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
Spoiler anzeigen
;GUI Autostart
[/autoit] [autoit][/autoit] [autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]Global $toggle = 1
Global $ini = @UserProfileDir & "\autostart.ini"
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>
$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)
guitoggle()
fillbox()
startup()
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
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
func guitoggle()
$toggle = BitXOR($toggle,1)
if $toggle = 1 Then GUISetState(@SW_SHOW)
if $toggle = 0 Then GUISetState(@SW_HIDE)
EndFunc
Func fillbox()
GUICtrlSetData($list, "")
$cnt = _FileCountLines($ini)
For $i = 2 to $cnt
$sec = FileReadLine($ini, $i)
GUICtrlSetData($list, $sec)
Next
EndFunc
Func saveds()
Local $additem = GUICtrlRead($addin)
if $additem <> "" then IniWrite($ini, "start", _Now(), $additem)
fillbox()
EndFunc
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
Viel Spass damit,
x0r