<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Feststellen wenn ein Programm(Prozess) beendet wurde]]></title><description><![CDATA[<p>Ich muss aus meinem Programm ein anderes Programm starten, und wenn es wieder beendet wurde entsprechend reagieren. Gibt es einen besseren Weg als einfach die ganzen Fenster abzusuchen bzw. mit CreateToolhelp32Snapshot() die Prozesse???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/114391/feststellen-wenn-ein-programm-prozess-beendet-wurde</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 00:41:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/114391.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Jul 2005 17:47:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 17:47:41 GMT]]></title><description><![CDATA[<p>Ich muss aus meinem Programm ein anderes Programm starten, und wenn es wieder beendet wurde entsprechend reagieren. Gibt es einen besseren Weg als einfach die ganzen Fenster abzusuchen bzw. mit CreateToolhelp32Snapshot() die Prozesse???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/822913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/822913</guid><dc:creator><![CDATA[JokerXXL]]></dc:creator><pubDate>Sun, 03 Jul 2005 17:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 18:17:26 GMT]]></title><description><![CDATA[<p>ShellExecuteEx, WaitForSingleObject</p>
]]></description><link>https://www.c-plusplus.net/forum/post/822940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/822940</guid><dc:creator><![CDATA[,,,,,,]]></dc:creator><pubDate>Sun, 03 Jul 2005 18:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 18:57:08 GMT]]></title><description><![CDATA[<p>Versuchs mal mit dieser Funktion unter Windows</p>
<pre><code class="language-cpp">/***********************************************************************.FA*
 .FUNCTION [ spawning to an external Programm ]
--------------------------------------------------------------------------
 .DESCRIPTION
        Aufrufen eines externen eigenständigen Programms ohne dass eine
        DosBox erscheint
--------------------------------------------------------------------------
 .PARAMETER
  IN    char *Appname    Name des programms welches gestartet werden soll
        char *Cmdline    Übergabeparameter des Programms
--------------------------------------------------------------------------
 .RETURNVALUE
 dwexitcode Exit code des Processes
**********************************************************************.HE**/
unsigned long int SpawnWaitNoWindow(char *AppName,char *CmdLine)
{
    TCHAR szCmdLine[LONGSTRINGLEN];
    PROCESS_INFORMATION pi;
    STARTUPINFO si={sizeof(si)};  // da der erste Parameter gefüllt wird werden zumindest ab Visual C 5.0 alle anderen genullt
    unsigned long int dwExitCode;
    BOOL fSucess;
    sprintf(szCmdLine,&quot;%s %s&quot;,AppName,CmdLine);
    fSucess=CreateProcess(AppName,szCmdLine,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&amp;si ,&amp;pi);
    if (fSucess)
    {
        CloseHandle(pi.hThread);
        WaitForSingleObject(pi.hProcess,INFINITE);
        GetExitCodeProcess(pi.hProcess,&amp;dwExitCode);
        CloseHandle(pi.hProcess);
    }
    else
    {
        dwExitCode=0xFFFFFFFFL;
    }
return dwExitCode;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/822983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/822983</guid><dc:creator><![CDATA[PAD]]></dc:creator><pubDate>Sun, 03 Jul 2005 18:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 19:46:54 GMT]]></title><description><![CDATA[<p>und wenn du's non-blocking willst, dann kannste periodisch mit GetExitcodeProcess() pollen ob der prozess noch am leben ist (returns: STILL_ACTIVE wenn er noch läuft)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/823030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/823030</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Sun, 03 Jul 2005 19:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 19:53:15 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>und wenn du's non-blocking willst, dann kannste periodisch mit GetExitcodeProcess() pollen ob der prozess noch am leben ist (returns: STILL_ACTIVE wenn er noch läuft)</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/823036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/823036</guid><dc:creator><![CDATA[anti-poll]]></dc:creator><pubDate>Sun, 03 Jul 2005 19:53:15 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 21:00:57 GMT]]></title><description><![CDATA[<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/823091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/823091</guid><dc:creator><![CDATA[JokerXXL]]></dc:creator><pubDate>Sun, 03 Jul 2005 21:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 21:09:13 GMT]]></title><description><![CDATA[<p>Alternative für non Blocking wäre auch ein eigener thread.</p>
<p>Ein Hinweis diese Funktion is für einen speziellen Einsatzzweck in unsere Tool-Bibliothek bekommen, aber das sagt ja der Name</p>
<p>SpawnWaitNoWindow</p>
<p>Starte externes Programm mit Kommandozeilenoptionen<br />
Warte bis das Programm beendet wird, und liefere den ReturnCode des Programms<br />
Mache keine KonsolenFenster für das Programm auf</p>
<p>Der ReturnCode ist wichtig, weil wir daran erkennen ob das externe Programm erfolgreich war oder nicht. Das geht aber nur dann wenn das Programm korrekt als C/C++ mit *<em>int main( int argc , char <em>argv[])</em></em> geschrieben wurde. Sonst funktionieren weder Kommandozeilenparameter noch Fehlermeldung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/823094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/823094</guid><dc:creator><![CDATA[PAD]]></dc:creator><pubDate>Sun, 03 Jul 2005 21:09:13 GMT</pubDate></item><item><title><![CDATA[Reply to Feststellen wenn ein Programm(Prozess) beendet wurde on Sun, 03 Jul 2005 21:17:57 GMT]]></title><description><![CDATA[<p>PAD schrieb:</p>
<blockquote>
<p>Der ReturnCode ist wichtig, weil wir daran erkennen ob das externe Programm erfolgreich war oder nicht.</p>
</blockquote>
<p>dumm ist nur, wenn das programm 0xFFFFFFFFL als return code zurück gibt.<br />
besser wäre</p>
<pre><code class="language-cpp">bool SpawnWaitNoWindow(char *AppName,char *CmdLine, unsigned long *ReturnCode)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/823095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/823095</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Sun, 03 Jul 2005 21:17:57 GMT</pubDate></item></channel></rss>