W jaki sposob mozna wypisac cala zawartosc do komponentu TMemo z dowolnego klucza?
Przykladowo mamy klucz
- Kod: Zaznacz cały
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
Rejestr->GetValueNames(Memo1->Lines);
delete Rejestr;
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
TStrings *tmpValue = new TStringList;
Memo1->Lines->Clear();
Rejestr->GetValueNames(tmpValue);
for(int i = 0; i < tmpValue->Count; i++)
{
String tekst = Rejestr->ReadString(tmpValue->Strings[i]);
Memo1->Lines->Add(tmpValue->Strings[i] + " = " + tekst);
}
delete Rejestr;
delete tmpValue;
Memo1->Lines->Clear();
wargo napisał(a):Usuń:
- Kod: Zaznacz cały
Memo1->Lines->Clear();
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
TStrings *tmpValue = new TStringList;
Rejestr->GetValueNames(tmpValue);
for(int i = 0; i < tmpValue; i++)
Memo1->Lines->Add(tmpValue->Strings[i]);
delete Rejestr;
delete tmpValue;
for(int i = 0; i < tmpValue; i++)
[C++ Error] Unit1.cpp(120): E2034 Cannot convert 'int' to 'TStrings *'
tmpValue->Count
String program = Edit1->Text;
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_CURRENT_USER;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\DisallowRun", false);
if (Rejestr->KeyExists(program))
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
else
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
else
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
Rejestr->ValueExists(program)
kinio napisał(a):U mnie w rejestrze nie ma takiego klucza
String program = Edit1->Text;
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_CURRENT_USER;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\DisallowRun", false);
if (Rejestr->ValueExists(program))
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
else
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
delete Rejestr;
if (Rejestr->ValueExists(program))
if (Rejestr->ValueExists(program) == true)
if (Rejestr->ValueExists(program) == false)
if (!Rejestr->ValueExists(program))
if (Rejestr->ValueExists(program) == false)
if (Rejestr->KeyExists(program) == false) // gdyż sprawdzasz tutaj czy program nie znajduje się na liście
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
else // ten warunek wystąpi tylko gdy wartość klucza znajduje się na liście
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
if (!Rejestr->KeyExists(program)) // gdyż sprawdzasz tutaj czy program nie znajduje się na liście
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
else // ten warunek wystąpi tylko gdy wartość klucza znajduje się na liście
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
Cyfrowy Baron napisał(a):Dlatego wystarczyło w Twoim kodzie zrobić tak:
- Kod: Zaznacz cały
if (Rejestr->KeyExists(program) == false) // gdyż sprawdzasz tutaj czy program nie znajduje się na liście
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
else // ten warunek wystąpi tylko gdy wartość klucza znajduje się na liście
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
lub tak:
- Kod: Zaznacz cały
if (!Rejestr->KeyExists(program)) // gdyż sprawdzasz tutaj czy program nie znajduje się na liście
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
else // ten warunek wystąpi tylko gdy wartość klucza znajduje się na liście
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
if (Rejestr->ValueExists(program))
{
Rejestr->DeleteValue(program);
Memo1->Lines->Add("Program "+ program +" zostal usuniety z listy zablokowanych");
Memo1->Lines->Add("--------------------------------------------------------------------------");
}
else
{
Memo1->Lines->Add(program +" nie znajduje sie na liscie zablokowanych");
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
if(!Rejestr->ValueExists("ATICCC"))
{
ShowMessage("Klucz NIE istnieje");
}
else
{
ShowMessage("Klucz istnieje");
}
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
TRegistry *Rejestr = new TRegistry();
Rejestr->RootKey = HKEY_LOCAL_MACHINE;
Rejestr->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
if(!Rejestr->ValueExists("ATICCC_1"))
{
ShowMessage("Klucz NIE istnieje");
}
else
{
ShowMessage("Klucz istnieje");
}
}
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 14 gości