Prozessproblem...



  • lpProcessInformation
    [out] Pointer to a PROCESS_INFORMATION structure that receives identification information about the new process.
    Handles in PROCESS_INFORMATION must be closed with CloseHandle when they are no longer needed.

    Die Message-Loop ist so wie (zu Beginn) gepostet irgendwie sinnlos, denn wenn keine Messages da sind liefert PeekMessage gleich zu Beginn 0 zurück und die while-Schleife wird verlassen. Versuch es mal so (ungetestet):

    MSG message;
    while(WaitForSingleObject(pi.hProcess, 10) == WAIT_TIMEOUT) // ich denke, dass der Wert 0 nur unnötig die CPU-Last erhöht - evtl. sogar noch größer als 10 wählen
    {
        if(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
        {
            TranslateMessage(&message);
            DispatchMessage(&message);
        }
    }
    // nochmals checken, ob der Prozess auch wirklich beendet wurde (es kann ja auch ein Fehler gegeben haben)
    if(WaitForSingleObject(pi.hProcess, 0) == WAIT_OBJECT_0)
    {
        DWORD dwCode;
        GetExitCodeProcess(pi.hProcess,&dwCode);
        sprintf(text, "%d", dwCode);
    }
    


  • @flenders
    Hey super, es funktioniert!!!! 🙂 vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen Dank!

    Grüsse,
    ~cp code_pilot


Anmelden zum Antworten