<?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[[Gelöst] Externes Programm öffnen und Parameter übergeben]]></title><description><![CDATA[<p>Hallöchen,</p>
<p>ich möchte ein anderes Programm öffnen und dabei einen Parameter übergeben.</p>
<p>Programm Authentifizierung.exe</p>
<pre><code>int main(int argc, char * argv[])
{
	cout &lt;&lt; argc;
	char Passwort[] = &quot;4&quot;;

	if(!strcmp(argv[1], Passwort))
	{
		cout &lt;&lt; &quot;0&quot; &lt;&lt; endl;
	} else {
		cout &lt;&lt; &quot;1&quot; &lt;&lt; endl;
	}

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>Wenn man dieses Programm jetzt über die CMD aufruft (Authentifizierung.exe 1) dann gibt es 1 zurück, wenn man das richtige Passwort nutzt 0.</p>
<p>Nun möchte ich dieses geschriebene Programm mit einem anderen Programm öffnen. Das sieht aktuell so aus.</p>
<pre><code>STARTUPINFOA si;
	PROCESS_INFORMATION pi;

	ZeroMemory( &amp;si, sizeof(si) );
	si.cb = sizeof(si);
	ZeroMemory( &amp;pi, sizeof(pi) );
	if (!CreateProcessA(&quot;C:\\Users\\Justin\\Documents\\visual studio 2012\\Projects\\Authentifizierung\\Debug\\Authentifizierung.exe&quot;, &quot;4&quot;, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, NULL, &amp;si, &amp;pi))
		{
			cout &lt;&lt; &quot;Unable to execute.&quot;;
		}

}
</code></pre>
<p>Das führt jedoch immer dazu, dass das &quot;Programm funktioniert nicht mehr&quot;</p>
<p>Über Hilfe würde ich mich sehr freuen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/333949/gelöst-externes-programm-öffnen-und-parameter-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 08:58:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/333949.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Aug 2015 19:39:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Gelöst] Externes Programm öffnen und Parameter übergeben on Thu, 13 Aug 2015 00:06:02 GMT]]></title><description><![CDATA[<p>Hallöchen,</p>
<p>ich möchte ein anderes Programm öffnen und dabei einen Parameter übergeben.</p>
<p>Programm Authentifizierung.exe</p>
<pre><code>int main(int argc, char * argv[])
{
	cout &lt;&lt; argc;
	char Passwort[] = &quot;4&quot;;

	if(!strcmp(argv[1], Passwort))
	{
		cout &lt;&lt; &quot;0&quot; &lt;&lt; endl;
	} else {
		cout &lt;&lt; &quot;1&quot; &lt;&lt; endl;
	}

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>Wenn man dieses Programm jetzt über die CMD aufruft (Authentifizierung.exe 1) dann gibt es 1 zurück, wenn man das richtige Passwort nutzt 0.</p>
<p>Nun möchte ich dieses geschriebene Programm mit einem anderen Programm öffnen. Das sieht aktuell so aus.</p>
<pre><code>STARTUPINFOA si;
	PROCESS_INFORMATION pi;

	ZeroMemory( &amp;si, sizeof(si) );
	si.cb = sizeof(si);
	ZeroMemory( &amp;pi, sizeof(pi) );
	if (!CreateProcessA(&quot;C:\\Users\\Justin\\Documents\\visual studio 2012\\Projects\\Authentifizierung\\Debug\\Authentifizierung.exe&quot;, &quot;4&quot;, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, NULL, &amp;si, &amp;pi))
		{
			cout &lt;&lt; &quot;Unable to execute.&quot;;
		}

}
</code></pre>
<p>Das führt jedoch immer dazu, dass das &quot;Programm funktioniert nicht mehr&quot;</p>
<p>Über Hilfe würde ich mich sehr freuen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463618</guid><dc:creator><![CDATA[Nirndor]]></dc:creator><pubDate>Thu, 13 Aug 2015 00:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] Externes Programm öffnen und Parameter übergeben on Wed, 12 Aug 2015 19:48:22 GMT]]></title><description><![CDATA[<p>Nirndor schrieb:</p>
<blockquote>
<p>Wenn man dieses Programm jetzt über die CMD aufruft (Authentifizierung.exe 1) dann gibt es 1 zurück, wenn man das richtige Passwort nutzt 0.</p>
</blockquote>
<p>Kleiner, aber wichtiger Unterschied: Dein Programm gibt &quot;0&quot; oder &quot;1&quot; <strong>aus</strong>, aber es gibt immer 0 <strong>zurück</strong>. Das ist, was das return 0; in Zeile 14 macht. Ausgabe und Rückgabe eines Programms sind ganz unterschiedliche Dinge.</p>
<blockquote>
<p>Das führt jedoch immer dazu, dass das &quot;Programm funktioniert nicht mehr&quot;</p>
</blockquote>
<p>Dann wirst du wohl einen Fehler gemacht haben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> . Kannst du ein <a href="https://www.c-plusplus.net/forum/304133">minimales, compilierbares Beispiel</a> produzieren? Vielleicht (sogar wahrscheinlich) liegt es gar nicht direkt an deinem CreateProcessA, sondern da dran, dass du irgendwas bei deinem Pointergefrickel falsch gemacht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463619</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Aug 2015 19:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] Externes Programm öffnen und Parameter übergeben on Wed, 12 Aug 2015 22:19:24 GMT]]></title><description><![CDATA[<p>Ja das ist natürlich klar, dass er 0 zurück gibt. Ich meinte als Nachricht gibt er diese Nachricht zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Dieses Programm führst du aus, und das soll das Authentifizierungs-Programm öffnen und den Parameter 4 übergeben. Wenn das funktionieren würde, dann müsste sich das Programm Authentifizierung öffnen, wo dann eine 0 als Nachricht geschrieben wird.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;Windows.h&gt;
#include &lt;string&gt;

using namespace std;

void test()
{
	STARTUPINFOA si;
	PROCESS_INFORMATION pi;

	ZeroMemory( &amp;si, sizeof(si) );
	si.cb = sizeof(si);
	ZeroMemory( &amp;pi, sizeof(pi) );
	if (!CreateProcessA(&quot;C:\\Users\\Justin\\Documents\\visual studio 2012\\Projects\\Authentifizierung\\Debug\\Authentifizierung.exe&quot;, &quot;4&quot;, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, NULL, &amp;si, &amp;pi))
		{
			cout &lt;&lt; &quot;Unable to execute.&quot;;
		}

}

int main()
{
	test();
	system(&quot;pause&quot;);
	return 0;

}
</code></pre>
<p>Das ist das Authentifizierungs-Programm</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

int main(int argc, char * argv[])
{

	cout &lt;&lt; argc;

	char Passwort[] = &quot;4&quot;;

	if(!strcmp(argv[1], Passwort))
	{
		cout &lt;&lt; &quot;0&quot; &lt;&lt; endl;
	} else {
		cout &lt;&lt; &quot;1&quot; &lt;&lt; endl;
	}

	system(&quot;pause&quot;);
	return 0;

}
</code></pre>
<p>Vielen Dank für die Hilfe</p>
<p>EDIT:</p>
<p>Habe es nun wiefolgt einfacher gelöst...</p>
<p>string pfad = &quot;C:\\Authentifizierung.exe &quot;;</p>
<p>for (int i = 0; i &lt;= 5; i++)<br />
{<br />
string Zahl = to_string(i);<br />
string Ende = pfad + Zahl ;<br />
system(Ende.c_str());<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463620</guid><dc:creator><![CDATA[Nirndor]]></dc:creator><pubDate>Wed, 12 Aug 2015 22:19:24 GMT</pubDate></item></channel></rss>