<?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[CreateProcess]]></title><description><![CDATA[<p>Hi ho, ich habe ein problem je nach sicherheitseinstellung des Compilers hat mein programm Errors oder nicht. Auf dem höchsten level leider schon, mit folgender angabe:</p>
<pre><code>error C2664: 'CreateProcessA' : cannot convert parameter 9 from 'struct _STARTUPINFOW *' to 'struct _STARTUPINFOA *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
</code></pre>
<p>Mein source code sieht wiefolgt aus</p>
<pre><code>PROCESS_INFORMATION pi;
      STARTUPINFO si;

     [i]...(weiterer Programm Code...[/i]

     memset(&amp;si,0,sizeof(STARTUPINFO));
     memset(&amp;pi, 0, sizeof(PPROCESS_INFORMATION) );

    [i]...(weiterer Programm Code...[/i]

    CreateProcessA(NULL,
		(char*) cmdLine.c_str(),
		NULL,
		NULL,
		FALSE,
		NULL,
		NULL,
		NULL,
		&amp;si,
		&amp;pi ))
</code></pre>
<p>Wie werde ich den fehler los, was muss ich wo wie umschreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163628/createprocess</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 14:13:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163628.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 31 Oct 2006 15:46:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 15:46:51 GMT]]></title><description><![CDATA[<p>Hi ho, ich habe ein problem je nach sicherheitseinstellung des Compilers hat mein programm Errors oder nicht. Auf dem höchsten level leider schon, mit folgender angabe:</p>
<pre><code>error C2664: 'CreateProcessA' : cannot convert parameter 9 from 'struct _STARTUPINFOW *' to 'struct _STARTUPINFOA *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
</code></pre>
<p>Mein source code sieht wiefolgt aus</p>
<pre><code>PROCESS_INFORMATION pi;
      STARTUPINFO si;

     [i]...(weiterer Programm Code...[/i]

     memset(&amp;si,0,sizeof(STARTUPINFO));
     memset(&amp;pi, 0, sizeof(PPROCESS_INFORMATION) );

    [i]...(weiterer Programm Code...[/i]

    CreateProcessA(NULL,
		(char*) cmdLine.c_str(),
		NULL,
		NULL,
		FALSE,
		NULL,
		NULL,
		NULL,
		&amp;si,
		&amp;pi ))
</code></pre>
<p>Wie werde ich den fehler los, was muss ich wo wie umschreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165452</guid><dc:creator><![CDATA[Exitus222]]></dc:creator><pubDate>Tue, 31 Oct 2006 15:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 15:50:26 GMT]]></title><description><![CDATA[<p>Dein Compiler (vermute mal MV C++ Expr. Ed. 2005) verwendet UNICODE. Da du explizit CreateProcess<strong>A</strong> aufrufst gibt es Probleme.</p>
<p>1. Lösung:<br />
Du kannst die Benutzung der Funktion anpassen.</p>
<p>2. Lösung:<br />
Du hebst die UNICODE-Definition in den Compiler-Einstellungen auf.</p>
<p>Je nach Belieben :p ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165456</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 31 Oct 2006 15:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 15:55:31 GMT]]></title><description><![CDATA[<p>Hi CodeFinder,</p>
<p>Die zweite lösung ist leider nicht drin.</p>
<p>Aber die erste, &quot;Du kannst die Benutzung der Funktion anpassen&quot;..<br />
öhm und das würde wie genau aussehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Leider gibt mir noch eine weitere fehlermeldung in bezug auf eine andere zeile aus</p>
<pre><code>cannot convert parameter 1 from 'char [15]' to 'const unsigned short *'
</code></pre>
<p>für den Sourcecode:</p>
<pre><code>DeleteFile(&quot;save.conf&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1165465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165465</guid><dc:creator><![CDATA[Exitus222]]></dc:creator><pubDate>Tue, 31 Oct 2006 15:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 16:05:19 GMT]]></title><description><![CDATA[<p>Exitus222 schrieb:</p>
<blockquote>
<p>öhm und das würde wie genau aussehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Na So:</p>
<pre><code class="language-cpp">PROCESS_INFORMATION pi;
      STARTUPINFO si;

     ...(weiterer Programm Code...

     memset(&amp;si,0,sizeof(STARTUPINFO));
     memset(&amp;pi, 0, sizeof(PPROCESS_INFORMATION) );

    ...(weiterer Programm Code...

    CreateProcess(NULL,
		cmdLine.c_str(),
		NULL,
		NULL,
		FALSE,
		NULL,
		NULL,
		NULL,
		&amp;si,
		&amp;pi ));
</code></pre>
<p>Wichtig ist nur, das cmdLine jetzt ein std::wstring ist, kein std::string <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> .</p>
<p>Für jeglichen im Quelltext direkt eingesetzten Text, nimm einfach das Makro</p>
<pre><code class="language-cpp">TEXT(&quot;Ein String&quot;)
</code></pre>
<p>. <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>
<p>EDIT: So könnte man es IMHO auch machen:</p>
<pre><code class="language-cpp">PROCESS_INFORMATIONA pi;
      STARTUPINFOA si;

     ...(weiterer Programm Code...

     memset(&amp;si,0,sizeof(STARTUPINFOA));
     memset(&amp;pi, 0, sizeof(PPROCESS_INFORMATIONA) );

    ...(weiterer Programm Code...

    CreateProcessA(NULL,
		cmdLine.c_str(),
		NULL,
		NULL,
		FALSE,
		NULL,
		NULL,
		NULL,
		&amp;si,
		&amp;pi ));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1165473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165473</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 31 Oct 2006 16:05:19 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 18:22:04 GMT]]></title><description><![CDATA[<p>bei CreateProcessW muss der cmdline String beschreibbar sein. Das ist er mit c_str() von std::wstring nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165627</guid><dc:creator><![CDATA[:warning:]]></dc:creator><pubDate>Tue, 31 Oct 2006 18:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 19:03:24 GMT]]></title><description><![CDATA[<blockquote>
<p>bei CreateProcessW muss der cmdline String beschreibbar sein. Das ist er mit c_str() von std::wstring nicht.</p>
</blockquote>
<p>Wobei wir wieder bei dem Punkt sind wo std::auto_array&lt;T&gt; fehlt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165659</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 31 Oct 2006 19:03:24 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 19:08:15 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>bei CreateProcessW muss der cmdline String beschreibbar sein. Das ist er mit c_str() von std::wstring nicht.</p>
</blockquote>
<p>Wobei wir wieder bei dem Punkt sind wo std::auto_array&lt;T&gt; fehlt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>vector tuts doch auch?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165666</guid><dc:creator><![CDATA[std]]></dc:creator><pubDate>Tue, 31 Oct 2006 19:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 19:12:19 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> schrieb:</p>
<blockquote>
<p>bei CreateProcessW muss der cmdline String beschreibbar sein. Das ist er mit c_str() von std::wstring nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
</blockquote>
<p>Hm jo kann sein, bin mal von korrekter Verwendung der Funktion ausgegangen ...</p>
<p>@OP: Du darfst niemals das const eines c_str()-Return-Werte weg-casten!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13960">@hustbaer</a>:<br />
Ne der Punkt fehlt irgend wie nicht, lol.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165672</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 31 Oct 2006 19:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 19:27:08 GMT]]></title><description><![CDATA[<p>Ja, OK, vector tuts in dem Fall auch. Trotzdem fehlt std::auto_array, und sei es nur aus Symmetriegründen.<br />
Hätte das schon hin und wieder gebraucht wo ich Ownerschip an einen raw pointer übergeben hätte müssen, und das geht mit std::vector dann wieder nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165698</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 31 Oct 2006 19:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 20:44:06 GMT]]></title><description><![CDATA[<blockquote>
<p>@OP: Du darfst niemals das const eines c_str()-Return-Werte weg-casten!</p>
</blockquote>
<p>Die Aussage stimmt nicht. Natürlich darf man das. Nur den String ändern darf man nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165750</guid><dc:creator><![CDATA[OP]]></dc:creator><pubDate>Tue, 31 Oct 2006 20:44:06 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 20:51:39 GMT]]></title><description><![CDATA[<p>@OP: Man darf <strong>keinen</strong> const string an den zweiten Parameter von CreateProcess übergeben. Das mag noch in der ANSI-Funktion gut gehen, da hier intern dieser Parameter nach Unicode umgewandelt wird und dann einen beschreibbaren String übergeben wird, aber mit der Unicode-Variante (CreateProcessW), geht es schief und erzeugt eine Access-Violation!</p>
<p>[Angeb-An]</p>
<p>Woher ich das so genau weis:<br />
1. Ich hab Zugriff auf den Source-Code<br />
2. Ich hab die Änderung in der MSDN-Doku veranlasst (jetzt wird &quot;_tcsdup&quot; verwendet und nicht mehr direkt der TEXT übergeben... <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="😉"
    /> )<br />
Siehe:<br />
<a href="http://msdn.microsoft.com/library/en-us/dllproc/base/createprocess.asp" rel="nofollow">http://msdn.microsoft.com/library/en-us/dllproc/base/createprocess.asp</a><br />
(kannst Du gern vergleichen mit einer älteren MSDN-Library)</p>
<p>[Angeb-Aus]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165752</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 31 Oct 2006 20:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 20:55:56 GMT]]></title><description><![CDATA[<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</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165760</guid><dc:creator><![CDATA[so ein angeber]]></dc:creator><pubDate>Tue, 31 Oct 2006 20:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 21:06:44 GMT]]></title><description><![CDATA[<p>so ein angeber schrieb:</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</p>
</blockquote>
<p>Ja, ich gebs zu, war etwas übertrieben... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165771</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 31 Oct 2006 21:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Tue, 31 Oct 2006 21:10:41 GMT]]></title><description><![CDATA[<blockquote>
<p>Das mag noch in der ANSI-Funktion gut gehen, da hier intern dieser Parameter nach Unicode umgewandelt wird und dann einen beschreibbaren String übergeben wird, aber mit der Unicode-Variante (CreateProcessW), geht es schief und erzeugt eine Access-Violation!</p>
</blockquote>
<p>Wie ist das denn unter Windows 95/98 wo es kein CreateProcessW gibt? Muss da auch für CreateProcessA der String beschreibbar sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165775</guid><dc:creator><![CDATA[kein angeber]]></dc:creator><pubDate>Tue, 31 Oct 2006 21:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Wed, 01 Nov 2006 07:20:04 GMT]]></title><description><![CDATA[<p>Du musst es einfach probieren... ich vermute mal, dass hier Win9x toleranter war..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165903</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 01 Nov 2006 07:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Mon, 06 Nov 2006 06:14:44 GMT]]></title><description><![CDATA[<p>Vielen Dank für die vielen Antworten.<br />
Ich muss auch dazu sagen das Programmieren nicht so meine stärke ist. Daher vielen dank für euere Hilfe.</p>
<p>Codfinder du hast geschrieben es würde auch gehen mit</p>
<pre><code>PROCESS_INFORMATIONA pi; 
      STARTUPINFOA si;
</code></pre>
<p>Welche includes brauche ich dafür damit er mir das erkennt? In der MSDN lib. fand ich nichts zu PROCESS_INFORMATIONA genauso zu STARTUPINFOA ohne &quot;A&quot; ja aber nicht mit...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169339</guid><dc:creator><![CDATA[Exitus2222]]></dc:creator><pubDate>Mon, 06 Nov 2006 06:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to CreateProcess on Mon, 06 Nov 2006 07:38:09 GMT]]></title><description><![CDATA[<p>Ah okay bei STARTUPINFOA wird _STARTUPINFOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169342</guid><dc:creator><![CDATA[Exitus222]]></dc:creator><pubDate>Mon, 06 Nov 2006 07:38:09 GMT</pubDate></item></channel></rss>