Programm nach durchlauf. Beenden?



  • Hy,

    wie kann ich feststellen ob ein Programm das von mir gestartet wurde
    (ShellExecute) Fertig ist und es beenden.

    Beispiel:

    Ich starte ein Programm z.B. einen Reg.Scanner und dieser giebt am ende eine
    Meldung aus. Diese Meldung kann ich nicht automatisch mit Parameter beenden lassen.
    Wenn Jetzt aber diese Meldung kommt möchte ich das Programm Beenden.
    Nur Wie???

    Danke für Antworten.

    MFG

    RS



  • SHELLEXECUTEINFO sei;
    sei.cbSize = sizeof (sei) ;
    sei.fMask = SEE_MASK_NOCLOSEPROCESS ;
    sei.nShow = SW_SHOW ;
    sei.lpFile = "test.exe" ;
    ShellExecuteEx (&sei) ;
    if (sei.hProcess){
    WaitForSingleObject (sei.hProcess, INFINITE) ;
    /* dein code
    .
    . */
    CloseHandle (sei.hProcess) ;
    }



  • Ich habe es ausprobiert, aber es will nicht funktionieren.

    Code:

    SHELLEXECUTEINFO sei;
    sei.cbSize = sizeof (sei) ;
    sei.fMask = SEE_MASK_NOCLOSEPROCESS ;
    sei.nShow = SW_SHOW ;
    sei.lpFile = "NewSID.exe" ;
    ShellExecuteEx (&sei) ;
    if (sei.hProcess){
    WaitForSingleObject (sei.hProcess, INFINITE) ;
    /* dein code
    */
    CloseHandle (sei.hProcess) ;
    }
    

    Ich bekomme immer einen Fehler in der Kernel32.dll.


Anmelden zum Antworten