<?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[REG_DWORD problem]]></title><description><![CDATA[<p>habe eine kleine funktion, die einen DWORD-wert in die registry schreiben soll.<br />
in regedit stand dann ein &quot;ungültiger wert&quot; oder neuerdings gar nix!</p>
<p>hier der (leicht gekürzte) code:<br />
[cpp]<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;windows.h&gt;<br />
#include &lt;winreg.h&gt;</p>
<p>void reginsert(char *name, int *content, char *keytarget);</p>
<p>int main() {</p>
<p>char target[255] = &quot;Software\\Company\\Product\\Version&quot;;<br />
int dwordval01 = 9;<br />
reginsert(&quot;test 2&quot;, **&amp;**dwordval01, target);<br />
return 0;<br />
}</p>
<p>void reginsert(char *name, int *content, char *keytarget) {</p>
<p>HKEY hKey;<br />
RegCreateKey(HKEY_CURRENT_USER, keytarget, &amp;hKey);<br />
RegSetValueEx(hKey, name, 0, REG_DWORD, (LPBYTE) content, sizeof(content));<br />
RegCloseKey(hKey);<br />
return;<br />
}<br />
[/cpp]</p>
<p>wo ist der fehler?</p>
<p>thanks in advance : <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>---loki</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/63983/reg_dword-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 11:21:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/63983.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Feb 2004 14:35:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to REG_DWORD problem on Fri, 06 Feb 2004 15:16:51 GMT]]></title><description><![CDATA[<p>habe eine kleine funktion, die einen DWORD-wert in die registry schreiben soll.<br />
in regedit stand dann ein &quot;ungültiger wert&quot; oder neuerdings gar nix!</p>
<p>hier der (leicht gekürzte) code:<br />
[cpp]<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;windows.h&gt;<br />
#include &lt;winreg.h&gt;</p>
<p>void reginsert(char *name, int *content, char *keytarget);</p>
<p>int main() {</p>
<p>char target[255] = &quot;Software\\Company\\Product\\Version&quot;;<br />
int dwordval01 = 9;<br />
reginsert(&quot;test 2&quot;, **&amp;**dwordval01, target);<br />
return 0;<br />
}</p>
<p>void reginsert(char *name, int *content, char *keytarget) {</p>
<p>HKEY hKey;<br />
RegCreateKey(HKEY_CURRENT_USER, keytarget, &amp;hKey);<br />
RegSetValueEx(hKey, name, 0, REG_DWORD, (LPBYTE) content, sizeof(content));<br />
RegCloseKey(hKey);<br />
return;<br />
}<br />
[/cpp]</p>
<p>wo ist der fehler?</p>
<p>thanks in advance : <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>---loki</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453402</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Fri, 06 Feb 2004 15:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Fri, 06 Feb 2004 15:03:53 GMT]]></title><description><![CDATA[<p>So, wie der Code dort steht, dürfte es sich gar nicht kompilieren lassen.</p>
<p>void reginsert(char *name, int *content, char *keytarget);</p>
<p>also als 2. Wert erwartet Deine Funktion einen Pointer auf int,</p>
<p>Du übergibst aber einen int (dwordval01) anstelle von &amp;dwordval01</p>
<p>Das hat zwar nix mit Deinem Problem direkt zu tun,</p>
<p>aber was geben Dir denn die Reg*-Funktionen als Ergebnis zurück??</p>
<p>Gruß,</p>
<p>Colonius</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453434</guid><dc:creator><![CDATA[Colonius]]></dc:creator><pubDate>Fri, 06 Feb 2004 15:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Fri, 06 Feb 2004 15:21:30 GMT]]></title><description><![CDATA[<p>okay, jetzt habe ich wenigstens einen eintrag in die registry...</p>
<p>thanx.</p>
<p>jetzt habe ich nur das problem, das der wert &quot;ungültig&quot; ist...</p>
<p>der wert sollte als REG_DWORD mit dem wert 9 gespeichert sein,<br />
d.h. 0x00000009 (9)...</p>
<p>wie kriege ich das hin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453447</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Fri, 06 Feb 2004 15:21:30 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Fri, 06 Feb 2004 18:10:20 GMT]]></title><description><![CDATA[<p>Schau mal in die FAQ!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/453561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/453561</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Fri, 06 Feb 2004 18:10:20 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 09 Feb 2004 09:07:02 GMT]]></title><description><![CDATA[<p>hab die FAQ mehrmals auf dieses problem durchsucht, aber nix gefunden... <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/454901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/454901</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Mon, 09 Feb 2004 09:07:02 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 09 Feb 2004 13:15:18 GMT]]></title><description><![CDATA[<p>Alsowenn dir der <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39373" rel="nofollow">FAQ-Thread</a> nicht geholfen hat könntest du mal versuchen, die Funktion direkt aufzurufen (also nicht in eine Funktion kapseln) - klappt es dann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455097</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 09 Feb 2004 13:15:18 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 09 Feb 2004 14:33:14 GMT]]></title><description><![CDATA[<p>schon probiert, klappt aber leider nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455171</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:33:14 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 09 Feb 2004 15:15:46 GMT]]></title><description><![CDATA[<p>Also ohne die Rückgabewerte von RegCreateKey und RegSetValueEx zu überprüfen wirst Du da kaum den Fehler finden...</p>
<p>Des weiteren ist RegCreateKey veraltet (und nur noch wegen der 16-bit Kombatibilität drin), nimm lieber RegCreateKeyEx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455225</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Mon, 09 Feb 2004 15:15:46 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Thu, 12 Feb 2004 12:25:23 GMT]]></title><description><![CDATA[<p>also:</p>
<p>momentan arbeite ich noch mit RegCreateKey.<br />
ich habe versucht, da einfach das &quot;Ex&quot; dranzuhängen, bekam dann aber einen compilerfehler nach dem anderen... ich glaube, die parameter sind bei RegCreateKeyEx etwas anders, und ich hatte schon genug mühe, irgendwas in die registry zu schreiben, bzw. zu kapieren wie ich das anstelle.</p>
<p>zum problem:</p>
<p>wenn ich den wert &quot;9&quot; als REG_DWORD eintragen will, bekomme ich zwar einen eintrag, der aber von regedit als &quot;ungültiger wert&quot; angezeigt wird.<br />
habe also den wert mal direkt in regedit eingetragen.<br />
in hex ist das dann: &quot;09 00 00 00&quot;...<br />
wenn ich das jetzt an meine reginsert-funktion weiterleite, bekomme ich aber den hex-wert &quot;15f90&quot;...<br />
ich denke mal, ich habe einfach nicht kapiert, wie ich einen int-wert in einen DWORD-wert umrechne... (DWORD bedeutet DOUBLE, oder?)</p>
<p>plz help! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/457669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/457669</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Thu, 12 Feb 2004 12:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Thu, 12 Feb 2004 12:43:08 GMT]]></title><description><![CDATA[<p>sorry, das problem hat sich gelöst...</p>
<p>einfach ignorieren!</p>
<p>und big thx für die bisherige hilfe!!! <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/457693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/457693</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Thu, 12 Feb 2004 12:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Fri, 13 Feb 2004 16:10:09 GMT]]></title><description><![CDATA[<p>Nur Schade dass die leute dann nie posten WIE sich das problem dann schlussendlich gelöst hat. Wer das gleiche problem hat und hier sucht, der ist am ende gefrustet weil die lösung des problems 'hat sich erledigt, es funtzt' heißt <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>greets,<br />
andi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/458769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/458769</guid><dc:creator><![CDATA[Rossario]]></dc:creator><pubDate>Fri, 13 Feb 2004 16:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 11:46:41 GMT]]></title><description><![CDATA[<p>stimmt leider, den genau jetzt hab ich dieses problem auch, ich benutz übrigens überall die Ex variante sofern möglich, bekomme aber bei im regedit &quot;ungültiger wert&quot; zurück geliefert.</p>
<p>teil 1, falls der schlüssel vorhanden ist</p>
<pre><code class="language-cpp">if (RegOpenKey(hkey,(LPTSTR) subkey, &amp;hKey) == ERROR_SUCCESS)
	{
		DWORD dwError = RegQueryValue(hKey,(LPCTSTR) valuename, (LPTSTR) value,pl_size);

		if (hKey)
			RegCloseKey(hKey);
</code></pre>
<p>teil 2, falls nicht</p>
<pre><code class="language-cpp">RegCreateKeyEx(HKEY_CLASSES_ROOT,(LPTSTR) subkey,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&amp;hKey,0);
			if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPTSTR) subkey,0,KEY_ALL_ACCESS, &amp;hKey) == ERROR_SUCCESS)
			{
				DWORD dwError = RegSetValueEx(hKey,(LPCTSTR) valuename,NULL,typ,(BYTE*) value ,strlen((LPTSTR) value));
				if (hKey) RegCloseKey(hKey);
			}
