Реестр в Borland C++ Builder

Автор: Администратор
Дата публикации: 23 октября 2012 года
Раздел: Статьи для программиста

Добавление записи в реестр в Borland C++ Builder

Добавление записи в реестр в Borland C++ Builder

Для того чтобы осуществлять работу с реестром в Borland C++ Builder нужно подключить файл "Registry.hpp" к своему проекту. Сделать это можно следующим образом: #include "Registry.hpp".

Так как теперь мы уже можем использовать класс TRegistry, то для начала нашей работы с реестром необходимо создать объект класса, а затем указать раздел с которым мы будем работать:

TRegistry *reg = new TRegistry();

reg->RootKey = HKEY_CURRENT_USER;

Для записи параметров в реестр у класса TRegistry существует множество функций, которые очень похожи и отличаются только в типе записываемой информации. Для записи в реестр обычных строк это WriteString("Name","Value"), для записи в реестр целых чисел это WriteInteger("Name",int) и так далее...

Прежде чем записать какой-то параметр в определенную ветку реестра, ее нужно открыть Для этого используется функция OpenKey("Key",CanCreate). Первым параметром функции идет имя ключа, открываемого для записи, а вторым параметром идет значение типа "bool" - при включении этого значения, в случае отсутствия открываемого ключа, он будет создан автоматически. В противном случае, запись в несуществующий ключ не произойдет (что и вполне логично).

Ну и последнее после открытия ключа реестра и записи в него необходимого значения его, естественно нужно закрыть и освободить память. Сделать это можно с помощью функции CloseKey(), которая вызывается без параметров и операции delete reg.

Код добавления записи в реестр в Borland C++ Builder

Теперь реализуем пример добавления приложения с именем Project1.exe в автозапуск Windows и тем самым закроем вопрос о добавлении новой записи в реестр:

TRegistry *reg = new TRegistry();
reg->RootKey = HKEY_CURRENT_USER;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Proj","c:\\Program Files\\Internet Explorer\\Project1.exe");
reg->CloseKey();
delete reg;
Fatal error: Call to a member function return_links() on a non-object in /var/www/zoleg9992/data/www/e2epro.com/page/footer.php on line 42