<?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[Simples Problem wahrscheinlich. Unicode Problem.]]></title><description><![CDATA[<p>Hi!</p>
<pre><code class="language-cpp">HKEY hKey;
		RegCreateKeyEx(HKEY_LOCAL_MACHINE,_T(&quot;Software\\Microsoft\\Windows\\CurrentVersion\\Run&quot;),0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&amp;hKey,0);

		CString target = GetProgramFolder()+_T(&quot;test.exe&quot;);
		RegSetValueEx(hKey,_T(&quot;Test&quot;),0,REG_SZ,target.GetBuffer(target.GetLength()),target.GetLength()+1);
		RegCloseKey(hKey);
</code></pre>
<p>schmeisst beim RegSetValueEx Aufruf einen Fehler beim kompilieren, da das Programm auf UNICODE kompiliert wird und der CString.GetBuffer() an der Stelle ein short Array wirft.</p>
<p>Leider passt das nicht in den Aufruf von RegSetValueExW(...), da dieser an der fünften Stelle unbedingt einen char* braucht.</p>
<p>Meine Frage: Wozu dann erst die ...W()-Funktion und wie bekomme ich das hin?<br />
Ich habe nur den CString mit Widechars. Aber es sind auch keinerlei echte UNICODE Zeichen enthalten.</p>
<p>Ich müsste das also irgendwie konvertieren. Geht das einfach so? Informationsverlust wäre dabei kein Problem. Ich will nur kein short, sondern char.</p>
<p>Gruß<br />
Marcel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140517/simples-problem-wahrscheinlich-unicode-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 12:17:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140517.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 13:54:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Simples Problem wahrscheinlich. Unicode Problem. on Wed, 15 Mar 2006 13:54:42 GMT]]></title><description><![CDATA[<p>Hi!</p>
<pre><code class="language-cpp">HKEY hKey;
		RegCreateKeyEx(HKEY_LOCAL_MACHINE,_T(&quot;Software\\Microsoft\\Windows\\CurrentVersion\\Run&quot;),0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&amp;hKey,0);

		CString target = GetProgramFolder()+_T(&quot;test.exe&quot;);
		RegSetValueEx(hKey,_T(&quot;Test&quot;),0,REG_SZ,target.GetBuffer(target.GetLength()),target.GetLength()+1);
		RegCloseKey(hKey);
</code></pre>
<p>schmeisst beim RegSetValueEx Aufruf einen Fehler beim kompilieren, da das Programm auf UNICODE kompiliert wird und der CString.GetBuffer() an der Stelle ein short Array wirft.</p>
<p>Leider passt das nicht in den Aufruf von RegSetValueExW(...), da dieser an der fünften Stelle unbedingt einen char* braucht.</p>
<p>Meine Frage: Wozu dann erst die ...W()-Funktion und wie bekomme ich das hin?<br />
Ich habe nur den CString mit Widechars. Aber es sind auch keinerlei echte UNICODE Zeichen enthalten.</p>
<p>Ich müsste das also irgendwie konvertieren. Geht das einfach so? Informationsverlust wäre dabei kein Problem. Ich will nur kein short, sondern char.</p>
<p>Gruß<br />
Marcel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016732</guid><dc:creator><![CDATA[adsci]]></dc:creator><pubDate>Wed, 15 Mar 2006 13:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Simples Problem wahrscheinlich. Unicode Problem. on Wed, 15 Mar 2006 14:36:27 GMT]]></title><description><![CDATA[<p>Es sieht so aus, als wenn die entsprechende ...W() Funktion alleine konvertiert.<br />
ein (LPBYTE)-Cast und die entprechende sizeof(TCHAR) Umrechnung bei length lässt es fehlerfrei laufen.</p>
<p>ich hoffe das ist kein zufall <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/1016796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016796</guid><dc:creator><![CDATA[adsci]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:36:27 GMT</pubDate></item></channel></rss>