<?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[Hilfe zur Scripten]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich bastle schon seit einiger zeit an einem Programm zum Codieren von Videos. Das Codieren realisiere ich einfacheitshalber über ein Script von Windows Media Encoder.</p>
<p>Ich benutze volgenden Code:</p>
<pre><code class="language-cpp">WinExec(&quot;cmd.exe /c cscript.exe C:\\WINDOWS\\system32\\wmcmd.vbs -input e:\\-=Photos=-\\PIC_0055.AVI -output c:\\meinedatei.wmv &quot;,SW_SHOW);
</code></pre>
<p>Meine Fragen dazu:</p>
<p>Wie kann ich feststellen wann das Script mit Codierung fertig ist, bzw. gibt die Funktion irgendein Wert zurück wenn es fertig ist?</p>
<p>Wie lass ich mehrere Scripten nach einander ausführen. (Die Dos-Fenster springen alle gleichzeitig auf)?</p>
<p>und schließlich</p>
<p>wie kann man das ganze im Hintergrund ablaufen lassen(das Dos-Fenster soll nicht aufgehen)?</p>
<p>Würde mich über Hilfe sehr freuen.</p>
<p>Gruß Salfador</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/56249/hilfe-zur-scripten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 05:32:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/56249.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Nov 2003 19:58:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe zur Scripten on Sun, 23 Nov 2003 19:58:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich bastle schon seit einiger zeit an einem Programm zum Codieren von Videos. Das Codieren realisiere ich einfacheitshalber über ein Script von Windows Media Encoder.</p>
<p>Ich benutze volgenden Code:</p>
<pre><code class="language-cpp">WinExec(&quot;cmd.exe /c cscript.exe C:\\WINDOWS\\system32\\wmcmd.vbs -input e:\\-=Photos=-\\PIC_0055.AVI -output c:\\meinedatei.wmv &quot;,SW_SHOW);
</code></pre>
<p>Meine Fragen dazu:</p>
<p>Wie kann ich feststellen wann das Script mit Codierung fertig ist, bzw. gibt die Funktion irgendein Wert zurück wenn es fertig ist?</p>
<p>Wie lass ich mehrere Scripten nach einander ausführen. (Die Dos-Fenster springen alle gleichzeitig auf)?</p>
<p>und schließlich</p>
<p>wie kann man das ganze im Hintergrund ablaufen lassen(das Dos-Fenster soll nicht aufgehen)?</p>
<p>Würde mich über Hilfe sehr freuen.</p>
<p>Gruß Salfador</p>
]]></description><link>https://www.c-plusplus.net/forum/post/400934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/400934</guid><dc:creator><![CDATA[Salfador]]></dc:creator><pubDate>Sun, 23 Nov 2003 19:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe zur Scripten on Sun, 23 Nov 2003 20:43:38 GMT]]></title><description><![CDATA[<p>Salfador schrieb:</p>
<blockquote>
<p>Meine Fragen dazu:</p>
<p>Wie kann ich feststellen wann das Script mit Codierung fertig ist, bzw. gibt die Funktion irgendein Wert zurück wenn es fertig ist?</p>
<p>Wie lass ich mehrere Scripten nach einander ausführen. (Die Dos-Fenster springen alle gleichzeitig auf)?</p>
</blockquote>
<p>eine direkte möglichkeit gibt es nicht, denn WinExec+SW_SHOW ist dann fertig, wenn das programm cmd.exe aufgerufen wurde.<br />
mir fallen nur unsaubere lösungen für dieses problem ein.</p>
<p>Salfador schrieb:</p>
<blockquote>
<p>und schließlich</p>
<p>wie kann man das ganze im Hintergrund ablaufen lassen(das Dos-Fenster soll nicht aufgehen)?</p>
</blockquote>
<p>wenn du den cmd interpreter startest, dann wird er auch geladen. es ist nun mal eine konsolenanwendung.<br />
habe gerade noch mal in der msdn nachgelesen. vielleicht bin ich zu müde, aber da steht auch keine wahre lösung drin.<br />
einen anderen int nCmdShow flag als SW_SHOW zu setzen löst dein problem nicht. kannst höchstens versuchen auf CreateProcess (s. MSDN) anstatt auf WinExec zuzugreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/400949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/400949</guid><dc:creator><![CDATA[alex-t]]></dc:creator><pubDate>Sun, 23 Nov 2003 20:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe zur Scripten on Sun, 23 Nov 2003 22:19:43 GMT]]></title><description><![CDATA[<p>Danke für den Tip mit CreateProzess. Die erstem beiden fragen haben sich somit erledigt. Nur wie ich es im Hintergrund laufen lassen kann weis ich nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/401000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401000</guid><dc:creator><![CDATA[Salfador]]></dc:creator><pubDate>Sun, 23 Nov 2003 22:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe zur Scripten on Sun, 23 Nov 2003 22:35:12 GMT]]></title><description><![CDATA[<p>...CreateProcess ist Dein Freund.</p>
<p>Mit ShellExecute hättest Du noch die Möglichkeit mit Parameter SW_HIDE die Anwendung unsichtbar ablaufen zu lassen, aber auch ShellExecute kehrt sofort zurück. Es gibt glaube ich noch ShellExecuteEx, da musst Du mal im MSDN nachsehen.</p>
<p>Die beste Möglichkeit ist jedoch CreateProcess.<br />
Dort hast Du mit einem Process- u. Threadhandle die Möglichkeit auf den neuen Prozess zuzugreifen und zu warten:</p>
<pre><code>STARTUPINFO si;
	PROCESS_INFORMATION pi;
	DWORD dwExitCode = -1;
	TCHAR cPath[MAX_PATH];
	memset(&amp;si, 0, sizeof(si));
	si.cb = sizeof(si);
	memset(&amp;pi, 0, sizeof(pi));
	lstrcpy(cPath, pstrCmdLine);
	BOOL bSuccess = CreateProcess(NULL, cPath, NULL, NULL, FALSE, 
			CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS, NULL, pstrCurrDir, &amp;si, &amp;pi);
	if (bSuccess)
	{
		if (!CloseHandle(pi.hThread))
			return FALSE;
		switch(WaitForSingleObject(pi.hProcess, dwWaitSeconds * 1000))
		{
			case WAIT_OBJECT_0:
				bSuccess = GetExitCodeProcess(pi.hProcess, &amp;dwExitCode);
				break;
			case WAIT_TIMEOUT:
				break;
			default:
				break;
		}
		if (bSuccess)
			bSuccess = CloseHandle(pi.hProcess);
		else
			CloseHandle(pi.hProcess);
	}
	return bSuccess &amp;&amp; !dwExitCode;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/401010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/401010</guid><dc:creator><![CDATA[JensX]]></dc:creator><pubDate>Sun, 23 Nov 2003 22:35:12 GMT</pubDate></item></channel></rss>