<?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[Registry Problem...]]></title><description><![CDATA[<p>Ich hab ein Programm geschrieben was einen Wert in der Registry speichern soll . Leider funktionirt das nicht, und ich kapier den Fehler irgendwie nich:</p>
<pre><code>error C2664: 'strlen' : Konvertierung des Parameters 1 von 'unsigned char [17]' in 'const char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Hier mein Quelkode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;
using namespace std;

int main()
{
    cout &lt;&lt; &quot;Wert wird gesetzt...&quot; &lt;&lt; endl;

	HKEY hKey ; 
    //Ordner erstellen
	RegCreateKeyEx (HKEY_CURRENT_USER,&quot;Software\\Neu&quot;,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&amp;hKey,0);

    //Wert setzen 
    BYTE cString[]=&quot;Ich bin ein Wert&quot;; 
    RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,cString,strlen(cString)+1); 

	RegCloseKey(hKey); 

        return 0;
}
</code></pre>
<p>Vieleicht kennt sich ja einer damit aus und weis den Fehler .<br />
Währe sehr dankbar für eine Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132124/registry-problem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 17:34:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132124.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Jan 2006 15:14:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Registry Problem... on Sun, 08 Jan 2006 15:14:48 GMT]]></title><description><![CDATA[<p>Ich hab ein Programm geschrieben was einen Wert in der Registry speichern soll . Leider funktionirt das nicht, und ich kapier den Fehler irgendwie nich:</p>
<pre><code>error C2664: 'strlen' : Konvertierung des Parameters 1 von 'unsigned char [17]' in 'const char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Hier mein Quelkode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;
using namespace std;

int main()
{
    cout &lt;&lt; &quot;Wert wird gesetzt...&quot; &lt;&lt; endl;

	HKEY hKey ; 
    //Ordner erstellen
	RegCreateKeyEx (HKEY_CURRENT_USER,&quot;Software\\Neu&quot;,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&amp;hKey,0);

    //Wert setzen 
    BYTE cString[]=&quot;Ich bin ein Wert&quot;; 
    RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,cString,strlen(cString)+1); 

	RegCloseKey(hKey); 

        return 0;
}
</code></pre>
<p>Vieleicht kennt sich ja einer damit aus und weis den Fehler .<br />
Währe sehr dankbar für eine Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/960650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960650</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Sun, 08 Jan 2006 15:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Sun, 08 Jan 2006 15:34:22 GMT]]></title><description><![CDATA[<p>nimm statt BYTE cString[]=&quot;Ich bin ein Wert&quot;;<br />
einfach char cString[]=&quot;Ich bin ein Wert&quot;;</p>
<p>edit: Hier das entsprechende Beispiel aus der MSDN<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/eventlog/base/adding_a_source_to_the_registry.asp" rel="nofollow">MSDN-Beispiel</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/960657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960657</guid><dc:creator><![CDATA[v1vec]]></dc:creator><pubDate>Sun, 08 Jan 2006 15:34:22 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Sun, 08 Jan 2006 15:22:15 GMT]]></title><description><![CDATA[<p>Also ich habs mal mit Borland kompiliert und bei mir funzt das so einwandfrei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/960662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960662</guid><dc:creator><![CDATA[Cool X]]></dc:creator><pubDate>Sun, 08 Jan 2006 15:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Sun, 08 Jan 2006 16:07:52 GMT]]></title><description><![CDATA[<p>Cool X schrieb:</p>
<blockquote>
<p>Also ich habs mal mit Borland kompiliert und bei mir funzt das so einwandfrei.</p>
</blockquote>
<p>Bei Borland ist char wohl unsigned char, dann geht das auch, aber wenn bei einem Compiler char signed char ist, dann muss man hier umwandeln.<br />
Also entweder statt BYTE char verwenden, oder nen reinterpret_cast&lt; char* &gt;( cString )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/960710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/960710</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Sun, 08 Jan 2006 16:07:52 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Tue, 10 Jan 2006 19:05:49 GMT]]></title><description><![CDATA[<p>@ Any: das allerletzte in deinem Beitrag kan ich leider noch nich</p>
<p>Was für hather nimst du CoolX ?</p>
<p>Bei mir geht auch das MS-Beispiel nicht glaube das liegt an den falschen Hather-Dateien.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963003</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Tue, 10 Jan 2006 19:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Tue, 10 Jan 2006 19:12:57 GMT]]></title><description><![CDATA[<p>Bei mir kommt bei meinem Programm immer der Fehler</p>
<pre><code>error C2664: 'strlen' : Konvertierung des Parameters 1 von 'const unsigned char [17]' in 'const char *' nicht moeglich Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Wie kann ich den umgehen und was bedeutet er eigentlich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963013</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Tue, 10 Jan 2006 19:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Tue, 10 Jan 2006 19:25:57 GMT]]></title><description><![CDATA[<p>Du verwendest ein BYTE-Array, welches 8bit-Werte ohne Vorzeichen enthält als char-Zeiger, welches 8bit mit Vorzeichen entspricht.</p>
<p>Die Lösung, char cString[] = &quot;...&quot; statt BYTE cString[] = &quot;...&quot;, ist schon dreimal genannt worden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/963025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/963025</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 10 Jan 2006 19:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 11:28:29 GMT]]></title><description><![CDATA[<p>Ja das wurde mehrfach gesagt aber wen ich char stat BYTE schreibe kommt der Fehler</p>
<pre><code>error C2664: 'RegSetValueExA' : Konvertierung des Parameters 5 von 'char [17]' in 'const unsigned char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Was heist das jetzt wieder, ich hab das mit dem reinterpret_cast schon probiert aber warscheinlich falsch gemacht.</p>
<pre><code class="language-cpp">reinterpret_cast&lt; char* &gt;( cString );
</code></pre>
<p>aber warscheinlich ist das falsch weil dan kommt der gleiche Fehler. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/965373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965373</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Fri, 13 Jan 2006 11:28:29 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 12:03:57 GMT]]></title><description><![CDATA[<p>Du hast einen (signed) char[] und benötigst einen unsigned char* - damit dürfte doch wohl klar sein, in welche Richtung du casten mußt:</p>
<pre><code class="language-cpp">reinterpret_cast&lt; unsigned char* &gt;( cString )
</code></pre>
<p>(das mußt du btw als Argument deines RegSetValueEx() Aufrufes anstelle von &quot;cString&quot; eintragen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965403</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jan 2006 12:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 16:50:18 GMT]]></title><description><![CDATA[<p>Ok hab ich probiert :</p>
<pre><code class="language-cpp">RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,reinterpret_cast&lt; unsigned char* &gt;( cString ),strlen(reinterpret_cast&lt; unsigned char* &gt;( cString ))+1);
</code></pre>
<p>dan kommt der Fehler</p>
<pre><code>error C2664: 'strlen' : Konvertierung des Parameters 1 von 'unsigned char *' in 'const char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Daraus schliest man ja das man in const char* casten muss:</p>
<pre><code class="language-cpp">RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,reinterpret_cast&lt; const char* &gt;( cString ),strlen(reinterpret_cast&lt; const char* &gt;( cString ))+1);
</code></pre>
<p>Doch dan kommt diser Fehler:</p>
<pre><code>error C2664: 'RegSetValueExA' : Konvertierung des Parameters 5 von 'const char *' in 'const unsigned char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Darauf schreibe ich das:</p>
<pre><code class="language-cpp">RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,reinterpret_cast&lt; const unsigned char* &gt;( cString ),strlen(reinterpret_cast&lt; const unsigned char* &gt;( cString ))+1);
</code></pre>
<p>und trotzdem kommt das:</p>
<pre><code>error C2664: 'strlen' : Konvertierung des Parameters 1 von 'const unsigned char *' in 'const char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Solangsam fühl ich mich von meinem Compiler verars...<br />
Ist der kaput oder warum kommt da son mist raus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965829</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Fri, 13 Jan 2006 16:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 17:11:32 GMT]]></title><description><![CDATA[<p>Gnah, RegSetValueEx will const unsigned char* und wenn du in diesen Typ castest, nimmt der Compiler das auch an. Die anderen Fehler beziehen sich auf <strong>strlen</strong>, das einen const char* haben will. Bis jetzt stocherst du immer nur mit den Typen rum und machst eins von beiden in jedem Fall falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965847</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:11:32 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 17:11:57 GMT]]></title><description><![CDATA[<p>Ich will nicht nerfen , wie löse ich das?<br />
Kan mir fieleicht jemand einen Funktionierenden Quellcode geben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> bidde</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965851</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 17:13:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_SZ,reinterpret_cast&lt; const unsigned char* &gt;( cString ),strlen(reinterpret_cast&lt; const char* &gt;( cString ))+1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/965853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965853</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:13:59 GMT</pubDate></item><item><title><![CDATA[Reply to Registry Problem... on Fri, 13 Jan 2006 17:40:01 GMT]]></title><description><![CDATA[<p>Jetzt gets ,Danke Danke Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965876</guid><dc:creator><![CDATA[Bott]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:40:01 GMT</pubDate></item></channel></rss>