Изменение ключей реестра
От: Аноним  
Дата: 26.04.06 18:41
Оценка:
Подскажите плз, почему возникает ошибка в след. коде:

RegistryKey^ rk;

try{
String^ user = Environment::UserDomainName + "\\" + Environment::UserName;
RegistrySecurity^ regSecurity = gcnew RegistrySecurity();
regSecurity->AddAccessRule(gcnew RegistryAccessRule(user,
RegistryRights::WriteKey,
InheritanceFlags::None,
PropagationFlags::None,
AccessControlType::Allow));



rk = Registry::CurrentUser->OpenSubKey("Software", false);

rk->SetAccessControl(regSecurity);

rk->SetValue( "test", 1 );

catch (UnauthorizedAccessException^ ex)
{
MessageBox::Show("{0}You are not authorized to change permissions for the this key");
}



Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.
Re: Изменение ключей реестра
От: VladGalkin Украина  
Дата: 27.04.06 06:46
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.


RegistryPermission class
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
ДЭ!
Re[2]: Изменение ключей реестра
От: _Snake Россия www.freestudents.ru
Дата: 27.04.06 14:57
Оценка:
Здравствуйте, VladGalkin, Вы писали:

VG>Здравствуйте, <Аноним>, Вы писали:


А>>Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.


VG>RegistryPermission class


Добавил в код ещё:
RegistryPermission^ f = gcnew RegistryPermission( RegistryPermissionAccess::AllAccess, rk->ToString() );
Всё равно ту же самую ошибку выдаёт.
Re[3]: Изменение ключей реестра
От: VladGalkin Украина  
Дата: 28.04.06 07:15
Оценка:
Здравствуйте, _Snake, Вы писали:

_S>Добавил в код ещё:

_S>RegistryPermission^ f = gcnew RegistryPermission( RegistryPermissionAccess::AllAccess, rk->ToString() );
_S>Всё равно ту же самую ошибку выдаёт.

Лучше, ИМХО, использовать декларативный подход — RegistryPermissionAttribute, пометив им элемент приложения, работающий с реестром.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
ДЭ!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.