Frage:
Steam-Startbefehle: Eine Möglichkeit, ein kleines Skript zu starten?
user3501165
2015-06-25 04:29:07 UTC
view on stackexchange narkive permalink

Ich weiß, dass Sie den Start eines Spiels personalisieren können, indem Sie bestimmte Befehle auf Steam hinzufügen. Können Sie einen Befehl hinzufügen, der ein kleines .bat-Skript ausführt?

Was versuchst du aus Neugier zu erreichen?
@Powerlord Das kleine Skript (ich sagte .bat, weil es eine Dos-Version von Steam gibt, so dass ich dachte, es würde eher funktionieren, aber ich kann das Skript in jeder Sprache schreiben) sollte einige Dateien aktualisieren, bearbeiten und einige Tests kopierendie Zwischenablage kurz vor dem Start des Spiels.
Sie können eine benutzerdefinierte Steam.exe erstellen, die im Grunde Ihr Skript startet und danach Steam startet.Sollte ziemlich einfach zu erreichen sein
@JonasDralle Das ist nicht wirklich das, was ich will, da ich möchte, dass das Skript genau vor dem Start des spezifischen Spiels ausgeführt wird, nicht Steam.Ich möchte vielleicht Steam ausführen und ein anderes Spiel spielen, für das das Skript nicht gestartet werden muss.Deshalb möchte ich, dass das Skript mit dem Spiel verknüpft wird, nicht mit Steam.
Sie sollten die aktiven Prozesse Ihres PCs scannen.Das Programm behält Ihre Machina im Auge und sobald Ihre game.exe aktiv ist, aktiviert es automatisch das Skript.
Vielleicht können Sie einen Blick in den Taskplaner von Windows werfen.Sobald game.exe gestartet wird, können Sie das Skript ausführen.Ich weiß nicht, ob Windows das Ausführen einer bestimmten EXE-Datei als Teigger unterstützt, aber Sie sollten es zumindest überprüfen, da es wirklich einfach einzurichten ist und Sie keine Spielerei von Drittanbietern benötigen
Fünf antworten:
Keavon
2015-06-25 05:06:49 UTC
view on stackexchange narkive permalink

Nein, aber Sie können das gleiche Ergebnis mit einem kleinen Hack erzielen.

Startargumente beziehen sich nicht auf Batchdateien. Sie können eine Batch-Datei verwenden, um etwas mit Startargumenten zu starten, aber nicht umgekehrt. Wenn Sie das Spiel jedoch über Steam starten und die Batch-Datei vor dem Spiel ausführen möchten, können Sie die folgenden Schritte ausführen, um dies zu erreichen.

  1. Gehen Sie zum Installationsordner des Spiels und suchen Sie die .exe -Datei für das Spiel. Benennen Sie es beispielsweise von game.exe in game_real.exe um.
  2. Fügen Sie am Ende Ihrer Batch-Datei ein hinzu Befehl, der Ihre ausführbare Datei ausführt und offensichtlich game_real.exe durch die ausführbare Datei Ihres umbenannten Spiels ersetzt:

    start "" game_real.exe

  3. Suchen Sie ein Tool, das eine Batchdatei .bat in eine ausführbare Datei .exe kompiliert. Ich habe es nicht getestet, aber Sie können dieses auf eigenes Risiko ausprobieren. Verwenden Sie diese Option, um Ihre Batchdatei zu kompilieren. Möglicherweise möchten Sie mit den Einstellungen herumspielen, damit sie nicht sichtbar sind und was auch immer Sie möchten.

  4. Benennen Sie die resultierende ausführbare Datei in den ursprünglichen Namen der ausführbaren Datei des Spiels, game.exe, um in diesem Beispiel. Legen Sie dies in den gleichen Ordner wie die ausführbare Datei Ihres Spiels.
  5. ol>

    Das sollte es sein. Die Batch-Datei wird beim Starten von Steam anstelle des Spiels ausgeführt. Anschließend wird das eigentliche Spiel gestartet, wenn die gewünschten Aktionen abgeschlossen sind. Wenn das Spiel ein Update hat, das die ausführbare Datei des Spiels ändert, wird Ihr Skript durch dieses ersetzt. Wenn Sie die Integrität der Spiel-Cache-Dateien überprüfen, wird Ihr Skript auch wieder durch die echte ausführbare Datei ersetzt. In diesem Fall wiederholen Sie einfach diese Schritte und verwerfen Sie die alte umbenannte ausführbare Spieldatei.

