Nach Shutdown/Restart weiter arbeiten/funktionieren

  • Hallo,

    Folgendes Problem:

    Manche Programme benötigen einen Neustart des Computers, deshalb hab ich ein Shutdown/Restart befehl geschrieben der auch funktioniert, aber nach dem Neustart nicht mehr weiter Arbeitet.
    Was führ ein Befehl fehlt den eigendlich damit es funktioniert?

  • Beispiel:
    Bevor der neustart ausgeführt wird.
    Erstellst du ne .txt im Temp Ordner (@TempDir)
    In die schreibst du rein: neugestartet
    Dann setzt du dein Skript in den Autostart, dann abfragen ob die Datei existiert und per Fileread abfragen ob neugestartet drin steht.
    Wenn ja Löschen und weiterarbeiten, wenn Nein, nichts machen.
    Ich hoffe es hilft dir ! :)

  • Ich glaub er meint was anderes.
    Also du musst dir eine Verknüpfung oder kopie des scriptes (der .exe) in den autostart ordner machen. Dies würde dir nun bei jedem Autostart das script neu starten. Also brauchst du noch etwas womit das script weiss wo es weitermachen muss (siehe PokerFaces bsp). Vergiss aber am Ende des scripts bzw. des Vorgangs nicht die Verknüpfung / Kopie aus dem Autostartordner wieder rauszunehmen ;)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Vorgehabt hab ich so:

    Ein GUI worin man die zu Installierende Dateien einen Häcken reinsetzt und bei einem bestimmten Programm wo es nötig hat neuzustarten, neustartet und den Script weiter bearbeitet.
    Dabei fällt mir auf wenn ich zum Beispiel Das Programm^^ welches neugestartet wird gleich mal als ersts habe, dann werden die Restlichen nicht mehr funktionieren.
    Ich hab schon nicht mehr richtig Schlafen können war nur am überlegen wie ichs machen könnte.

  • @ funkey
    dafür braucht er dann aber adminrechte :) (naja gut für die installationen dann wohl meist auch) 1:0 für dich :D

    Und dein Avatar verspult mich noch immer :P

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Also mit Reg. geht es so:

    Spoiler anzeigen
    [autoit]


    _startbei_pc_start("F:\", "ordner\datei.exe")
    Func _startbei_pc_start($laufwerk, $name)
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","test", "REG_SZ", '"' & $laufwerk & $name & '"')
    if @error Then
    Return 0
    Else
    Return 1
    Endif
    Endfunc

    [/autoit]

    Das was PokerFace ansprach ist das hier (zugesendet bekommen):

    Spoiler anzeigen
    [autoit]


    Opt("WinTitleMatchMode", 2)
    Opt("SendKeyDelay", 100)

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

    $neustart = @ScriptDir & "\neustart.txt"

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

    If FileExists($neustart) Then
    $fso = FileOpen($neustart,0)
    $value = FileReadLine($fso)
    FileClose($fso)
    FileDelete($neustart)
    FileDelete(@ScriptDir & "\autoitscriptneustart.lnk")
    Switch $value
    case "Nachneustart1"
    Nachneustart1()
    case Else
    EXIT 5
    EndSwitch
    Else
    Main()
    EndIf
    Exit

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

    ; Die normale Installation
    Func Main()
    CreateRestart("Nachneustart1")

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

    ; hier die normale Installation rein

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

    MsgBox(0,"Moin","Warte bitte bis die MsgBox mit dem MELDUNG 1 Fenster auf geht. Bestätige es. Danach gibt es die neustart.txt. Danach drücke nochmals die F5 und warte bis das ENDE Fenster erscheint.")

    $result = WinWaitActive("Moin","Warte bitte bis die MsgBox mit dem MELDUNG 1 Fenster auf geht. Bestätige es. Danach gibt es die neustart.txt. Danach drücke nochmals die F5 und warte bis das ENDE Fenster erscheint.",10)
    if $result = 1 Then
    CreateRestart("Nachneustart1")
    Send("{ENTER}")
    Exit 0
    Else
    OhneNeustart()
    EndIf
    EndFunc

    Func Nachneustart1()


    ; hier rein was NACH dem Neustart passieren soll

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

    MsgBox(0,"ENDE","ENDE!!! Die neustart.txt ist verschwunden, wenn Du dieses Fenster siehst.")

    EndFunc

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

    Func OhneNeustart()


    ; hier rein was VOR dem Neustart passieren soll

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

    MsgBox(0,"MELDUNG 1","MELDUNG 1")

    EndFunc

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

    Func CreateRestart($Funktionsname)
    $fso = FileOpen($neustart,2)
    FileWriteLine($fso,$Funktionsname)
    FileClose($fso)
    FileCreateShortcut(@ScriptFullPath,@StartupDir & "\autoitscriptneustart.lnk",@ScriptDir)
    EndFunc

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr