Launcher .bat datei

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von MVN050.

    Launcher .bat datei

    Hey, ich bin ziemlich neu im bereich vb und generell des Programmierens.

    Trotzdem würde ich für mein momentanes Projekt gerne einen Launcher Programmieren.

    Den Grundlauncher habe ich allerdings funktioniert eine sache nicht da der Launcher momentan eine .bat datei starten soll.

    Der Launcher startet zwar die .bat datei allerdings nicht den Clienten und er connectet auch nicht auf den server was beides normalerweise passiert sobald die .bat datei gestartet wird.

    Kann mir jemand vieleicht sagen wie und ob man das fixen kann?

    Mfg Lucas
    schieb deinen launcher mal in den selben ordner wie die .bat datei. dann sollte es gehen!

    das problem ist das dein programm im ordner / c://ordner/xxx
    liegt und von da aus die .bat datei ausführt die zb in
    c://game/xxx
    wenn dann in der .bat datei ein phat drinne steht wie zb nur /dateien/server/server.exe dann führt die .bat datei den phat so aus...
    "phat in dem sieht die .bat befindet/"/dateien/server/server.exe
    führst du also deine .bat über dein programm würde es so aussehen
    c://ordner/xxx /dateien/server/server.exe

    die lösung ist das du deinem vb-programm sagen kannst das er die .bat datei nicht von dem ordner ausführen soll wo die vb-anwendung liet sondern wo die .bat datei liegt...
    falls du es nicht im netz findest meld dich ruhig nochml ;)
    glaube heisst Workfolder" oder so
    Willkommen im Forum. :thumbup:

    xreva schrieb:

    einen Launcher Programmieren
    Möchtest Du wissen, was in der Batch-Datei stehen muss, damit Dein Programm startet
    oder
    möchtest Du wissen, was Di in .NET programmieren musst, um eine bestehende Batch-Datei zu starten?

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim pr As New Process
    3. pr.StartInfo.FileName = "c:\temp\test.bat"
    4. pr.StartInfo.WorkingDirectory = "c:\Temp\"
    5. pr.Start()
    6. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke nachdem ich es in den gleichen Ordner wie die .bat datei verschoben habe ging es ohne Probleme.

    Aber ich habe noch eine andere Frage und zwar ich musste ja den Dateipfad für den Start Button angeben allerdings ist dieser ja nicht auf jedem Pc gleich gibt es da einen weg das der Launcher sich automatisch den Dateipfad sucht oder etwas ähnliches?

    Mfg

    xreva schrieb:

    \ShaestOnline\Start.bat
    Nimm einen OpenFileDialog.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    willst du ihm helfen oder nur mit code füttern?
    vllt habe ich den TE falsch verstanden...
    ich glaube er hat ein spiel (oder irgenteine andere anwendung) die er über eine .bat datei ausführt (die .bat übermittelt anscheint parameter) und starten sein game... das game verbindet sich dann direkt mit dem server (ip und port stehen als parameter in der .bat datei)
    jetz will er ein programm basteln was schön aussieht und jeder depp kann... das programm soll anscheint nur die .bat ausführen und somit startet dann sein spiel und verbindet sich zum server...

    @xreva
    mit diesem code hast du immer den Ordner-Phat inder deine vb-anwendung liegt
    IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly.Location)
    mach mal
    messagebox.show(IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly.Location))
    verschiebe deine vb-anwendung und kuck was passiert ;)
    wäre also bei dir der fall zum ausführen der bat
    IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly.Location) &"\ShaestOnline\Start.bat"
    zum testen
    messagebox.show(IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly.Location) &"\ShaestOnline\Start.bat")

    MVN050 schrieb:

    vllt habe ich den TE falsch verstanden...
    Ich möglicherweise auch, zumal da noch Fragen von mir nicht beantwortet sind.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!