<?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[Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ??]]></title><description><![CDATA[<p>Hi ho.</p>
<p>ich habe folgenden Code:</p>
<pre><code>CString reg_path;
DWORD err;

reg_path = &quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\DriveIcons&quot;;
err = RegCreateKeyEx(HKEY_LOCAL_MACHINE, reg_path, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &amp;hKey, NULL);

if(err != ERROR_SUCCESS &amp;&amp; debug){
    DEBUGFILE &lt;&lt; &quot;ERROR 05: Unable to create registry key.\nReturned Error Message: &quot; &lt;&lt; debugmsg(err);
}
else{
    DEBUGFILE &lt;&lt; &quot;Success: Erstellt: &quot; &lt;&lt; reg_path &lt;&lt; &quot;\n&quot;;
}
</code></pre>
<p>Unter Windows 2000 und Windows XP läuft das.<br />
Egal ob der Key schon existiert, oder erst angelegt wird, es wird immer ERROR_SUCCESS zurückgegeben.</p>
<p>Unter Vista krieg ich aber im Logfile für 'err' mit 'FormatMessage' dann 'Error(5): Zugriff verweigert' <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Frage:<br />
Was solln der Schrott und wie kriegt man das weg? <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>
<p>mfg<br />
trequ</p>
<p>PS:<br />
Sorry, wenn das jetzt das falsche Forum hierfür war, aber ich wusste nicht so recht wohin damit...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169210/vista-regcreatekeyex-error-5-zugriff-verweigert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 01:15:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169210.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jan 2007 09:50:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 09:50:08 GMT]]></title><description><![CDATA[<p>Hi ho.</p>
<p>ich habe folgenden Code:</p>
<pre><code>CString reg_path;
DWORD err;

reg_path = &quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\DriveIcons&quot;;
err = RegCreateKeyEx(HKEY_LOCAL_MACHINE, reg_path, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &amp;hKey, NULL);

if(err != ERROR_SUCCESS &amp;&amp; debug){
    DEBUGFILE &lt;&lt; &quot;ERROR 05: Unable to create registry key.\nReturned Error Message: &quot; &lt;&lt; debugmsg(err);
}
else{
    DEBUGFILE &lt;&lt; &quot;Success: Erstellt: &quot; &lt;&lt; reg_path &lt;&lt; &quot;\n&quot;;
}
</code></pre>
<p>Unter Windows 2000 und Windows XP läuft das.<br />
Egal ob der Key schon existiert, oder erst angelegt wird, es wird immer ERROR_SUCCESS zurückgegeben.</p>
<p>Unter Vista krieg ich aber im Logfile für 'err' mit 'FormatMessage' dann 'Error(5): Zugriff verweigert' <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Frage:<br />
Was solln der Schrott und wie kriegt man das weg? <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>
<p>mfg<br />
trequ</p>
<p>PS:<br />
Sorry, wenn das jetzt das falsche Forum hierfür war, aber ich wusste nicht so recht wohin damit...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201661</guid><dc:creator><![CDATA[trequ]]></dc:creator><pubDate>Wed, 03 Jan 2007 09:50:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 10:16:24 GMT]]></title><description><![CDATA[<p>Was für eun UAC Manifest hast Du dem Programm verpasst?</p>
<p>asInvoker?<br />
Grundsätzlich hat ein Programm damit unter Vista einen eingeschränkten Zugriff, wenn es nicht als Admin gestartet wurde.</p>
<p>D.h. Du bekommst niemals Zurgriff auf HKLM wenn Du nicht das Programm als Admin startest. Evtl. musst Du eben requireAdministrator als UAC Manifest setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201680</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 Jan 2007 10:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 10:19:09 GMT]]></title><description><![CDATA[<p>Nachtrag. Solch ein Code der die Driveicons manipiliert sollte auch in einem entsprechenden Install Programm untergebracht sein. Und dieses sollte immer Admin-Rechte benötigen!</p>
<p>Im Jan2007 MSDN Magazin (Englische Version) ist ein guter Artikel dazu!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201681</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 Jan 2007 10:19:09 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 11:06:57 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>erst mal thx für die Antworten.</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Was für eun UAC Manifest hast Du dem Programm verpasst?</p>
<p>asInvoker?<br />
Grundsätzlich hat ein Programm damit unter Vista einen eingeschränkten Zugriff, wenn es nicht als Admin gestartet wurde.</p>
<p>D.h. Du bekommst niemals Zurgriff auf HKLM wenn Du nicht das Programm als Admin startest. Evtl. musst Du eben requireAdministrator als UAC Manifest setzen.</p>
</blockquote>
<p>Ich habe inzwischen herausgefunden, dass offenbar in Vista die Rechte anders sind. Gebe ich in Vista dem angemeldetem Benutzer die Rechte an dem übergeordnetem Key, funktioniert alles wieder.</p>
<p>Frage:<br />
Ich bin noch recht &quot;frisch&quot; mit C++, komme eher aus der PHP Ecke...<br />
Ich verwende MS Visual C++ 6 und hab grad irgendwie überhaupt keinen Plan, wie das mit den Manifesten funktioniert.</p>
<p>Ich habe das hier gefunden:<br />
<a href="https://blogs.msdn.com/shawnfa/archive/2006/04/06/568563.aspx" rel="nofollow">https://blogs.msdn.com/shawnfa/archive/2006/04/06/568563.aspx</a></p>
<p>Wenn ich das richtig verstanden habe, fügt man das in die Anwendung ein, und anschließend fragt die Anwendung beim Start den User nach Admin-Rechten, wenn er keine hat?</p>
<p>Wenn ja, wäre ich sehr dankbar, wenn mir jemand erklären könnte, wie man das in eine Anwendung mit VS6 einbaut.</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Nachtrag. Solch ein Code der die Driveicons manipiliert sollte auch in einem entsprechenden Install Programm untergebracht sein. Und dieses sollte immer Admin-Rechte benötigen!</p>
</blockquote>
<p>Du bist nicht der erste, der mir sagt, das sollte in einen Installer.<br />
Aber ich verstehe nicht, warum. Die DriveIcons von mir sind für einen Kartenleser. Der bindet 4 Laufwerke ein. Nun kann das sich ja duchaus ändern.<br />
z.B. wenn jemand (bei abgestecken Kartenleser) ein Netzlaufwerk verbindet, oder jemand die Laufwerkszuordnungen ändert. Dann müsste der Anwender ja immer wieder die Icons per Systemsteuerung -&gt; Software deinstallieren, und dann neu installieren, damit sie wieder richtig sind.<br />
So hat er eine .exe, startet sie und drückt auf Install/Update. fertig.<br />
Ist doch einfacher, oder?</p>
<p>mfg<br />
trequ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201733</guid><dc:creator><![CDATA[trequ]]></dc:creator><pubDate>Wed, 03 Jan 2007 11:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 11:16:38 GMT]]></title><description><![CDATA[<p>trequ schrieb:</p>
<blockquote>
<p>Ich habe inzwischen herausgefunden, dass offenbar in Vista die Rechte anders sind. Gebe ich in Vista dem angemeldetem Benutzer die Rechte an dem übergeordnetem Key, funktioniert alles wieder.</p>
</blockquote>
<p>Sicher! Wenn Du Rechte hast ist alles kein Problem. Ansonten Filter die UAC diese Sachen aus.</p>
<p>trequ schrieb:</p>
<blockquote>
<p>Ich bin noch recht &quot;frisch&quot; mit C++, komme eher aus der PHP Ecke...<br />
Ich verwende MS Visual C++ 6 und hab grad irgendwie überhaupt keinen Plan, wie das mit den Manifesten funktioniert.</p>
</blockquote>
<p>Manifeste sind XML Einträge, die einer Applikation über die Ressourcen verpasst werden.</p>
<p>trequ schrieb:</p>
<blockquote>
<p>Wenn ich das richtig verstanden habe, fügt man das in die Anwendung ein, und anschließend fragt die Anwendung beim Start den User nach Admin-Rechten, wenn er keine hat?</p>
</blockquote>
<p>So ist es. Das wäre beu requiredAdministrator so!</p>
<p>trequ schrieb:</p>
<blockquote>
<p>Wenn ja, wäre ich sehr dankbar, wenn mir jemand erklären könnte, wie man das in eine Anwendung mit VS6 einbaut.</p>
</blockquote>
<p>Das ist wurscht!<br />
Lies mal diesen Artikel von mir:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-167580.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-167580.html</a></p>
<p>trequ schrieb:</p>
<blockquote>
<p>Dann müsste der Anwender ja immer wieder die Icons per Systemsteuerung -&gt; Software deinstallieren, und dann neu installieren, damit sie wieder richtig sind.<br />
So hat er eine .exe, startet sie und drückt auf Install/Update. fertig.<br />
Ist doch einfacher, oder?</p>
</blockquote>
<p>Und für diese Applikation wäre hier ein requiredAdministrator notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201738</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 Jan 2007 11:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 12:42:14 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>trequ schrieb:</p>
<blockquote>
<p>Wenn ja, wäre ich sehr dankbar, wenn mir jemand erklären könnte, wie man das in eine Anwendung mit VS6 einbaut.</p>
</blockquote>
<p>Das ist wurscht!<br />
Lies mal diesen Artikel von mir:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-167580.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-167580.html</a></p>
</blockquote>
<p>Was ist wurscht?</p>
<p>Ich glaube wir reden leicht aneinander vorbei gerade...<br />
Ich kann zwar Sourcecode schreiben, aber wie man so ein Manifest einbindet.. kein Plan.</p>
<p>Ich kopier den xml Code einfach irgendwo oben bei den Includes in eine .cpp Datei rein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201839</guid><dc:creator><![CDATA[trequ]]></dc:creator><pubDate>Wed, 03 Jan 2007 12:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to Vista + RegCreateKeyEx = Error(5): Zugriff verweigert ?? on Wed, 03 Jan 2007 13:28:04 GMT]]></title><description><![CDATA[<p>Wir reden nicht aneinander vorbei!<br />
1. Es ist wurscht ob Du VC6 oder ein anderes Entwicklungssystem hast!<br />
2. In meinem Link wird ein Video angegeben. Da wird dies gezeigt!<br />
Zudem findest Du hunderte von Links in denen ein Manifest für den XP Stil erzeugt und eingebunden wird.<br />
Im Detail: xml Datei speichern. In der Resource Datei unter ID CREATEPROCESS_MANIFEST_RESOURCE_ID (1) mit dem Typ RT_MANIFEST (24) als benutzerdefinierte Ressource (In VC6) bzw. Typ Manifest (in VS200x) speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201889</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 Jan 2007 13:28:04 GMT</pubDate></item></channel></rss>