Befehl zum öffnen eines anderen Programms



  • system("start \"A:\*bla bla\*LuH.exe\"**");



  • basics schrieb:

    chewee schrieb:

    system("start A:\bla bla\LuH.exe");
    

    system("start \"A:\*bla bla\*LuH.exe\"**");

    Escape-Sequenz

    Das klappt nicht



  • chewee schrieb:

    Das klappt nicht

    du Ärmster!



  • Nun, Leerzeichen in einem Pfad ist eine zusätzliche Fehlerquelle.

    Also, am besten ist es, Du legst Dir einen Pfad OHNE Leerzeichen an.
    Und berichte hier ob es erfolgreich war.
    (ich habe schon gelesen, daß Du keine Pfade ändern kannst, aber um Deine Fehlerquellen einzugrenzen, lege bitte zum Testen einen Pfad ohne Leerzeichen an, z.B. "C:\Testpfad\").

    So, und in Deinem Code lese ich:

    system("start A:\bla bla\LuH.exe");
    

    Das ist falsch, wieso hast Du meinen Hinweis mit dem Backslash nicht ernstgenommen?
    Weißt Du überhaupt was ein Backslash ist?
    Ich wiederhole nochmal (und zwar zum letzten Mal!): Ein Backslash mußt Du unbedingt als Escape-Sequenz \\ in einem C-String eingeben, also doppelt!
    Nun zurück zu meinem oben vorgeschlagenen Testpfad, so muß es aussehen:

    system("start A:\\Testpfad\\LuH.exe");
    

    Ich selbst werde das nicht prüfen, weil ich die Funktion system() noch nie benutzt habe und wohl auch nie benutzen werde (dafür gibt es bessere Funktionen in Win-API, aber das ist eine andere Geschichte)

    So, nun zum Knackpunkt "Pfad mit Leerzeichen":
    In vielen Situationen müssen Pfade und/oder Dateinamen, die ein Leerzeichen enthalten, explizit in doppelten Anführungszeichen gesetzt werden.
    Da sonst nicht eindeutig klar ist ob das Leerzeichen noch zum Datei-/Pfadnamen gehört oder ob es der Beginn eines neuen Arguments an der Kommandozeile einleitet.

    Hinweis: Doppelte Anführungszeichen " innerhalb des C-Strings müssen auch als Esqape-Sequenz eingegeben werden wie beim Backslash!

    HTH,
    Martin



  • basics schrieb:

    chewee schrieb:

    Das klappt nicht

    du Ärmster!

    Weil deine Angabe auch nicht ganz korrekt war. 😉

    @chewee: Dir empfehle ich, das du dich erstmal mit den Escapesequenzen auseinandersetzt, ohne Verständnis dafür kommst du hier nicht weiter, und ich glaube auch nicht, dass die anderen dir die Lösung vorkauen wollen.

    https://de.wikipedia.org/wiki/Escape-Sequenz



  • Burkhi schrieb:

    basics schrieb:

    chewee schrieb:

    Das klappt nicht

    du Ärmster!

    Weil deine Angabe auch nicht ganz korrekt war. 😉

    Sie waren richtig, nur das Forum schneidet die Escape-Sequenz \" weg 😉



  • Ok, dann nehm ich es natürlich zurück. 😉 😉


Anmelden zum Antworten