Ich wollte auch diese Methode vorschlagen :)
Dies ist eine Möglichkeit, eine Verknüpfung zu einem Spiel zu erstellen. Dies ist keine Möglichkeit, die Steam Launcher-Befehle dazu zu bringen, etwas zu analysieren, das Sie nur hinzufügen möchten.
Ich habe dies verwendet, um automatisch eine von BioShock erstellte Datei zu löschen, die im Wesentlichen lautet: "Ich laufe und werde gelöscht, wenn ich ordnungsgemäß heruntergefahren werde, aber nicht, wenn ich abstürze."Da das Spiel eine Tonne abstürzt und das Vorhandensein dieser Datei beim Start des Spiels alle Einstellungen (einschließlich der Tastenkombinationen) zurücksetzt, habe ich das Batch-Skript veranlasst, die Datei vor dem Start des Spiels zu löschen.
@James Dies ist keine Möglichkeit, eine Verknüpfung zu einem Spiel herzustellen.Dies ist eine Möglichkeit, eine Batch-Datei auszuführen, bevor das Spiel beginnt, wie in der Frage gestellt.Es ist nicht möglich, Startargumente selbst als Batch-Datei auszuführen, da dies völlig andere Dinge sind.Ich gebe die einzig mögliche Antwort, die zu seiner Absicht passt.Es sei denn, Sie möchten, dass ich nur "es ist nicht möglich" sage, ohne eine tatsächliche Alternative vorzuschlagen, die mir als sehr unbefriedigende Antwort erscheint.Aber Ihre Abwertung meiner Antwort und Ihre Aufwertung der Antwort, die genau das bewirkt, impliziert, dass Sie der Meinung sind, dass tatsächliche Lösungen eine schlechte Sache sind.
Dies funktioniert zwar, ist jedoch für die Startoptionen von Steam nicht relevant. Darum geht es in dieser Frage.Er kann auch nur eine Bat-Datei haben, die Befehle ausführt und die Spiel-Exe startet und über eine Verknüpfung startet.Es wäre der gleiche Effekt, aber weniger Arbeit erforderlich.
@Keavon Hmmmm.Ich glaube, ich bin beim Titel und im ersten Satz gegen den Rest der Frage hin und her gerissen.Ich habe es so genommen, wie es eine Möglichkeit gibt, die Steam-URLs dazu zu bringen, mehr zu tun, wie eine Fledermausdatei auszuführen. Nein, das können sie nicht.Wenn Sie jedoch das ersetzen, worauf es abzielt, wie Sie es vorschlagen, sind die Ergebnisse die erwarteten.
Auch wenn dies die Frage nicht genau beantwortet, ist es immer noch eine bessere Lösung als zu sagen, dass es nicht möglich ist, da diese Antwort immer noch die Anforderungen der Frage erfüllt.
@Chippies Sicher, aber das würde es Ihnen nicht erlauben, das Spiel über Steam zu starten, da Sie die Verknüpfung verwenden müssten.
@James Bitte beachten Sie meine Bearbeitung des Eröffnungssatzes.Da meine Antwort jetzt besagt, dass dies nicht möglich ist, und dann auch einen Weg vorschlägt, um den gleichen Effekt zu erzielen, möchte ich Sie bitten, Ihre Abstimmung zu überdenken, die meines Erachtens in ihrem derzeit negativen Zustand nicht gerechtfertigt ist.
Das Skript direkt von Steam aus zu starten, klang für mich nach der besten Lösung, aber da dies nicht möglich ist, sollte Keavons Lösung genauso gut funktionieren. Aber: Was ist, wenn zukünftige Updates den Game Launcher selbst ändern / aktualisieren müssen?Würde das nicht einige Probleme verursachen?Was ist auch, wenn das Spiel feststellt, dass der ausführbare Launcher geändert wurde, und dies als böswilligen Hack ansieht?Ich meine, ich könnte gegen einige EULA-Regeln verstoßen und gebannt werden?
@user3501165 Wenn es ein Update gibt, das die ausführbare Datei des Spiels ändert, wird die ausführbare Datei, die Sie aus der Batch-Datei erstellt haben, durch die aktualisierte ersetzt.In diesem Fall müssen Sie die alte, umbenannte ausführbare Spieldatei löschen, die neue umbenennen und die exe-Batchdatei zurücklegen.Dies ist auch erforderlich, wenn Sie die Integrität der Spiel-Cache-Dateien überprüfen.Es wird nicht als böswilliger Hack angesehen, es ist absolut nicht gegen eine EULA und es wird Sie mit Sicherheit nicht verbannen.
@Keavon Sie können nicht sicher sagen, dass es nicht als böswilliger Hack angesehen wird, insbesondere in MMOs mit ihrer eigenen Anti-Hacking-Software.Ich habe einige MMOs gespielt (damals noch nicht auf Steam), die so knifflige Anti-Hack-Implementierungen hatten, dass Sie aus den zufälligsten Gründen aus dem Spiel geworfen würden.
@Chippies Ich meinte, es würde nichts mit Steam verletzen oder dich von dort verbannen lassen.Ich bezweifle jedoch, dass dies selbst die schwierigsten Anti-Cheat-Programme betreffen würde, da es einfach das Spiel startet und Steam sein Overlay und seine API in alles einfügt, was von seinen laufenden Apps gestartet wird.
Das Problem ist nicht, dass es invasiv ist oder so, sondern dass das Spiel nicht von exe mit dem ursprünglichen Namen läuft.Es gibt einige (nicht viele) Spiele, die das nicht mögen.Um fair zu sein, mögen viele MMOs AutoHotkey auch nicht.
459below
2017-08-30 04:54:12 UTC
view on stackexchange narkive permalink

