Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
Внизне работает RegSaveKey! Найти похожие ветки
← →
Ruzz (2002-11-14 11:41) [0]Надо сохранить в файл содержимое ветви реестра
HKEY_CURRENT_USER\Что-то...
Пишу:
var Res:integer;
Handle:HKEY;
Buffer:array[0..1024] of char;
begin
Res:=RegCreateKeyEx(HKEY_CURRENT_USER, PChar(Что-то..), 0, nil, REG_OPTION_VOLATILE, KEY_ALL_ACCESS, nil, Handle, nil);
if Res=ERROR_SUCCESS then begin
Res:=RegSaveKey(Handle,PChar("file"),nil);
if Res<>ERROR_SUCCESS then begin
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, Res, 0, Buffer, SizeOf(Buffer), nil);
ShowMessage(Buffer);
end;
RegCloseKey(Handle);
end else begin
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, Res, 0, Buffer, SizeOf(Buffer), nil);
ShowMessage(Buffer);
end;
и получаю сообщение
"Клиент не обладает требуемыми правами".
← →
Игорь Шевченко (2002-11-14 12:00) [1]Вместо KEY_ALL_ACCESS поставь KEY_READ
← →
Внук (2002-11-14 18:31) [2]The RegSaveKey function saves only nonvolatile keys. It does not save volatile keys. A key is made volatile or nonvolatile at its creation
...
The RegSaveKey function does not save volatile keys. This flag is ignored if the key already exists.
← →
Ruzz (2002-11-15 05:05) [3]Попробовал
Res:=RegCreateKeyEx(HKEY_CURRENT_USER, "", 0, nil, REG_OPTION_NON_VOLATILE, KEY_READ, nil, Handle, nil);
результат тот же...
Более того, беру книгу
Р.Саймон "Microsoft Windows 2000 API"
и с её CD пробую программу chapter19\LoadKey.exe
результат тот же...
← →
Внук (2002-11-15 09:21) [4]Если под Win2k, то процессу еще необходима привилегия SE_BACKUP_NAME.
The calling process must have the SE_BACKUP_NAME privilege. For more information about privileges, see Privileges.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c