<?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[Alle Werte lesen]]></title><description><![CDATA[<p>Hallo<br />
ich bin gerade dabei ein Programm zu schreiben das in der Registry den Order Run(Autostartordner) überprüft und alle werte darin liest.<br />
Jetzt bin ich soweit.</p>
<pre><code class="language-cpp">TRegistry&amp; regkey=*new TRegistry();
regkey.RootKey=HKEY_LOCAL_MACHINE;
bool keyistda=regkey.OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\Run&quot;,false);
if (keyistda) ...
</code></pre>
<p>so aber jetzt weiß ich leider nichtmehr weiter.<br />
Muss ich bei Openkey einen platzhalter machen und das ganze in eine schleife setzten?<br />
Aber mit welcher welcher Bedingung?<br />
Bitte um Hilfe.<br />
Danke shconmal im vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/157172/alle-werte-lesen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 06:06:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157172.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Aug 2006 17:30:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:30:51 GMT]]></title><description><![CDATA[<p>Hallo<br />
ich bin gerade dabei ein Programm zu schreiben das in der Registry den Order Run(Autostartordner) überprüft und alle werte darin liest.<br />
Jetzt bin ich soweit.</p>
<pre><code class="language-cpp">TRegistry&amp; regkey=*new TRegistry();
regkey.RootKey=HKEY_LOCAL_MACHINE;
bool keyistda=regkey.OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\Run&quot;,false);
if (keyistda) ...
</code></pre>
<p>so aber jetzt weiß ich leider nichtmehr weiter.<br />
Muss ich bei Openkey einen platzhalter machen und das ganze in eine schleife setzten?<br />
Aber mit welcher welcher Bedingung?<br />
Bitte um Hilfe.<br />
Danke shconmal im vorraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123070</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:40:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>das ganze in eine schleife setzten?</p>
</blockquote>
<p>genau das. Und zwar über ie Anzahl der vorhandenen Subkeys/Werte. Und die Eigenschaften dafür findest du in der BCB-Hilfe zu <em>TRegistry</em>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123076</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:40:21 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:49:03 GMT]]></title><description><![CDATA[<p>ok<br />
in eine schleife.<br />
ich muss da ja irgendwo einen PLatzhalter für die nicht bekannten Namen der Werte setzen.<br />
Wie setze ich den einen solchen PLatzhalter.</p>
<blockquote>
<p>über ie Anzahl der vorhandenen Subkeys/Werte.</p>
</blockquote>
<p>Ja aber ich weiß doch die Anzahl der Werte garnicht wie soll ich denn dann eine passende schleife setzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123090</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:49:03 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:52:18 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>die Eigenschaften dafür findest du in der <strong>BCB-Hilfe</strong> zu <em>TRegistry</em></p>
</blockquote>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123093</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:52:18 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:53:13 GMT]]></title><description><![CDATA[<p>soll ich den Platzhalter etwa so schreiben:</p>
<pre><code class="language-cpp">(regkey.ValueExists(...))
</code></pre>
<p>so wenn das stimmt bleibt noch das problem mit der anzahl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123096</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 17:58:39 GMT]]></title><description><![CDATA[<p>muss mich hier echt mal anmelden das ich editieren kann.<br />
Also.<br />
Mit der Methode GetKeyNames müsste es ja gehen da muss ich mal ein wenig rumprobieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123103</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 17:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 19:45:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">TStrings *list=new TStringList();

TRegistry&amp; regkey=*new TRegistry();
regkey.RootKey=HKEY_LOCAL_MACHINE;
if(regkey.OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;,false))
{ regkey.GetValueNames(list); }
delete &amp;regkey
</code></pre>
<p>In list stehen dann alle Werte innerhalb des Schlüssels.<br />
Auf Die Werte kannst du z.B. so zugreifen:</p>
<pre><code class="language-cpp">AnsiString blub=list-&gt;Strings[0];
</code></pre>
<p>hf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123192</guid><dc:creator><![CDATA[derStein]]></dc:creator><pubDate>Wed, 23 Aug 2006 19:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 19:47:19 GMT]]></title><description><![CDATA[<p>kann mal einer die erste Zeile in meinem Beispiel richtig stellen und diesen Beitrag löschen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123194</guid><dc:creator><![CDATA[derStein]]></dc:creator><pubDate>Wed, 23 Aug 2006 19:47:19 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:18:00 GMT]]></title><description><![CDATA[<p>Halo</p>
<p>Wenn schon vorsagen, dann aber richtig.</p>
<pre><code class="language-cpp">TRegistry* regkey= new TRegistry();
regkey-&gt;RootKey=HKEY_LOCAL_MACHINE;
if(regkey-&gt;OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;,false))
{ 
  TStrings *list=new TStringList();
  regkey-&gt;GetValueNames(list); 

  for (int lv = 0; lv &lt; list-&gt;Count; lv++)
  {
    AnsiString subkeyname = list-&gt;Strings[Lv];
    ...
  }
  delete list;
  }
delete regkey;
</code></pre>
<p>/Edit : Semikolons korrigiert.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123204</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:18:00 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:05:44 GMT]]></title><description><![CDATA[<p>oh danke danke danke<br />
ihr seid echt genial.<br />
Ich muss mich hier echt anmelden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123213</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:15:04 GMT]]></title><description><![CDATA[<p>Naja ok diese Zeile hier:<br />
for (int lv = 0; lv &lt; list-&gt;Count; lv++)<br />
{<br />
AnsiString subkeyname = list-&gt;Strings[Lv];<br />
...<br />
}</p>
<p>ist überflüssig weil ich die Liste gleich so wie sie ist in eine ComboBox lade aber das konntet ihr ja nicht wissen.<br />
Und 2Semikolons bei den deletes(beiden) haben gefehlt <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/1123222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123222</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:40:49 GMT]]></title><description><![CDATA[<p>OK Jetzt habe ich diesen Quelltext:</p>
<pre><code class="language-cpp">TRegistry* regkey= new TRegistry();
regkey-&gt;RootKey=HKEY_LOCAL_MACHINE;
if(regkey-&gt;OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;,false))
{
  TStrings *list=new TStringList();
  regkey-&gt;GetValueNames(list);

  for (int lv = 0; lv &lt; list-&gt;Count; lv++)
  {
    AnsiString subkeyname = list-&gt;Strings[lv];
    ComboBox1-&gt;Items=list;
    }
  delete list;
  }
delete regkey;
ComboBox1-&gt;Visible=true;
</code></pre>
<p>Das funktioniert auch alles wunderbar.<br />
Aber jetzt will ich das man in der ComboBox etwas wählt und dann auf den Butten &quot;Eintrag löschen&quot; klickt.<br />
Daraufhin soll der entsprechende eintrag gelöscht werden.<br />
Aber dazu brauche ich unterschiedlich Stringnamen oder nicht?<br />
Ich habe auch schon dass:AnsiString subkeyname[lv] = list-&gt;Strings[lv]; versucht aber das funktioniert nicht.<br />
Wie bekomme ich es nun hin das ich unterschiedlich heißende strings habe?</p>
<p>So geht es auch nicht: <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="😞"
    /><br />
int a=0;</p>
<p>for (int lv = 0; lv &lt; list-&gt;Count; lv++)<br />
{</p>
<p>AnsiString subkeyname[a] = list-&gt;Strings[lv];<br />
a=a+1;<br />
ComboBox1-&gt;Items=list;<br />
}</p>
<p>Wie dann? <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/1123242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123242</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:43:34 GMT]]></title><description><![CDATA[<p>Wenn ihr auhc irgendetwas wisst wonach ich in der Hilfe suchen kann könnt ihr das gerne sagen.<br />
ICh weiß immer nicht nach was für befehlen(oder was auch immer) ich da suchn soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123244</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Wed, 23 Aug 2006 20:52:28 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann kannst du komplett die extra StringList weglassen</p>
<pre><code class="language-cpp">regkey-&gt;GetValueNames(ComboBox1-&gt;Items);
</code></pre>
<blockquote>
<p>Aber dazu brauche ich unterschiedlich Stringnamen oder nicht?</p>
</blockquote>
<p>Warum? Du trägst doch die namen der Keys in Klartext ein. Also must du dir nur noch merken, wie der Basischlüssel heißt (in deinem Beispiel <em>&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;</em>) und kannst so den Gesamtschlüsselnamen zusammensetzen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123249</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 23 Aug 2006 20:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Thu, 24 Aug 2006 08:22:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">switch (ComboBox1-&gt;ItemIndex)
{
for (int a=0;a &lt;= list-&gt;Count;a++);
{
case :
    TRegistry&amp; regkey=*new TRegistry();
	regkey.RootKey=HKEY_LOCAL_MACHINE;
	bool keygood=regkey.OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;,false);
	regkey.LazyWrite=false;
	if(keygood)
		regkey.DeleteValue(ComboBox1-&gt;ItemIndex );
	regkey.CloseKey();
	delete &amp;regkey;
    break;
    }
}
</code></pre>
<p>so weit bin ich nun bei meinem löschen-button<br />
Und ich weß nicht weiter <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="😞"
    /><br />
Ich muss den Case noch mitzählen lassen und den ItemIndex bei DeleteValue<br />
nur irgendwie bekomm ichs niicht hin <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="😞"
    /> <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/1123426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123426</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Thu, 24 Aug 2006 08:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Thu, 24 Aug 2006 08:44:20 GMT]]></title><description><![CDATA[<p>Was soll denn hier der switch sowie dir for-Schleife machen?<br />
Soweit ich das verstanden habe, willst du den key aus der Registry löschen, der in der ComboBox angezeigt wird.<br />
Dann vielleicht so</p>
<pre><code class="language-cpp">TRegistry&amp; regkey=*new TRegistry();
regkey.RootKey=HKEY_LOCAL_MACHINE;
bool keygood = regkey.OpenKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run&quot;,false);
regkey.LazyWrite=false;
if(keygood) regkey.DeleteValue(ComboBox1-&gt;Items-&gt;Strings[ComboBox1-&gt;ItemIndex]); //evtl. noch das Ergebnis aufheben
regkey.CloseKey();
delete &amp;regkey;
//dann noch den Eintrag aus der ComboBox löschen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1123440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123440</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 24 Aug 2006 08:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to Alle Werte lesen on Thu, 24 Aug 2006 08:54:25 GMT]]></title><description><![CDATA[<p>ja ich wusste nicht das das so einfach auch geht...<br />
ich dachte das muss ich in eine schleife setzen und alles mitzählen lassen und per if (bei mir eben swich case) das dann löschen lassen.<br />
Naja wenns auch so einfach geht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123455</guid><dc:creator><![CDATA[Bitburger*]]></dc:creator><pubDate>Thu, 24 Aug 2006 08:54:25 GMT</pubDate></item></channel></rss>