Für diejenigen Google-Pilger, die in Zukunft ankommen:

'Spiel hinzufügen ...' → 'Nicht-Steam-Spiel hinzufügen' → 'Durchsuchen ...' → 'C: \ Windows \ System32 \ cmd.exe'.

Bei neuer Verknüpfung "cmd.exe" → 'Eigenschaften':

  • Name: Fantastisches Spiel

  • Ziel: "C: \ Windows \ System32 \ cmd.exe" / k C: \ Speicherort \ von \ File.bat

  • Start In: Der Pfad, auf dem Ihr Spiel lebt, wie "C: \ Steam \ steamapps \ common \ AwesomeGame"

Offensichtlich sollte die .bat-Datei so etwas wie "start C: \ Steam \ steamapps \ common \ AwesomeGame \ a_game.exe"

enthalten
Danke, es funktioniert wie ein Zauber
Elise
2015-06-25 04:40:33 UTC
view on stackexchange narkive permalink

Kurze Antwort: Nein

Die Steam-Startbefehle unterscheiden sich nicht vom Hinzufügen von Startbefehlen zur Verknüpfung der Anwendung. Es hängt von jeder Anwendung ab, was sie analysieren oder nicht. Sie können keine Skripte oder ähnliches ausführen, es sei denn, das Spiel selbst verfügt über solche Funktionen. In diesem Fall ist es für Steam-Startbefehle nicht relevant.

Es gibt verschiedene Möglichkeiten, Befehle beim Start der Software auszuführen. Eine davon sind AutoHotkey -Skripte, die die automatische Ausführung von Befehlen ermöglichen, wenn ein Prozess erkannt wird.
Eine andere Möglichkeit wäre Erstellen einer Batch-Datei, die den Befehl ausführt und dann die ausführbare Spieldatei ausführt, obwohl dies möglicherweise nicht bei allen Spielen funktioniert (mmorpg's mit speziellem Cheat-Schutz). In der Antwort von @ Keavon wird erläutert, wie eine ausführbare Datei aus einer Batchdatei erstellt wird, sodass Sie sie direkt über Steam und nicht über eine Verknüpfung ausführen können.

Dies ist eine gute Sache für das, was es wert ist.Es wäre zu einfach, ein System zu missbrauchen, mit dem Sie Skripte ausführen können, ohne dass sich die Leute ihrer bewusst sind, um Key Logger oder URL-Re-Directors und dergleichen zu starten, nur weil jemand ein Steam-Spiel gestartet hat.
Gute Idee, dies scheint weniger invasiv als Keavons Lösung, ich werde es versuchen.Vielen Dank :)
@user3501165 Das Ausführen eines AutoHotKey-Skripts während der gesamten Zeit, in der Ihr Computer den Start eines Spiels erkennt, ist * viel * invasiver als das einfache Ausführen Ihres Skripts vor dem Start Ihres Spiels.
Ja, am Ende habe ich es in ein AutoHotkey-Skript integriert, das ich bereits verwendet habe.Ich muss einen Hotkey verwenden, um es auszuführen, daher ist es nicht wirklich automatisch, wie ich es wollte, aber ich bevorzuge dies, anstatt zu riskieren, ein Anti-Cheat-Verbot auszulösen.Vielen Dank :)
@user3501165 Es ist möglich, das Skript so einzurichten, dass es einen gestarteten Prozess erkennt und dann das kleine Stück Code ausführt. Es ist jedoch kompliziert und wahrscheinlich den Aufwand nicht wert, wenn Sie nichts dagegen haben, einen Hotkey zu verwenden.
Jack Suss
2018-04-30 20:43:19 UTC
view on stackexchange narkive permalink

YES

  1. Erstellen Sie eine Verknüpfung des Steam-Spiels;
  2. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und gehen Sie zu 'Eigenschaften';
  3. Kopieren Sie die URL;
  4. Gehen Sie in die Batch-Datei und verwenden Sie start (die URL ohne Klammern)
  5. ol>

    Meine .bat-Datei lautet beispielsweise:

      @echo aus
    Dampf starten: // rungameid / 730
    CD D: \ Desktop \ csgo_dont_blind_me
    Starten Sie app.exe
    Ausfahrt
     
user190002
2017-06-29 01:54:09 UTC
view on stackexchange narkive permalink

Dies ist etwas spät, aber Sie können alle OS-Shell-Befehle mit dem Schlüsselwort % command% ausgeben.Wenn dieses Schlüsselwort in den Optionen vorhanden ist, wird alles ausgeführt, was Sie in das Optionsfeld in der Befehlszeile eingegeben haben ( cmd.exe unter Windows, / bin / sh onMac OS und Linux) und ersetzen Sie das Schlüsselwort durch die ausführbare Datei des Spiels.Sie können verschiedene Befehle wie in der Befehlszeile durch Semikolons trennen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...