2010-12-12 14 views
1
私は、レジストリにこれを挿入する必要が

C#を使用してレジストリに値を挿入する方法は?

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

がどのように私はC#でこれを行うのでしょうか?このような

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"); 
    } 
} 
+3

プログラムには、レジストリにアクセスするための十分な権限、特に 'HKLM'があることを確かめていますか? –

答えて

7

何か:

3

あなたがRegistryクラス使用することができ

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"); 
    } 
} 

があなたの代わりにOpenSubKeyCreateSubKeyを使用している場合は、それが存在しない場合は作成されます(またはそうでなければ書き込み用に開いてください) - しかし、私は、ほとんどの場合、キーが存在しないと、残りのシステムがあなたのアプリケーションに適切な状態にないことを示していると考えられます。

関連する問題