Реестр(прочитать всю ветку)
Как мне вытянуть всю ветку реестра в форму?(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
Заранее спасибо за ответ
Цитата:
Originally posted by TheFeaR
Есть некая форма.
Как мне вытянуть всю ветку реестра в форму?(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
Заранее спасибо за ответ
Есть некая форма.
Как мне вытянуть всю ветку реестра в форму?(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
Заранее спасибо за ответ
Что ты имеешь ввиду под - вытянуть всю ветку? Если нужно получить имена ветвей - GetKeyNames(), если нужно получить значения - GetValueNames();
Цитата:
Originally posted by kot_
Что ты имеешь ввиду под - вытянуть всю ветку? Если нужно получить имена ветвей - GetKeyNames(), если нужно получить значения - GetValueNames();
Что ты имеешь ввиду под - вытянуть всю ветку? Если нужно получить имена ветвей - GetKeyNames(), если нужно получить значения - GetValueNames();
да, неправильно выразился...
нужно узнать все программы из авторана тобишь например в memo1 выташить названия всех ключей из ветки run.
Цитата:
Originally posted by TheFeaR
да, неправильно выразился...
нужно узнать все программы из авторана тобишь например в memo1 выташить названия всех ключей из ветки run.
да, неправильно выразился...
нужно узнать все программы из авторана тобишь например в memo1 выташить названия всех ключей из ветки run.
Код:
Reg->GetKeyNames(Memo->Lines);
Естественно перед этим необходимо открыть эту самую ран и очистить мемо.
ОГРОМНОЕ спасибо!
Сделал так, но, он ругается Cannot convert 'TStringList *' to 'AnsiString'
собсно вопрос как конвертировать это дело или можно как-нибудь по-другому засунуть несколько веток в 1 листбокс?
Код:
TRegistry *ptr = new TRegistry;
TStringList *SecondTree = new TStringList;
AnsiString Sectree;
ptr->RootKey=HKEY_LOCAL_MACHINE;
ptr->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0);
ptr->GetValueNames(ListBox1->Items);
ptr->CloseKey();
ptr->RootKey=HKEY_CURRENT_USER;
ptr->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0);
ptr->GetValueNames(SecondTree);
ListBox1->Items->Add(SecondTree);
ptr->CloseKey();
delete ptr;
TStringList *SecondTree = new TStringList;
AnsiString Sectree;
ptr->RootKey=HKEY_LOCAL_MACHINE;
ptr->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0);
ptr->GetValueNames(ListBox1->Items);
ptr->CloseKey();
ptr->RootKey=HKEY_CURRENT_USER;
ptr->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0);
ptr->GetValueNames(SecondTree);
ListBox1->Items->Add(SecondTree);
ptr->CloseKey();
delete ptr;
Цитата:
Originally posted by TheFeaR
Сделал так, но, он ругается Cannot convert 'TStringList *' to 'AnsiString'
собсно вопрос как конвертировать это дело или можно как-нибудь по-другому засунуть несколько веток в 1 листбокс?...
Сделал так, но, он ругается Cannot convert 'TStringList *' to 'AnsiString'
собсно вопрос как конвертировать это дело или можно как-нибудь по-другому засунуть несколько веток в 1 листбокс?...
Для того чтобы добавить один стринглист в другой - есть метод Assign - или как второй вариант - цикл. Ты пытаешься одной строке присвоить целый список - потому и ругается.
Всеже справку читать не стесняйся. Там много разных английских слов - заодно и язык выучишь :) Или религия не позволяет справку читать? :)
Хелпа небыло...Ща скачал и все нашлось!
ListBox1->Items->AddStrings(SecondTree);
а вот что то вроде CreateValue(создать тобишь) я так и не нашел... что делать???
Цитата:
Originally posted by TheFeaR
Есть такая фигня DeleteValue(удалить значение)
а вот что то вроде CreateValue(создать тобишь) я так и не нашел... что делать???
Есть такая фигня DeleteValue(удалить значение)
а вот что то вроде CreateValue(создать тобишь) я так и не нашел... что делать???
Код:
Reg->WriteString("Name","Value");
Reg->WriteInteger("Integer",1);
//etc
Reg->WriteInteger("Integer",1);
//etc