Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не могу вносить изменения в реестр

30K
17 ноября 2007 года
Biki
9 / / 26.10.2007
Скрины окон с ошибками:
http://www.imgstore.ru/files/YM6MAA6HbYNW8NcUyLFkyg4T2h3atxJrK6bfPtKm.bmp
http://www.imgstore.ru/files/7d7iaemA7WIYJJTpTlrzOeW2X2gkmjeu8TG7Y4P4.bmp
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <registry.hpp>
#pragma hdrstop
#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TRegistry *reg = new TRegistry(KEY_ALL_ACCESS);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


//"http://sources.ru/builder/faq/index.html8"


void __fastcall TForm1::Button1Click(TObject *Sender)
{
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->OpenKey("HKEY_LOCAL_MACHINE\\SYSTEM\\AAA",true);
reg->WriteString("BBB",2);
}

Подскажите, пожалуйста, в чем проблема.:confused:
30K
18 ноября 2007 года
Biki
9 / / 26.10.2007
Извиняюсь за беспокойствие, ошибка найдена:
пропущены кавычки
reg->WriteString("BBB","2");
8.8K
18 ноября 2007 года
Se AD WMD
165 / / 10.01.2007
Надо не reg->OpenKey("HKEY_LOCAL_MACHINE\\SYSTEM\\AAA",true);
а reg->OpenKey("SYSTEM\\AAA",true);
(Покрайней мере я всё делаю так и у меня работает. А ещё в борленде можно было нажать Ctrl+F1 и он выдал бы содержательную справку с примером)
А ещё могут быть урезаны права пользователя....
1
18 ноября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Se AD WMD
Надо не reg->OpenKey("HKEY_LOCAL_MACHINE\\SYSTEM\\AAA",true);
а reg->OpenKey("SYSTEM\\AAA",true);
(Покрайней мере я всё делаю так и у меня работает. А ещё в борленде можно было нажать Ctrl+F1 и он выдал бы содержательную справку с примером)
А ещё могут быть урезаны права пользователя....


Во первых - человек указал в чем была проблема и как разрешилась.
Во вторых - приводите пример полностью - в реестре есть такое понятие как корневая ветвь(RootKey) - т.е. относительно чего будет открываться все остальное. Если она не установлена то по умолчанию это будет ветвь
HKEY_CURRENT_USER - т.е. если вы ожидаете что откроется раздел HKEY_LOCAL_MACHINE\\SYSTEM\\AAA не установив предварительно корень и/или не указав полный путь - то ваш пример отработает с ошибкой - будет открыта ветвь HKEY_CURRENT_USER\\SYSTEM\\AAA - что явно не то, что вы ожидаете.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог