Поэтому я вручную перешел к разделу реестра, который доставлял мне проблемы, и вот как выглядела вкладка разрешений:

Это заставило меня задуматься о том, как я могу запустить процесс от имени пользователя " система"? Звучит странно, но, видимо, есть системный пользователь, верно? Я знаю, как запустить от имени администратора, но, возможно, можно запустить и от имени системы.
Изменить
вот мой код. По сути, я хотел бы просмотреть все ключи реестра:
Код: Выделить всё
class Program
{
// class to store reg key.
[Serializable]
[DebuggerDisplay("Name = {Name}, Val = {value}, type={type}")]
class MyRegKey
{
public string Name;
public object value;
public RegistryValueKind type;
public List SubKeys = new List();
public List Values = new List();
}
static MyRegKey root = new MyRegKey();
static void TraverseTree(RegistryKey key, MyRegKey temp)
{
foreach (var v in key.GetValueNames())
{
var kind = key.GetValueKind(v);
var value = key.GetValue(v, null);
var name = v;
temp.Values.Add(new MyRegKey { Name = name, value = value, type = kind });
}
var x = key.GetSubKeyNames();
for (var i = 0; i < x.Length; i++)
{
RegistryKey productKey;
productKey = key.OpenSubKey(x[i], false); //
Подробнее здесь: [url]https://stackoverflow.com/questions/14972045/start-process-as-system-user[/url]
Мобильная версия