</code></pre>
<p>hilfe ist immer willkommen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583686</guid><dc:creator><![CDATA[LordMogli]]></dc:creator><pubDate>Mon, 16 Aug 2004 11:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 12:12:54 GMT]]></title><description><![CDATA[<p>Was für ein Problem hast du? Wie sind deine ganzen anderen Variablen definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583707</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 16 Aug 2004 12:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 12:25:59 GMT]]></title><description><![CDATA[<p>der prototyp is so definiert:<br />
WriteRegistry(HKEY hKey, LPVOID subkey, LPVOID valuename, LPVOID value, DWORD typ,int i_hKeyID);</p>
<p>im aufruf sieht das dann folgender maßen aus:<br />
test-&gt;WriteRegistry(HKEY_LOCAL_MACHINE, &quot;SOFTWARE\\Deutsche Post AG\\test&quot;, &quot;test1&quot;, &quot;9&quot;, REG_DWORD, i_hKeyID);</p>
<p>es funktionieren alle arten von REG_XY einträgen bis auf REG_DWORD , da liefert er mir (0ungültiger DWORD-Wert) zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583714</guid><dc:creator><![CDATA[LordMogli]]></dc:creator><pubDate>Mon, 16 Aug 2004 12:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 12:51:06 GMT]]></title><description><![CDATA[<p>Du musst als Wert auch einen Pointer auf einen DWORD übergeben:</p>
<pre><code class="language-cpp">DWORD dwNumber=150; 
RegSetValueEx(hKey,&quot;EintragsName&quot;,0,REG_DWORD,(BYTE*)&amp;dwNumber,sizeof(DWORD));
</code></pre>
<p>Bei deinem Prototyp sähe das dann so aus:</p>
<pre><code class="language-cpp">DWORD dwNumber = 9;
test-&gt;WriteRegistry(HKEY_LOCAL_MACHINE, &quot;SOFTWARE\\Deutsche Post AG\\test&quot;, &quot;test1&quot;, &amp;dwNumber, REG_DWORD, i_hKeyID);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/583734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583734</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 16 Aug 2004 12:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 13:08:58 GMT]]></title><description><![CDATA[<p>jetzt sagt er mir:</p>
<p>Konvertierung des Parameters 4 von 'unsigned long *' in 'void *&amp; ' nicht moeglich</p>
<p>das es nicht funktioniert liegt mit großer wahrscheinlichkeit daran, dass der prototyp weiterhin als LPVOID definiert ist, dies sollte aber nach möglichkeit auch so bleiben, da ich damit mehrere verschiedene arten von REG_XY-typen eintragen können sollte, wenn das so nicht realisierbar ist, muss ich wohl für dword eine extra funktion schreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f636.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_without_mouth"
      title=":-X"
      alt="😶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/583752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583752</guid><dc:creator><![CDATA[LordMogli]]></dc:creator><pubDate>Mon, 16 Aug 2004 13:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 13:14:25 GMT]]></title><description><![CDATA[<p>Komisch - nach LPVOID sollte er normalerweise ohne Probleme casten. Versuch es mal so:</p>
<pre><code>(LPVOID)&amp;dwNumber
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/583759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583759</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 16 Aug 2004 13:14:25 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 13:16:51 GMT]]></title><description><![CDATA[<p>D:\RegistryTool\RegToolTester\RegToolTester.cpp(19) : error C2664: 'WriteRegistry' : Konvertierung des Parameters 4 von 'void *' in 'void *&amp; ' nicht moeglich</p>
<p>grml ich schreib gleich ne extra funktion dafür</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583761</guid><dc:creator><![CDATA[LordMogli]]></dc:creator><pubDate>Mon, 16 Aug 2004 13:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Mon, 16 Aug 2004 18:25:19 GMT]]></title><description><![CDATA[<p>Warum will der immer void *&amp;, du hast den Funktionsparameter doch als void * bzw. LPVOID deklariert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Was macht überhaupt deine Klasse und warum hast du nicht einfach die Parametersignatur der WinAPI-Funktion übernommen <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/584025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584025</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to REG_DWORD problem on Thu, 19 Aug 2004 11:58:38 GMT]]></title><description><![CDATA[<p>so die lösung meiner probleme ist da. hier die lsg, das problem war unter anterem der letzte parameter im aufruf, die länge des inhaltes</p>
<p>zuerst:</p>
<pre><code>DWORD dwError = RegSetValueEx(hKey,(LPCTSTR) valuename,NULL,typ,(BYTE*) value ,strlen((LPTSTR) value));
</code></pre>
<p>lsg:</p>
<pre><code>DWORD dwError = RegSetValueEx(hKey,(LPCTSTR) valuename,NULL,typ,(BYTE*) value ,sizeof(DWORD));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/586257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/586257</guid><dc:creator><![CDATA[LordMogli]]></dc:creator><pubDate>Thu, 19 Aug 2004 11:58:38 GMT</pubDate></item></channel></rss>