Öffnen eines Programmes ?



  • Hallo,

    gibt es noch eine andere methode außer WinExec um ein anderes Programm zu öffnen?

    Ich versuche hier ein programm zu öffnen und diesem zu sagen er soll auch gleich eine Datei öffnen. Hier mal der Code

    strcpy(Programm,"\"C:\\Programme\\Avery Dennison\\DesignPro 5\labeler.exe\" \"E:\\Daten\\Test.zdl\"");
    WinExec(Programm,SW_SHOW);
    

    So öffnen tud er das Programm auch nur das mir das Programm meldet:

    Fehler beim öffnen des Dokumentes"

    Wenn ich aber im Windows Explorer auf die Datei Test.zdl klicke öffnen er mir das Programm und auch gleich die Datei und nix mit Fehler!

    Kann mir das einer erklären ?

    Danke Coolsero

    PS: Wenn ich mir ne Verknüpfung mit diesem Pfad erstelle funst es auch !!





  • Ist das ein Tippfehler oder fehlt am Ende des Programmpfades ein \\ (vor dem EXE-Namen)? Ansonsten probiere mal, ob du das Programm ohne Parameter zum Laufen bekommst.



  • ich habe z.Z. selber so ein problem. Wenn ich z.B. einen Button den Befehl

    Process::Start("C:/Games/NFSMW/speed.exe");
    

    angeb, dann probiert er zwar das Game zu starten, aber er lädt rein nur die exe und nicht die dll´s usw. die er fürs Spiel brauch, da er die angegebene Datei irgendwie in das Verzeichniss von dem C++ Project kopiert und davon ausführt, also kann er den rest nicht laden.
    Nun probiere ich verzweifelt hin zu bekommen dass er alles lädt. Gehen tut es aber wenn man von der exe eine Verknüpfung erstellt und die dann als Pfad angibt, aber ich will mein Prog sehr Benutzerfreundlich schreiben, deshalb will ich es so haben dass man nur den Pfad zur exe angeben brauch, ich aber nicht weiss wie dass geht. Könnte mir da einer helfen? Würde sicherlich auch den Thread Poster weiterhelfen.

    Am besten wäre es wenn man den Pfad von der exe angibt und er automatisch in das Verzeichniss von den Prog eine Verknüpfung erstellt und die dann ausführt, leider weiss ich aber nicht wie das gehen soll.



  • Du musst auch noch den Work-Pfad angeben... wenn Du dies nicht machst wird das aktuelle Verzeichnis genommen...
    Verwende dazu die "ProcessStartInfo" und übergebe diese dem Process::Start



  • ::ShellExecute(NULL, "open", "C:\\Programme\\Office10\\WinWord.exe", NULL, NULL, SW_SHOWNORMAL); Ich will so über nen button word öffnen es passiert aber nix. 😕 😕 wieso??? 😕

    Edit: Wenn sich z.b mein Word Dokuemnt in dem Ordner des Projektes befindet geht es aber die pfad angabe übernimmt er anscheinend nicht 😕



  • les mal den vorredner von dir, ich hab ja das selbe prob wie du ^^, müssen

    ProcessStartInfo

    benutzen



  • Wenn Du eine EXE starten willst, kannst Du auch direkt CreateProcess nehmen...
    Aber wie gesagt: Solltest Du das .NET-Framework verwenden, mach bitte Process::Start mit ProcessStartInfo.



  • Das mit der .exe war nur Beispiel. Ich will ne .doc öffnen und mach das ganze unter ner mfc anwendung c++



  • hmm normal sollte das mit dem öffnen von net doc mit shellexecute aber gehen.. auch mit \\ anstelle von den / anaj.. ka


Anmelden zum Antworten