Auto-Start über Registry

  • Bei Online-Spielen wird häufig ein Patcher verwendet.
    Patcher einfach starten lassen funkioniert nur nicht, da eine .ini gleichzeitig vorhanden sein muss.
    Mein kumpel hat mit letztens ein Stück aus seinem Code gegeben...
    Ich habe $i noch zusätzlich deklariert.

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #include <GUIConstantsEx.au3>

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

    Global $i

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

    While True ; Get Path from S4 by using the software-installed information in registry
    $i +=1
    $keyname = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", $i)
    If @error Then ExitLoop

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

    $result = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $keyname, "DisplayName")
    If $result = "S4 League_EU" Then
    $s4path = RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall" & $keyname, "InstallLocation")
    ExitLoop
    EndIf
    WEnd

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

    ShellExecute($s4path & "patcher_s4.exe", "", $s4path) ; Run Patcher
    WinWait("S4 League Game Launcher")
    ControlClick("S4 League Game Launcher", "", "[CLASS:Button; INSTANCE:2]") ; Click "Start"

    [/autoit]

    Ich bin mit AutoIt soweit, dass ich zwar vieles automatisieren, aber meistens mit fremden Codestücken nichts anfangen kann.

    Meine Frage wäre nun, warum es "patcher_s4.exe" nicht findet (steht fast genau so in der Fehlermeldung).

    Einmal editiert, zuletzt von mipez (20. März 2010 um 15:37)

  • Dummer Fehler das nicht zu gesehen zu haben... wie dem auch sei, jetzt hat es zwar den Pfad gefunden, allerdings mit der Fehlermeldung: "C:\Program Files\alaplaya\s4leaguepatcher_s4.exe konnte nicht gefunden werden"...
    zwischen "s4league" und patcher_s4.exe muss noch ein "\"... nur hab ich im Code alle eingegeben.

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #include <GUIConstantsEx.au3>

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

    Global $i

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

    While True ; Get Path from S4 by using the software-installed information in registry
    $i +=1
    $keyname = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\", $i)
    If @error Then ExitLoop

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

    $result = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $keyname, "DisplayName")
    If $result = "S4 League_EU" Then
    $s4path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $keyname, "InstallLocation")
    ExitLoop
    EndIf
    WEnd

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

    ShellExecute($s4path & "patcher_s4.exe", "", $s4path) ; Run Patcher
    WinWait("S4 League Game Launcher")
    ControlClick("S4 League Game Launcher", "", "[CLASS:Button; INSTANCE:2]") ; Click "Start"

    [/autoit]

    EDIT: GELÖST!

    [autoit]

    ShellExecute($s4path & "/patcher_s4.exe", "", $s4path) ; Run Patcher

    [/autoit]

    wieder ein "\"...