Programm starten / beenden und überprüfung ob es noch läuft



  • Hallo,
    ich hoffe es weiß irgendjemand rat komme leider nicht mehr weiter. (Hab schon diverse Foren durchsucht leider ohne Ergebnis...)
    Bei meinem Programm geht es darum ein externes Programm zu starten und das dann aber wieder beenden (starten funktioniert nur leider das Beenden nicht)
    Aja: Weißt jemand noch zufällig wie ich abfragen kann ob mein Programm noch läuft - da ich dann ein anderen starten will.

    zweck: eine Powerpoint präsentation starten/beenden...

    Danke

    hier der Code:

    #include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    BOOL CreateProcess(
        LPCTSTR               lpApplicationName,      // name of executable module
        LPTSTR                lpCommandLine,          // command line string
        LPSECURITY_ATTRIBUTES lpProcessAttributes,    // SD
        LPSECURITY_ATTRIBUTES lpThreadAttributes,     // SD
        BOOL                  fInheritHandles,        // handle inheritance option
        DWORD                 dwCreationFlags,        // creation flags
        LPVOID                lpEnvironment,          // new envirnment block
        LPCTSTR               lpCurrentDirectory,     // current directory name
        LPSTARTUPINFO         lpStartupInfo,          // startup information
        LPPROCESS_INFORMATION lpProcessInformation    // process information
    );
    
    int main()
    {
    
    STARTUPINFO          si = { sizeof(si) };
    PROCESS_INFORMATION  pi;
    char                 szExe[] = "putty.exe";
    
    if(CreateProcess(0, szExe, 0, 0, FALSE, 0, 0, 0, &si, &pi))
    {
       // optionally wait for process to finish
       WaitForSingleObject(pi.hProcess, INFINITE);
    
     Sleep(1000);
    
    DWORD dwExitCode;
    TerminateProcess(pi.hProcess, dwExitCode);  
    
    //   TerminateProcess(pi.hProcess,0);
       CloseHandle(pi.hProcess);
       CloseHandle(pi.hThread);
    
    }
    
    }
    


  • Hoelli2007 schrieb:

    Bei meinem Programm geht es darum ein externes Programm zu starten und das dann aber wieder beenden (starten funktioniert nur leider das Beenden nicht)

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39369.html

    Hoelli2007 schrieb:

    Aja: Weißt jemand noch zufällig wie ich abfragen kann ob mein Programm noch läuft - da ich dann ein anderen starten will.

    Du willst in deinem Programm abfragen, ob es selbst noch läuft?! 😕



  • ich denke mal er meint das programm was er extern gestartet hat



  • Hab es jetzt mit dem programm vom anderem Post geschafft das Programm zu beenden.
    (Obwohl er meine MEssageboxen nicht kennt?? - hab sie jetzt mal ausgeklammert)

    Ja genau ich möchte den Status mein externes Programm wissen geht das Über di PID?



  • Hoelli2007 schrieb:

    (...) ich möchte den Status mein externes Programm wissen (...)

    GetExitCodeProcess ()



  • Hoelli2007 schrieb:

    TerminateProcess(pi.hProcess, dwExitCode);
    

    👎


Anmelden zum Antworten