mit system() andere Programme starten und programm weiterlaufen lassen



  • Hallo Leute,

    Ich habe folgendes Problem: Ich hab mir ein Programm geschrieben, das mir andere Programme öffnen kann.
    Dafür benutze ich die system()-Funktion aus windows.h.
    Soweit alles in Ordnung, nur habe ich herausgefunden, dass system() erst beendet wird, sobald das Programm, das ich gestartet habe ebenfalls beendet wurde.
    Somit muss ich das geöffnete Programm wieder schließen, um mein Programm weiterlaufen zu lassen.

    Das sieht folgendermaßen aus:

    ...Programm blablabla
    system(file.c_str());                    //Hier wird meine andere Datei geöffnet
    ...weiterer Programmverlauf blablabla    //Das hier wird erst ausgeführt, wenn ich das aus meiner exe geöffnete Programm geschlossen habe
    

    Wie kann ich dafür sorgen, dass mein weiteres Programm auch ausgeführt wird, wenn das andere Programm noch läuft?
    Gibt es evtl. einen anderen Befehl, um das andere Programm zu starten?

    Vielen Dank

    JanK411



  • Hallo,

    ich denke dieser Thread gehört eher ins WinAPI-Forum.

    JanK411 schrieb:

    Gibt es evtl. einen anderen Befehl, um das andere Programm zu starten?

    Ja, z.B. CreateProcess oder ShellExecute.



  • Danke
    Das mit WinAPI wusste ich nicht, sorry
    Habe das genze jetzt mit ShellEcecute gelöst
    sieht folgendermaßen aus:

    ...Programm blablabla
    ShellExecute(GetDesktopWindow(), "open", file.c_str(), NULL, NULL, SW_SHOWNORMAL);    //Hier wird meine andere Datei geöffnet
    ...weiterer Programmverlauf  blablabla                                                //Das hier wird sofort ausgeführt, wenn das aus meiner exe geöffnete Programm gestartet wurde
    

    Danke nochmals

    JanK411


Log in to reply