Shellexecute auf Thread warten



  • Hello!

    In einer Funktion wir ein Unterprogramm mit ShellExecute aufgerufen:

    ShellExecute(NULL, "open", "unterprogramm.exe", tmp, NULL, SW_SHOW);

    Wie kann ich jetzt dem Hauptprogramm sagen, das er mit der weiterverarbeitung solange warten soll, bis das unterprogramm fertig ist?

    Danke schonmal

    google



  • hola

    erstens gehoert das thema nicht nach C++, zweitens geht das glaub ich mit ShellExecute nicht.
    dafuer muesstest du den process mit CreateProcess starten. dann geht es.
    steht in dem winapi sdk schoen beschrieben.

    Meep Meep



  • Das sagt die MSDN dazu

    ShellExecute Function returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an int and compare it with the value 32 or one of the error codes below.

    man kriegt als rueckgabewert nur einen FehlerCode und nicht die Prozess ID die man benoetigt um den Prozess abzufrgaen.

    und hier hast dun ein Beispiel fuer CreateProcess womit du warten kannst bis deine Anwendung sich beendet hat.



  • ShellExecuteEx reicht dafür auch schon.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten