Ermitteln welcher Button in externer Anwendung gedrückt wurde



  • Hi,

    ich starte in meiner Anwendung nen Prozess, in dem dann eine Installation gestartet wird:

    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    
    ZeroMemory(&si, sizeof(si));
    ZeroMemory(&pi, sizeof(pi));
    si.cb=sizeof(si);
    
    if (!CreateProcessW(L"..\\Items\\sitekiosk7.exe", NULL, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
    {
        DWORD error = GetLastError();
        return false;
    }
    WaitForSingleObject(pi.hProcess, INFINITE);
    GetExitCodeProcess(pi.hProcess, &dwExitCode);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    

    Wenn man diese exe startet, dann kommt da "Wählen Sie eine Setup-Sprache aus" und dann klickt man da auf OK (Installation wird gestartet) oder Abbrechen (wird eben beendet).
    Ich will nun ermitteln, welchen Button der Benutzer geklickt hat und entsprechend darauf reagieren.

    Ist das irgendwie möglich ?? 😕
    Der Spaß mit GetExitCodeProcess ist eig. Blödsinn, da der Prozess ja sowieso (unabhängig welcher Button gedrückt wurde) erfolgreich beendet wird (= 0).

    Bin dankbar für Hilfe !


  • Mod

    Und warum verwendest Du in der exe nicht den Exitcode um das das Ergebnis mitzuteilen?



  • Ich hoffe ich hab das jetzt verstanden:
    Die exe da ist ein Installationsfile, wurde nicht von mir erstellt, habe ich mir von der Hersteller-Page gezogen (http://www.provisio.de/en-US/Downloads/Default.aspx?MGroup=1).

    Kann leider nicht daran rumschrauben...


  • Mod

    Dann würdeich nachsehen ob in der Registry in der Installer-Section der entsprechende Eintrag erfolgt ist. Wenn nicht ist das Setup nicht durchgelaufen...



  • Ok, hat sich geklärt, habe wieder zu kompliziert gedacht:

    Hatte mir schon vorher eine Funktion gebastelt, mit der ich nach dem Registry-Key des Programms suchen kann.
    Diese rufe ich einfach nach dem Schließen des Handles (Installation zu Ende oder abgebrochen) nochmal auf und sehe ja dann, ob der Key nun vorhanden ist oder nicht.

    Aber danke für die Hilfe, dein Beitrag hat mich ja erst draufgebracht ! 👍


Anmelden zum Antworten