Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизПомогите с TRegistry.SaveKey Найти похожие ветки
← →
Внук (2002-03-26 18:58) [6]>>Barmutik ©
Не дал, верно :) Я готовые куски кода редко даю, это мой метод отсева халявщиков. Вы правы насчет KEY_ALL_ACCESS, он здесь не обязателен, поскольку устанавливается в конструкторе, это моя привычка явного контроля за всеми мелочами.
Но... повторяю - смотрите исходники, а они для TRegistry на удивление прозрачны. Переписав Ваш код на API, получим то, что на самом деле делает TRegistry:
var Err:integer;
Hndl:HKEY;
begin
Err:=RegOpenKeyEx(HKEY_CURRENT_USER,PChar("Что-нибудь"),0,KEY_ALL_ACCESS,Hndl);
ShowMessage(SysErrorMessage(Err));
Err:=RegSaveKey(Hndl,"Test",nil);
ShowMessage(SysErrorMessage(Err));
...
end;
Здесь видно, что операция открытия ключа проходит успешно, а на операции экспорта выдается сообщение - недостаточно прав. Причем, я уверен, под Windows95 Ваш первоначальный код будет работать - попробуйте.
Далее - смотрим описание функции RegSaveKey и видим: The calling process must have the SE_BACKUP_NAME privilege. Это справедливо только для линии WinNT. Дальше попробуйте сами побродить по Help"у.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c