Как вставить любое значение в реестр с помощью C #? - PullRequest
1 голос
/ 12 декабря 2010

Я должен вставить это в реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect]
"AutoRun"="d:\\MyFolder\\MyProgram.exe"

Как бы я это сделал в C #?

Ответы [ 2 ]

7 голосов
/ 12 декабря 2010

Примерно так:

string name = @"SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect";
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(name, true))
{
    if (key == null)
    {
        // Whatever you want to do if the key isn't found
    }
    else
    {
        key.SetValue("AutoRun", @"d:\MyFolder\MyProgram.exe");
    }
}

Если вы используете CreateSubKey вместо OpenSubKey, это создаст его, если он еще не существует (или откройте его дляпишите иначе) - но я подозреваю, что в большинстве случаев, если ключ не существует, это означает, что остальная часть системы не находится в подходящем состоянии для вашего приложения.

3 голосов
/ 12 декабря 2010

Вы можете использовать класс Registry :

var path = @"Software\Microsoft\Windows CE Services\AutoStartOnConnect";
using (var key = Registry.LocalMachine.OpenSubKey(path, true))
{
    if (key != null)
    {
        key.SetValue("AutoRun", @"d:\MyFolder\MyProgram.exe");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...