Registry



  • Hallo,

    mittels folgenden Code lösche ich einen Wert in der Registry:

    TRegistry& regkey=*new TRegistry();
    regkey.RootKey=HKEY_LOCAL_MACHINE;
    bool keygood = regkey.OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false);
    regkey.LazyWrite=false;
    if(keygood) regkey.DeleteValue(ListBox1->Items->Strings[ListBox1->ItemIndex]); //evtl. noch das Ergebnis aufheben
    regkey.CloseKey();
    delete &regkey;
    

    jetzt würde ich gerne mehrere Einträge auswählen und löschen nur wie? Grübelnd...
    Oder ich suche einen Wert der mehrmals auftaucht und die Werte möchte ich dann alle löschen.

    MfG



  • Schleife?

    greetz KN4CK3R



  • und wie kann ich nach einen wert mit edit1 suchen ?

    habs imoment so :

    TRegistry* regkey= new TRegistry();
    regkey->RootKey=HKEY_LOCAL_MACHINE;;
    if(regkey->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false))
    {
      TStrings *list=new TStringList();
      regkey->GetValueNames(list);
    
      for (int lv = 0; lv < list->Count; lv++)
      {
    	AnsiString subkeyname = list->Strings[lv];
    	ListBox1->Items=list;
    
    	}
      delete list;
      }
    delete regkey;
    ListBox1->Visible=true;
    


  • if(subkeyname == Edit->Text)
    

    greetz KN4CK3R



  • hi,
    danke für die antwort habs jetzt so:

    AnsiString subkeyname;
    TRegistry* regkey= new TRegistry();
    regkey->RootKey=HKEY_LOCAL_MACHINE;;
    if(subkeyname == Edit1->Text)
    {
      TStrings *list=new TStringList();
      regkey->GetValueNames(list);
    
      for (int lv = 0; lv < list->Count; lv++)
      {
    	AnsiString subkeyname = list->Strings[lv];
    	ListBox1->Items=list;
    
    	}
      delete list;
      }
    delete regkey;
    ListBox1->Visible=true;
    

    es erscheint auch keine fehöermeldung nur wenn ich jetzt einen Wert suche möchte mit Edit erscheint nichts in meiner ListBox, ne Idee ?

    mfg



  • weil subkeyname an der Stelle noch keinen Wert hat...
    Meinste nicht, du solltest erstmal mit Hilfe von nem Buch oder so ein bissel die Grundlagen von C++ lernen?

    greetz KN4CK3R



  • KN4CK3R schrieb:

    weil subkeyname an der Stelle noch keinen Wert hat...

    ...und weil, wie es aussieht, kein OpenKey im Code ist.

    Im ersten Listing fehlt auch ein regkey->CloseKey();

    mfg
    kpeter


Anmelden zum Antworten