Вниз
Скачать: CL | DM;

Сохранение ветки реестра в файл   Найти похожие ветки 

← →
V-A-V ©   (2003-05-14 12:38) [0]

Народ, что я делаю не так ?
Хочу сохранить ветку реестра в файл, а оно не выходит.
Где я не прав...

...
var
Reg: TRegistry;
Key, FileName: String;
begin
Key:= "May Vetka"
FileName:= "d:\MayVet.reg"
Reg := TRegistry.Create;
if not Reg.KeyExists(Key) then exit;
if not Reg.SaveKey(Key, FileName) then
ShowMessage("Ошибка сохранения" + #13 + FileName);
end;
...


← →
Palladin ©   (2003-05-14 12:47) [1]

It must be the name of a new file that does not already exist

вот это условие соблюдается?


← →
NickBat ©   (2003-05-14 12:48) [2]

ExecProc("REGEDIT /e "+s+"File.reg HKEY_CURRENT_USER\",nil,false,sw_hide);


← →
Leshiy ©   (2003-05-14 12:49) [3]

Задай RootKey


← →
V-A-V ©   (2003-05-14 12:51) [4]

>It must be the name of a new file that does not already exist
>вот это условие соблюдается?

Пробовал соблюдать и не соблюдать все одно...


← →
V-A-V ©   (2003-05-14 12:54) [5]

>Leshiy © (14.05.03 12:49)

> Задай RootKey

пробовал не помогает


← →
Vit@ly ©   (2003-05-14 12:57) [6]

REG := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER; //или какая-либо другая ветка
if Not Reg.OpenKey(Key, False) then
begin
// нет такой ветки
end
else
begin
// такая ветка есть, ... делать то, что требуется
end;


← →
V-A-V ©   (2003-05-14 12:57) [7]

>NickBat © (14.05.03 12:48)

> ExecProc("REGEDIT /e "+s+"File.reg HKEY_CURRENT_USER\",nil, false,sw_hide);

хотелось бы через TRegisry


← →
Anatoly Podgoretsky ©   (2003-05-14 12:58) [8]

А вот это условие не соблюдается

It must be the name of a new file that does not already exist. On FAT file systems FileName cannot include an extension.



← →
V-A-V ©   (2003-05-14 13:00) [9]

> Vit@ly © (14.05.03 12:57)

Вот так приблизительно и делаю, но не работает.
Пробовал и с Reg.OpenKey(Key, False) и без него...


← →
NickBat ©   (2003-05-14 13:02) [10]

> хотелось бы через TRegisry

А смысл?
строка "REGEDIT /e c:\File.reg HKEY_CURRENT_USER"
Отлично работает.



← →
V-A-V ©   (2003-05-14 13:02) [11]

>natoly Podgoretsky © (14.05.03 12:58)

> А вот это условие не соблюдается

> It must be the name of a new file that does not already exist. > On FAT file systems FileName cannot include an extension.

И это пробовал соблюдать, но безуспешно...


← →
Anatoly Podgoretsky ©   (2003-05-14 13:21) [12]

Не знаю пробовал ты или нет, но привел код, которые не соответствует техническим требованием процедуры.
Ты уж приведи ПРАВИЛЬНЫЙ код.


← →
Palladin ©   (2003-05-14 13:34) [13]

воспроизвел...
путем прыгания по исходникам и экспериментирования обнаружил что при сохранении возникает ошибка

{ A required privilege is not held by the client. }
ERROR_PRIVILEGE_NOT_HELD = 1314;
{$EXTERNALSYM ERROR_PRIVILEGE_NOT_HELD}


← →
V-A-V ©   (2003-05-14 13:48) [14]

>Palladin © (14.05.03 13:34)

>воспроизвел...
>путем прыгания по исходникам и экспериментирования обнаружил что >при сохранении возникает ошибка

> { A required privilege is not held by the client. }
> ERROR_PRIVILEGE_NOT_HELD = 1314;
> {$EXTERNALSYM ERROR_PRIVILEGE_NOT_HELD}


ну и, что, как с этим боротся...
как получить желаемый результат...


← →
Palladin ©   (2003-05-14 13:52) [15]

а дальше мне стало не интересно... и я занялся своей основной работой :)


← →
Anatoly Podgoretsky ©   (2003-05-14 13:56) [16]

Тебе две ошибки указали и вот тебе третья
if not Reg.KeyExists(Key) then exit;
тоже создаваться не будет.


← →
Vit@ly ©   (2003-05-14 15:11) [17]

Чуть конкретнее, что именно не получается (записать в файл или что-то другое)?


← →
clickmaker ©   (2003-05-14 15:14) [18]

ERROR_PRIVILEGE_NOT_HELD - в НТ процесс, сохраняющий ветку, должен иметь полномочие SE_BACKUP_NAME. См. AdjustTokenPrivileges



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.017 c
1-83488
From_X
2003-05-15 16:22
2003.05.26
DLL Как плугин? Есть проблемы!


14-83672
pavel_k
2003-05-05 21:34
2003.05.26
Assembler лит-ра и инфа


14-83679
-=DeMoH=-
2003-05-04 12:56
2003.05.26
КАК УЗНАТЬ, ЧТО НУЖНО ПРОГЕ?


6-83641
Zevsus
2003-03-24 23:22
2003.05.26
чтобы две программы слушали udp порт одновременно.


1-83583
User
2003-05-13 11:47
2003.05.26
Flat у DBGrid




   Наверх