Problem bei ShellExecute und Freizeichen



  • Hallo

    Hab folgendes Problem!
    Beim Aufruf

    ShellExecute(NULL,"open","E:\\Terragen\\Terragen.exe","-w D:\\Terragen\\Eigenes\\Berg1\\Berg 1.tgw -t D:\\Terragen\\Eigenes\\Berg1\\Berg.ter",NULL,SW_SHOWNORMAL);

    startet Terragen ganz normal und sagt mir dann, es könne die Datei nicht finden.

    Das liegt am Leerzeichen von Berg 1.tgw.
    Nenne ich die Datei um in Berg1.tgw, läd er sie anstandslos.
    Kann mir jemand sagen warum?



  • Das Leerzeichen ist normalerweise ein Trenner zwischen versch. Parametern.
    Wenn du den Pfad in Anführungszeichen (C++: \") setzt, sollte Terragen normal funktionieren.



  • Hab ich gemacht

    ShellExecute(NULL,"open","E:\\Terragen\\Terragen.exe","-w \"D:\\Terragen\\Eigenes\\Berg1\\Berg 1.tgw -t D:\\Terragen\\Eigenes\\Berg1\\Berg.ter\"",NULL,SW_SHOWNORMAL);

    Klappt nicht!


  • Mod

    Hallo

    aber scheinbar nicht ganz korrekt

    ShellExecute(NULL,"open","E:\\Terragen\\Terragen.exe","-w \"D:\\Terragen\\Eigenes\\Berg1\\Berg 1.tgw -t D:\\Terragen\\Eigenes\\Berg1\\Berg.ter\"",NULL,SW_SHOWNORMAL);
    

    besser scheint mir

    ShellExecute(NULL,"open","E:\\Terragen\\Terragen.exe","-w \"D:\\Terragen\\Eigenes\\Berg1\\Berg 1.tgw\" -t \"D:\\Terragen\\Eigenes\\Berg1\\Berg.ter\"",NULL,SW_SHOWNORMAL);
    

    in deinem Beispiel waere -w... innerhalb des Dateinamens (und das glaube ich nicht)

    MfG
    Klaus



  • Danke, hat funktioniert..


Anmelden zum Antworten