<?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[[C++] Problem mit Registry Funktion]]></title><description><![CDATA[<p>Moin,<br />
folgendes Problem, ich habe in meinem Programm folgende Funktion verwendet</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;windows.h&quot;

...

void autostart()
{
	HKEY hkey;
	HKEY KEY = HKEY_LOCAL_MACHINE;
	char place[55]= {&quot;Software\\Microsoft\\Windows\\CurrentVersion\\Run&quot;};
	char name[15]= {&quot;Autostart&quot;};
	char value[35]= {&quot;C:\\Windows\\System\\wminst.bat&quot;};

	RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&amp;hkey); 
	RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value));
	RegCloseKey(hkey);

	fflush (stdin);
	getchar();
}
</code></pre>
<p>Das Problem dabei liegt nur leider darin, dass ich folgenden Fehler ausgegeben bekomme.</p>
<pre><code>error C2664: 'RegSetValueExW': Konvertierung des Parameters 2 von 'char [100]' in 'LPCWSTR' nicht möglich
</code></pre>
<p>Woran liegt das, und wie kann ich das beheben</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179366/c-problem-mit-registry-funktion</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 16:04:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179366.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Apr 2007 20:40:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Fri, 20 Apr 2007 20:40:56 GMT]]></title><description><![CDATA[<p>Moin,<br />
folgendes Problem, ich habe in meinem Programm folgende Funktion verwendet</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;windows.h&quot;

...

void autostart()
{
	HKEY hkey;
	HKEY KEY = HKEY_LOCAL_MACHINE;
	char place[55]= {&quot;Software\\Microsoft\\Windows\\CurrentVersion\\Run&quot;};
	char name[15]= {&quot;Autostart&quot;};
	char value[35]= {&quot;C:\\Windows\\System\\wminst.bat&quot;};

	RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&amp;hkey); 
	RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value));
	RegCloseKey(hkey);

	fflush (stdin);
	getchar();
}
</code></pre>
<p>Das Problem dabei liegt nur leider darin, dass ich folgenden Fehler ausgegeben bekomme.</p>
<pre><code>error C2664: 'RegSetValueExW': Konvertierung des Parameters 2 von 'char [100]' in 'LPCWSTR' nicht möglich
</code></pre>
<p>Woran liegt das, und wie kann ich das beheben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270272</guid><dc:creator><![CDATA[Die Eule]]></dc:creator><pubDate>Fri, 20 Apr 2007 20:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Fri, 20 Apr 2007 20:47:33 GMT]]></title><description><![CDATA[<p>&quot;Die Eule&quot; will einen Trojaner schreiben. Bitte helft ihr nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270276</guid><dc:creator><![CDATA[o_o]]></dc:creator><pubDate>Fri, 20 Apr 2007 20:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Fri, 20 Apr 2007 21:10:21 GMT]]></title><description><![CDATA[<p>o_o schrieb:</p>
<blockquote>
<p>&quot;Die Eule&quot; will einen Trojaner schreiben. Bitte helft ihr nicht.</p>
</blockquote>
<p>sehr interessant, das ich einen Trojaner schreiben will...<br />
anscheinend weißt du jetzt mehr wie ich. Kannst du in die Zukunft sehen, wenn ja, dann solltest du die Dimension wechseln. Denn, ...</p>
<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="⚠"
    /> NEIN ICH WILL KEINEN TROJANER SCHREIBEN !!! <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/1270287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270287</guid><dc:creator><![CDATA[Die Eule]]></dc:creator><pubDate>Fri, 20 Apr 2007 21:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Fri, 20 Apr 2007 23:25:49 GMT]]></title><description><![CDATA[<p>die fehlermeldung sagts doch schon, ein cast ist nicht möglich<br />
&quot;long pointer to a constant unicode [wide] string&quot;</p>
<p>normales char -&gt; 1 byte</p>
<p>unicode -&gt; 2byte</p>
<p>demnach musst du das ding erstmal umconvertieren oder (bin mir nicht sicher) den unicode abstellen (im compiler)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270335</guid><dc:creator><![CDATA[Stelfer]]></dc:creator><pubDate>Fri, 20 Apr 2007 23:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Fri, 20 Apr 2007 23:59:57 GMT]]></title><description><![CDATA[<p>Stelfer schrieb:</p>
<blockquote>
<p>die fehlermeldung sagts doch schon, ein cast ist nicht möglich<br />
&quot;long pointer to a constant unicode [wide] string&quot;</p>
<p>normales char -&gt; 1 byte</p>
<p>unicode -&gt; 2byte</p>
<p>demnach musst du das ding erstmal umconvertieren oder (bin mir nicht sicher) den unicode abstellen (im compiler)</p>
</blockquote>
<p>Sry,<br />
danke für deine Hilfe, aber ich kann nicht wirklich behaupten das mir das weiter hilft.</p>
<p>P.S.: Benutze<br />
Visual C++ 2005</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270339</guid><dc:creator><![CDATA[Die Eule]]></dc:creator><pubDate>Fri, 20 Apr 2007 23:59:57 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 00:55:43 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>der GCC kompiliert den Code fehlerfrei, demnach kann ich dir nur blind helfen. Ersetze erstmal folgende Zeile,</p>
<pre><code class="language-cpp">char name[15]= {&quot;Autostart&quot;};
</code></pre>
<p>...mit dieser:</p>
<pre><code class="language-cpp">char name [] = &quot;Autostart&quot;;
</code></pre>
<p>Bei einem String musst du nicht angeben, wie groß das char-array sein soll, es passt sich automatisch der Größe an. Zudem musst du es nicht in geschweifte Klammern setzen <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="😉"
    /> Deshalb kannst du das gleich bei allen String-Initialisierungen ausbessern.</p>
<p>Dein Problem müsste sich mit einer Typkonvertierung lösen lassen (Stelfer, da hättest du wenigstens ein Beispiel liefern können...)</p>
<pre><code class="language-cpp">RegSetValueEx(hkey, (LPCWSTR)name, 0, REG_SZ, (BYTE *)value, strlen(value));
</code></pre>
<p>Die Zeile einfach nur mit der alten ersetzen</p>
<p>Grüße, mikey.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270340</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Sat, 21 Apr 2007 00:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 00:09:08 GMT]]></title><description><![CDATA[<blockquote>
<p>&quot;Die Eule&quot; will einen Trojaner schreiben. Bitte helft ihr nicht.</p>
</blockquote>
<p>Noob, das hat nichts mit Trojanern zu tun <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/1270342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270342</guid><dc:creator><![CDATA[mikey]]></dc:creator><pubDate>Sat, 21 Apr 2007 00:09:08 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 08:15:36 GMT]]></title><description><![CDATA[<p>Direkt als Wide String:</p>
<pre><code class="language-cpp">wchar_t name[] = L&quot;Autostart&quot;;
</code></pre>
<p>Oder universell je nach Compilerswitch (UNICODE oder ANSI):</p>
<pre><code class="language-cpp">TCHAR name[] = T(&quot;Autostart&quot;);
</code></pre>
<p>So oder zumindest so ähnlich, kann mich an die Syntax nicht genau erinnern, bin nicht so der WinAPI-Progger <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/1270378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270378</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 21 Apr 2007 08:15:36 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 08:23:30 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270383</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 21 Apr 2007 08:23:30 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 09:08:22 GMT]]></title><description><![CDATA[<p>mikey schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>der GCC kompiliert den Code fehlerfrei, demnach kann ich dir nur blind helfen. Ersetze erstmal folgende Zeile,</p>
<pre><code class="language-cpp">char name[15]= {&quot;Autostart&quot;};
</code></pre>
<p>...mit dieser:</p>
<pre><code class="language-cpp">char name [] = &quot;Autostart&quot;;
</code></pre>
<p>Bei einem String musst du nicht angeben, wie groß das char-array sein soll, es passt sich automatisch der Größe an. Zudem musst du es nicht in geschweifte Klammern setzen <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="😉"
    /> Deshalb kannst du das gleich bei allen String-Initialisierungen ausbessern.</p>
<p>Dein Problem müsste sich mit einer Typkonvertierung lösen lassen (Stelfer, da hättest du wenigstens ein Beispiel liefern können...)</p>
<pre><code class="language-cpp">RegSetValueEx(hkey, (LPCWSTR)name, 0, REG_SZ, (BYTE *)value, strlen(value));
</code></pre>
<p>Die Zeile einfach nur mit der alten ersetzen</p>
<p>Grüße, mikey.</p>
</blockquote>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Direkt als Wide String:</p>
<pre><code class="language-cpp">wchar_t name[] = L&quot;Autostart&quot;;
</code></pre>
<p>Oder universell je nach Compilerswitch (UNICODE oder ANSI):</p>
<pre><code class="language-cpp">TCHAR name[] = T(&quot;Autostart&quot;);
</code></pre>
<p>So oder zumindest so ähnlich, kann mich an die Syntax nicht genau erinnern, bin nicht so der WinAPI-Progger <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>
</blockquote>
<p>Vielen dank für eure fleißigen Hilfen... werde beides ausprobieren, und vllt auch etwas vermixen ^^ Vielen Dank, hoffe es klappt <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/1270416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270416</guid><dc:creator><![CDATA[Die Eule]]></dc:creator><pubDate>Sat, 21 Apr 2007 09:08:22 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 09:42:39 GMT]]></title><description><![CDATA[<p>Erstmal vielen Dank für all die Hilfe,<br />
aber nun habe ich mit folgendem Code folgendes Problem.<br />
Es wird zwar vom Compiler alles compiliert, aber in der Regestry entsteht kein neuer key <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">void autostart()
{
	HKEY hkey;
    HKEY KEY = HKEY_LOCAL_MACHINE;
    char place[]= &quot;Software\\Microsoft\\Windows\\CurrentVersion\\Run&quot;;
	char name[]= &quot;Testkey&quot;;
    char value[]= &quot;D:\\test.bat&quot;;

	RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&amp;hkey);
	RegSetValueEx(hkey, (LPCWSTR)name, 0, REG_SZ, (BYTE *)value, strlen(value));
	RegCloseKey(hkey);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1270435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270435</guid><dc:creator><![CDATA[Die Eule]]></dc:creator><pubDate>Sat, 21 Apr 2007 09:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Problem mit Registry Funktion on Sat, 21 Apr 2007 13:20:41 GMT]]></title><description><![CDATA[<p>Wenn du diese Casts weglassen würdest, könntest du den Fehler auch erkennen. In der UNICODE-Version arbeiten die Registry-Funktionen mit wchar_t's (2 Byte) - und durch den Cast werden einfach je zwei ASCII-Zeichen zu einem wchar_t zusammengefasst. Das compilert zwar, aber der anschließend verwendete Eingabestring hat keine Ähnlichkeit mehr mit dem, den du angegeben hast. Wie LordJaxom schon sagte, nimm' lieber 'TCHAR place[]=_T(&quot;Software\...&quot;);' und 'TCHAR name[]=_T(&quot;TestKey&quot;);' (ob die Registry den übergebenen Wert auch als UNICODE braucht, müsstest du mal nachsehen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270583</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 21 Apr 2007 13:20:41 GMT</pubDate></item></channel></rss>