CreateProcess Problem



  • Hallo,

    also mein problem stellt sich so da das ich ein externes Programm über
    CreateProcess starte dieses sich aber sobald ich mein Hauptprogramm schliesse
    auch mit beendet. Kann man das irgendwie verhindern ?

    void CProcess::StartApp(char *slProgr)
    {
            setmem(&stgStartupInfo,sizeof(TStartupInfo),0);
            stgStartupInfo.cb = sizeof(TStartupInfo);
            CreateProcess(NULL , slProgr, NULL, NULL, false, NORMAL_PRIORITY_CLASS,
            NULL, ExtractFilePath(slProgr).c_str(), &stgStartupInfo, &stgProcessInfo);
    }
    

    Danke für eventuelle Vorschläge



  • Hallo Ralf,

    lies doch bitte mal:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-240979.html

    Gruß Rudi



  • Ob Du es glaubst oder net , leider konnte mir das nicht weiterhelfen.

    Problem:

    Programm A startet per CreateProcess ein externes fremdes Programm.

    Sobald ich Programm A schliesse , beendet sich auch das per CreateProcess gestartete fremde Programm.

    Kann man das verhindern ? (das externe fremde Programm soll dabei nicht beendet werden)

    Danke für eventuelle Hilfe



  • Hallo,

    Hast du dir mal die Hilfe zu CreateProcess angeschaut, speziell die ganzen Parameter?
    http://msdn.microsoft.com/en-us/library/ms682425.aspx

    Evtl. kann man ja mit dwCreationFlags was machen.
    http://msdn.microsoft.com/en-us/library/ms684863.aspx

    Mehr Hilfe zu dieser Funktion wirst du aber im WinAPI-Forum bekommen.



  • Tach,

    also habe mir heut nochmals die ganze Sache reingezogen,
    ich habe dabei festgestellt das mein Problem gar net existiert.

    Das bedeutet also ein mit CreateProzess gestartetet Programm wird
    gar net automatisch beendet sobald die MainApplication dazu beendet wird.

    STARTUPINFO startupInfo = {0};
            startupInfo.cb = sizeof(startupInfo);
            PROCESS_INFORMATION processInformation;
            char *slProgr = "C:\\WINNT\\notepad.exe";
    
            CreateProcess(NULL , slProgr, NULL, NULL, false, NORMAL_PRIORITY_CLASS,
            NULL, ExtractFilePath(slProgr).c_str(), &startupInfo, &processInformation);
    

    Und warum sagt mir das keiner ?

    bis bald

    ~(jaja ich weiss is hier kein Winapi-Forum)~


Anmelden zum Antworten