Как получить доступ к реестру
Цитата: Илья от 29.10.2020, 23:16Всем привет, подскажите пожалуйста, как можно изменить значение в реестре если к нему нет доступа, вот кусочек кода.
void CheckBox11_CheckedChanged(object sender, EventArgs e) { string user = Environment.UserDomainName + "\\" + Environment.UserName; RegistrySecurity rs = new RegistrySecurity(); rs.AddAccessRule(new RegistryAccessRule(user, RegistryRights.WriteKey, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow)); using (RegistryKey rk = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\DelayedApps")) { rk.SetAccessControl(rs); rk.SetValue("Delay_Sec", 0x00000120); } }
Всем привет, подскажите пожалуйста, как можно изменить значение в реестре если к нему нет доступа, вот кусочек кода.
void CheckBox11_CheckedChanged(object sender, EventArgs e)
{
string user = Environment.UserDomainName + "\\" + Environment.UserName;
RegistrySecurity rs = new RegistrySecurity();
rs.AddAccessRule(new RegistryAccessRule(user, RegistryRights.WriteKey, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow));
using (RegistryKey rk = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\DelayedApps"))
{
rk.SetAccessControl(rs);
rk.SetValue("Delay_Sec", 0x00000120);
}
}
Цитата: Adler от 29.10.2020, 23:25Добрый день.
UAC включен? Если да, то запускаете с правами администратора?
Добрый день.
UAC включен? Если да, то запускаете с правами администратора?
Цитата: Илья от 29.10.2020, 23:34UAC выключен, да, запускаю программу от админа.
UAC выключен, да, запускаю программу от админа.
Цитата: Adler от 29.10.2020, 23:41В данную ветку писать можно только с правами TrustedInstaller
[spoiler][/spoiler]
В данную ветку писать можно только с правами TrustedInstaller

Цитата: Илья от 29.10.2020, 23:48Это я знаю, вот и возник вопрос как это можно сделать программно, сегодня целый день искал информацию, экспериментировал, но особо не чего не нашел.
И я так понял мой код бесполезен.))
Это я знаю, вот и возник вопрос как это можно сделать программно, сегодня целый день искал информацию, экспериментировал, но особо не чего не нашел.
И я так понял мой код бесполезен.))
Цитата: Adler от 29.10.2020, 23:56Там не все так просто.
На github поищите, есть примеры реализации получения прав.
Нужно либо запускать команды записи в реестр из командной строки, либо переписывать функцию для запуска кода с повышенными правами. Но для этого нужно разобраться как это все работает и иметь знания c# выше среднего.
Там не все так просто.
На github поищите, есть примеры реализации получения прав.
Нужно либо запускать команды записи в реестр из командной строки, либо переписывать функцию для запуска кода с повышенными правами. Но для этого нужно разобраться как это все работает и иметь знания c# выше среднего.
Цитата: Илья от 30.10.2020, 00:03Понял, спасибо за информацию, буду искать дальше.
Понял, спасибо за информацию, буду искать дальше.