Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

RegLoadKey - error 1314

Всем привет.

Столкнулся с такой проблемой:
int error = RegLoadKey(HKEY_CURRENT_USER, "Software\\ODBC\\ODBC.INI\\AVT6Excel",
"excel.reg");
ключ не загружается, а код ошибки = 1314, как описано в заголовочном
файле - отсутствуют права доступа. Пробовал так же предварительно
создавать и открывать этот ключ, результат тот же.
Кстати аналогичный код с использованием VCL-ской TRegistry тоже не
работает.
При этом, если создавать данный ключ и добавлять туда значения по
одному, всё идёт на ура.
У каво какие соображения есть на сей счёт?

Ответить   Sun, 4 Apr 2004 09:09:25 +0300 (#118097)

 

Ответы:

Прив Yurij!

Sunday, April 4, 2004, 1:09:25 PM, от Вас получено:

тебе ведь надо reg файл загнать? Попробуй не через регистр, а API
ShellExecute(0, nil, "excel.reg", nil, nil, SW_Shownormal);
А в самом REG фаеле укажи путь
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\AVT6Excel]
Ну и далее по обстоятельствам.

Ответить   Sun, 4 Apr 2004 23:41:46 +0700 (#118259)

 

Здравствуйте, monah.

Вы писали 4 апреля 2004 г., 19:41:46:

Да, это вариант, но при этом ведь будет появляться системное диалоговое окно
с
вопросом: "Хотите ли вы загрузить данные в реестр?".

Ответить   Sun, 4 Apr 2004 21:07:18 +0300 (#118521)

 

Прив Yurij!
Monday, April 5, 2004, 1:07:18 AM, от Вас получено:

Ну да, тока этого можно избежать если в реестр заранее прописать ключь...
HKEY_CLASSES_ROOT\regfile\shell\open\command
и измените строковое значение по умолчанию на regedit.exe /s "%1"

Ответить   Mon, 5 Apr 2004 19:28:40 +0700 (#118836)

 

Боюсь, скоро мне будет присвоено звание "злобный посылатель в документацию".
Ну почему не читаете?

Функции RegLoadKey/RegSaveKey не имеют никакого отношения к загрузке
reg-файлов, создаваемых редактором реестра. Они работают в паре и
предназначены для сохранения и загрузки данных в ключи
HKEY_USER и HKEY_LOCAL_MACHINE, потому как
обычные функции для этого не годятся.
А формат файла используется вообще не текстовый а двоичный.
Кстати, на Win NT процесс должен иметь
привилегию SE_RESTORE_NAME.

Если уж так нужно загрузить текстовый reg-файл,
у тебя два пути:
1. использовать ShellExecute, как предложил "monah"
2. разобрать reg-файл самому (например, можно
попробовать воспользоваться TIniFile, если
пишешь на Delphi)
Номер выпуска : 2782
Возраст листа : 196 (дней)
Количество подписчиков : 384
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/118562
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Mon, 5 Apr 2004 09:55:14 +0400 (#118562)

 

Здравствуйте, Емельянов.

Вы писали 5 апреля 2004 г., 8:55:14:

Вобще-то, я просто забыл об этом упомянуть, файл "excel.reg" вовсе не
текстовый. Я его экспортировал из реестра.
А насчёт того, что RegLoadKey можно использовать только для тех двух
ключей, это точно. Видно я через строчку справочник читал.

Ответить   Mon, 5 Apr 2004 03:28:39 +0300 (#120694)

 

Прив Yurij!
Monday, April 5, 2004, 7:28:39 AM, от Вас получено:

Здрасте приплыли! А и блокнотом не смотрел? Глянь, в контекстном меню
пункт изменить! Экспорт из реестра идет в формат онлитекст!

Ответить   Thu, 8 Apr 2004 07:05:41 +0700 (#120723)

 

Здравствуйте, monah.

Вы писали 8 апреля 2004 г., 3:05:41:

Ну да, только текст там в юникод кодировке. Это я только сейчас
глянул. Просто у меня не стандартный редактор, юникод не распознаёт
автоматически и показывал мне всякую ерунду, поэтому я и думал что там
другой формат.

Ответить   Fri, 9 Apr 2004 01:05:18 +0300 (#123006)