エラーはありません。例外はありません。レジストリがそのまま残っていることを除いて、すべてがOKであるようです。C#:Windowsレジストリの変更を見ることができません
class Program
{
static void Main(string[] args)
{
try
{
Edit();
}
catch (Exception)
{
Restore(); // not included in the sample for simplicity
}
}
public static void Edit()
{
Microsoft.Win32.RegistryKey Login;
Login = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(ConfigurationManager.AppSettings["Login"].ToString());
Login.SetValue("ServerName", ConfigurationManager.AppSettings["ServerName"].ToString());
Login.SetValue("ImageServerName", ConfigurationManager.AppSettings["ImageServerName"].ToString());
Login.Close();
Microsoft.Win32.RegistryKey Login2;
Login2 = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(ConfigurationManager.AppSettings["Wow6432NodeLogin"].ToString());
Login2.SetValue("ServerName", ConfigurationManager.AppSettings["Wow6432NodeServerName"].ToString());
Login2.SetValue("ImageServerName", ConfigurationManager.AppSettings["Wow6432NodeImageServerName"].ToString());
Login2.Close();
}
}
どこかにエラーがあると思います。しかし、例外はスローされません。キャッチブロックは決してヒットしません。
私は管理者として実行しています。私は管理者特権なしで実行しましたが、 "アクセスが拒否されました"と表示されるはずです。変更を適用するためにラップトップを再起動しましたが、まだ成功しませんでした。
私は最近追加された値を読み取るためにこのコードを使用し、私はキーを見ることができます。しかし、何らかの形で変更が適用されていません。
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(ConfigurationManager.AppSettings["Login"].ToString());
Object o = key.GetValue("ServerName");
Console.WriteLine(o.ToString());
私はSO、任意のCPUのために構築し、純4.5.2を使用しています:
Windows 7を私は変更か何かをコミットする必要がありますか?
おそらくエラーが発生しています。エラーの内容を確認できるようにコードを編集する必要があります。 – SLaks
これは私の考えですが、コンソールにエラーは表示されません。キャッチブロックは決してヒットしません。 –
あなたはどのように知っていますか?あなたのコードは、 'catch'ブロックがヒットするかどうかを知る方法を提供しません。 – SLaks