[C/C++] system() ohne blockieren

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von myth2806, 12. April 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 12. April 2007
    system() ohne blockieren

    Hi leutz,

    brauch mal schnell hilfe, und zwar will ich mit der system()-funktion eine anwendung aufrufen... allerdings blockiert dann das programm solange die aufgerufene anwendung läuft.... hat wer eine alternative?

    greez myth
     
  2. 12. April 2007
    AW: system() ohne blockieren

    Machs mit Threads, gibt einmal die von der Windows APi und einmal die von *nix die.

    Ohne Threads gehts net, weil das Program halt ersatzweise ausgeführt wird -also mitten in der
    Laufzeit und aufein return-wert Wartet, hinterher gehts normal weiter.
     
  3. 12. April 2007
    AW: system() ohne blockieren

    Ich meine, start /w oder nur start returnt sofort.
     
  4. 12. April 2007
    AW: system() ohne blockieren

    Naja, das Programm muss doch durchlaufen damit
    das eigentliche Den return-Wert bekommt. ( Main funktion, anderes Programm. )
     
  5. 12. April 2007
    AW: system() ohne blockieren

    du könntest es mit system("start DEINBEFEHL"); versuchen... allerdings bekommst du dann glaub ich keinen Rückgabewert oder ähnliches mehr... Der Befehl wird einfach in 'nem neuen (DOS-)Fenster ausgeführt...

    mfg thecoolman4rr
     
  6. 12. April 2007
    AW: system() ohne blockieren

    Gibt die möglichkeit ne Pipe zu machen. Dann kann man sehr gut mit der Cmd.exe arbeiten.

    Wenn unbedingt mit system.. dann system("cmd.exe");

    Mit freundlichen Grüßen
     
  7. 13. April 2007
    AW: system() ohne blockieren

    erm warum so kompliziert ShellExcute oder CreateProcess!

    mfg tobZel
     
  8. 13. April 2007
    AW: system() ohne blockieren

    entschuldigung ;p
     
  9. 13. April 2007
    AW: system() ohne blockieren

    Du hättest auch einfahc nicht posten müssen und meinen Text oben lesen können.
     
  10. 13. April 2007
    AW: system() ohne blockieren

    Dann muss er Threads nutzen anders gehts net
    Gruß
     
  11. 13. April 2007
    AW: system() ohne blockieren

    warum nischt einfach so:
    Code:
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
     cout << "So jetzt wird das Programm aufgerufen: " << endl;
     system("start \"Neues Fenster\" C:\x5cWindows\x5cSystem32\x5cping www.google.de"); // \x5c ^= \
     cout << "und trotzdem geht es direkt weiter!" << endl;
     system("Pause");
     return EXIT_SUCCESS;
    }
    Das mit dem \x5c musste sein, da der Compiler denkt \W solle er so verarbeiten wie \n (was aber natürlich nicht geht). Ansonsten ist der erste Parameter von start in "" der Titel und der zweite der (Pfad+) Befehl (+Parameter). Ich denke das wird das sein was du haben willst....

    mfg thecoolman4rr
     
  12. 13. April 2007
    AW: system() ohne blockieren

    Man macht eigentlich anstatt \x5c einfach \\
     
  13. 14. April 2007
    AW: system() ohne blockieren

    so also das mit system("start blablubb"); hat für mich dann am besten funktioniert. alles andere war jetzt zu umständlich.

    aber an alle: Dankesehr

    greez myth

    //closed
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.