Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с регистром!!! [D7, WinXP]


Gefest80 ©   (2005-10-07 00:02:00) 

Удалено модератором
Примечание: CПАМ


Brother   (2005-10-07 07:28:00) [1]

а регистор тут причем?


GanibalLector   (2005-10-07 02:30:00) [2]

>D7, WinXP
Для данной ОС необходимо получить соответсвуюшие привелегии.И только потом выполнять ф-цию SaveKey. Более того,файл в который будет сохранена  информация из реестра НЕ ДОЛЖЕН СУЩЕСТВОВАТЬ!

Пример :

var
 hToken: THandle;
 dwLength: DWORD;
 tpNewState, tpPrevState: TOKEN_PRIVILEGES;
const RegName='D:\Reg.old';
begin
 if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY, hToken) then
 begin
   if LookupPrivilegeValue(nil, 'SeBackupPrivilege',tpNewState.Privileges[0].Luid) then
   begin
     tpNewState.PrivilegeCount := 1;
     tpNewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
     AdjustTokenPrivileges(hToken, False, tpNewState,SizeOf(TOKEN_PRIVILEGES), tpPrevState, dwLength);
     {Test is True.}
     with TRegistry.Create do
     try
       RootKey := HKEY_LOCAL_MACHINE;
       if FileExists(RegName) then
         DeleteFile(RegName);
       SaveKey('Software\Borland', RegName);
     finally
       Free;
     end;
     tpNewState.Privileges[0].Attributes := 0;
     AdjustTokenPrivileges(hToken, True, tpNewState,SizeOf(TOKEN_PRIVILEGES), tpPrevState, dwLength);
   end;
 end;
end;


Германн   (2005-10-07 01:11:00) [3]

А что. Эта функция обязана записывать какой-то файлик?


Наверх

Титульная страница Поиск, карта сайта Написать письмо