Прежде чем вы попытаетесь ответить на этот вопрос: «Выполните быстрый поиск в Google». Я хотел бы отметить, что я уже. Вот ситуация, у меня есть следующий метод, который пытается изменить значение раздела реестра. Проблема, с которой я сталкиваюсь, заключается в том, что при выполнении выдается исключение UnauthorizedAccessException , хотя я открыл ключ как доступный для записи . Я запускаю Visual Studio от имени администратора и даже пытался создать небольшой.exe с файлом манифеста, заставляющим его работать от имени администратора, который безуспешно выполнял код. Ключ уже существует, он не пытается войти в метод CreateKey. Вот блок кода.
Path = "S-1-5-21-1644491937-1078145449-682003330-5490\Software\Microsoft\Windows\CurrentVersion\Policies\System"
Key = "DisableTaskMgr"
NewValue = 1
public OperationResult ModifyKey()
{
OperationResult result = new OperationResult();
if (!Path.IsNullOrEmptyTrim())
{
if (!Key.IsNullOrEmptyTrim())
{
try
{
var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true);
if (key != null)
{
key.SetValue(Key, NewValue);
key.Close();
}
else
{
result = CreateKey();
}
}
catch (Exception ex)
{
result.SetFail("Error accessing registry", ex);
}
}
else
{
result.SetFail("Registry key was null");
}
}
else
{
result.SetFail("Registry path was null");
}
return result;
}
Должен ли я вручную проходить по дереву реестра, устанавливая для каждого вызова OpenSubKey возможность записи? Я тоже пробовал это, все равно выдавал ту же ошибку...