Подскажите плз, почему возникает ошибка в след. коде:
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");
}
Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.
Здравствуйте, <Аноним>, Вы писали:
А>Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.
RegistryPermission class... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, VladGalkin, Вы писали:
VG>Здравствуйте, <Аноним>, Вы писали:
А>>Собсна как раз мессадж бокс этот и вылетатет. А программу запускаю в сеансе администратора.
VG>RegistryPermission class
Добавил в код ещё:
RegistryPermission^ f = gcnew RegistryPermission( RegistryPermissionAccess::AllAccess, rk->ToString() );
Всё равно ту же самую ошибку выдаёт.
Здравствуйте, _Snake, Вы писали:
_S>Добавил в код ещё:
_S>RegistryPermission^ f = gcnew RegistryPermission( RegistryPermissionAccess::AllAccess, rk->ToString() );
_S>Всё равно ту же самую ошибку выдаёт.
Лучше, ИМХО, использовать декларативный подход —
RegistryPermissionAttribute, пометив им элемент приложения, работающий с реестром.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>