HKLM Autostarteinträge verzögern

Argead

Freizeitschrauber(in)
HKLM Autostarteinträge verzögern

Ich benutze Win 7 und habe einige Programme im Autostart über die HKLM Registry Einträge.
Kann man an die noch einen Parameter dranhängen der den Start verzögert?

Ich brauche die allermeißten Autostart einträge ja nicht sofort nach dem Start und so wäre es günstiger, wenn alles nach und nach startet und nicht alles auf einmal.
 
AW: HKLM Autostarteinträge verzögern

Hier ist eine Beschreibung mit Windows Boardmitteln für Vista, sollte auch mit Windows 7 funktionieren: verzögerten Autostart einrichten - WinSupportForum . Dann musst Du allerdings alle HKLM-, HKCU- sowie Autostart Einträge manuell übernehmen und bei Updates von Programmen mit Autostart die Anpassungen wiederholen.
Mit diesem freien Tool (http://www.r2.com.au/software.php?page=2&show=startdelay&vrn=startdelay_v2.5b138) soll es bis Vista funktionieren, ob es der geänderten UAC von Windows 7 standhält, wäre zu testen. Außerdem ist wahrscheinlich wieder der Pflegeaufwand bei Programm-Updates erforderlich.
 
AW: HKLM Autostarteinträge verzögern

Das es mit der Aufgabenplaunung geht war mir auch klar.
Nur funktioniert diese Lösung nicht so gut wenn das entsprechende Programm Admin-rechte braucht und ich mich im User-konto einlogge.

Gibt es nicht einfach einen Parameter wie "...\name.exe -delay 30s" oder so?
 
AW: HKLM Autostarteinträge verzögern

Nen Timer gibt es soweit ich weis, keinen bei den Batch Befehlen. Eine Möglichkeit wäre, dass du dir z.B. mit AutoIt eine eigene Timer Executable schreibst. Mit AutoIt kannst du übrigens auch Apps mit Adminrechten starten, somit wäre die Aufgabenplanung auch wieder eine Option. Kannst ja mal nach AutoIt googeln, is ziemlich mächtig.
 
AW: HKLM Autostarteinträge verzögern

Du meinst also das ich in Autoit eine Wartefunktion schreiben soll (mit welchem befehl?) und danach dann die Programme aufrufe, oder?
 
AW: HKLM Autostarteinträge verzögern

Wait heißt das Zauberwort ;D. Ja, du kannst den Programmaufruf aber auch in das AutoIt Skript mit einbinden.
 
AW: HKLM Autostarteinträge verzögern

Also schreibe ich dann z.B

wait 30s
start "C:\...\prog.exe /min"
wait 15s
start "C:\...\prog2.exe /min"

würde das gehen?
 
AW: HKLM Autostarteinträge verzögern

Ich hab jetzt folgendes gemacht:

Sleep (40000)
Run ("F:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" [,"F:\Program Files (x86)\Mozilla Thunderbird"])
Sleep (15000)
Run ("F:\Program Files (x86)\Mozilla Firefox\firefox.exe" [,"F:\Program Files (x86)\Mozilla Firefox"])

Autit meckert jetzt aber irgendwie:
ERROR: syntax error
Run ("F:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"[
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^#
ERROR: syntax error
Run ("F:\Program Files (x86)\Mozilla Firefox\firefox.exe" [
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

Woran liegts?
 
AW: HKLM Autostarteinträge verzögern

Lass mal den WorkingDir Parameter weg:
Code:
Run("F:\Program Files (x86)\Mozilla Firefox\firefox.exe", "")
Sleep(15000)
 
AW: HKLM Autostarteinträge verzögern

Das funktioniert dann.

Aber wie mach ich das dann mit Programmen wie dem Afterburner, der soll z.B minimiert starten.
Run ("F:\Program Files (x86)\MSI Afterburner\MSIAfterburnerWrapper.exe" [ [,@SW_MINIMIZE]])

Da gibts aber auch wieder denselben Syntax fehler.
 
AW: HKLM Autostarteinträge verzögern

Das funktioniert dann.

Aber wie mach ich das dann mit Programmen wie dem Afterburner, der soll z.B minimiert starten.


Da gibts aber auch wieder denselben Syntax fehler.

Zuerst: Die eckigen Klammen in der Doku bedeuten nur, dass die eingeklammerten Parameter optional ist, im Script kannst du sie also weglassen. Ausserdem musst du auf die Reihenfolge der Parameter achten. Benötigst du den ersten Parameter, den zweiten nicht, den dritten aber wieder, so musst du für den zweiten Parameter zwei Anführungszeichen ohne Inhalt schreiben, z.B. in deinem Fall
Code:
Run("F:\Program Files (x86)\MSI Afterburner\MSIAfterburnerWrapper.exe", "" , @SW_MINIMZE)
.

Allerdings sind meiner Erfahrung nach diese "@SW_" Flags nicht gerade zuverlässig, wenn es nicht funktioniert kann du versuchen, es zu entfernen, und darunter
Code:
WinWaitActive("[Class:ClassDeinesFensters]")
Sleep(WieLangeDasFensterBraucht)
Send("!{SPACE}n")
einfügen. Die ClassId des Fensters bekommst du, indem du das Fadenkreuz im AutoIt Info-Tool das Fadenkreuz auf das betreffende Fenster ziehst, und dann in der Liste darunter guckst, was bei "Class:" steht. Hier braucht es die eckigen Klammer btw auch im Script. Klappt das auch nicht oder nur mäßig, dann solltest du hoffen, dass das zu startende Programm selbst ne funktionierende Option mitbringt, um sich minimiert starten zu lassen.
 
Zurück