TRegistry *reg = new TRegistry(KEY_ALL_ACCESS);
if (reg)
{
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("SOFTWARE\\Mounte\\", true);
reg->??????? //что указать здесь чтобы считать только один ключ последовательно с верху в низ.
delete reg;
считать последовательно строки в реестре
Небольшая проблема, в реестре в одной из ветки постоянно меняются имена ключей хранятся в типе REG_BINARY.
как можно их считать последовательно, подгружая каждую из них последовательно, попробовал закинуть в цикл следующий код, а как указать индекс ключа не знаю, подскажите пожалуйста если кто знает, спасибо.
Код:
Если кому интересно.
Создаем в текстовом редакторе (например "Блокноте") текстовый файл
в который пишем Имя ресурса | Тип ресурса | Имя программы, то есть, например:
myEXESource EXEFILE Project1.exe
сохраняем этот файл с расширением .rc и присоеденяем к нашему проекту
(Project->Add To Project и указываем имя нашего .rc файла)
Далее, в программе извлекаем из ресурса, сохраняем на диске, запускаем
CODE
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *Resu = "EXEFILE";
TResourceStream* Res = new TResourceStream((int)HInstance, "myEXESource", Resu);
Res->SaveToFile("Project1.exe"); // сохраняем на диск
delete Res;
// а можем и запустить
ShellExecute(Handle,"open","project1.exe",NULL,NULL,SW_SHOWNORMAL);
fe
Код:
TRegistry *reg = new TRegistry(KEY_ALL_ACCESS);
if (reg)
{
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("SOFTWARE\\Mounte\\", true);
TStrings a;
reg->GetValueNames(&a);
for(int x=0;x<a.Count();x+=1)
{
ShowMessage(reg->ReadString(a.Strings[x]));
}
}
if (reg)
{
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("SOFTWARE\\Mounte\\", true);
TStrings a;
reg->GetValueNames(&a);
for(int x=0;x<a.Count();x+=1)
{
ShowMessage(reg->ReadString(a.Strings[x]));
}
}
Есть еще один вопрос. Возможно ли как то, закинуть какую нибудь программу в тело создаваемой программы на билдере, при этом чтобы ее можно было запускать?
Добавляем exe в ресурсы своей программы. При запуске сохраняем ресурс с exe во временный файл, запускаем его. Погугли - тема не раз поднималась.