如何使用C#将任何值插入注册表?

Gol*_*old 1 c# registry

我必须将其插入到注册表中:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect]
"AutoRun"="d:\\MyFolder\\MyProgram.exe"
Run Code Online (Sandbox Code Playgroud)

我怎么用C#做这个?

Jon*_*eet 7

像这样的东西:

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");
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你使用CreateSubKey而不是OpenSubKey,那将创建它,如果它还不存在(或打开它写,否则) - 但我怀疑在大多数情况下,如果密钥不存在那么这表明系统的其余部分是适合您的应用的状态.