我想在我的C#代碼中設置一個註冊表項,但它不會一直工作。有時它確實起作用,有時它不起作用。我開始變得瘋狂...... 在以前的項目中,我沒有任何問題可以寫入和閱讀註冊表,但我現在就可以做到。設置註冊表項不起作用。有時
下面是我使用的代碼:
string newVersion = "10A";
RegistryKey key = null;
try
{
key = Registry.CurrentUser.CreateSubKey("Software\\stuff1\\stuff2 " + newVersion + "\\" + newVersion + "\\stuff3\\Settings", RegistryKeyPermissionCheck.ReadWriteSubTree);
key.SetValue("CopyConvertDone", "1", RegistryValueKind.String);
key.Flush();
rep.Message("CopyConvertDone registry key set for revision: " + newVersion);
}
catch (Exception e)
{
rep.Error(e);
}
finally
{
if (key != null)
{
key.Close();
}
else
{
rep.Error("Registry key is set to null.");
}
}
我已經嘗試過,但沒有工作: - 而不是使用CreateSubKey我試圖OpenSubKey設置爲true寫參數。 - 增加了.Flush()方法。 - 在進行我的程序(需要此註冊表項)之前,讓Thread.Pause(2000)給了它一段時間(它需要此註冊表項)
我沒有收到任何錯誤並且子項已存在,但值(CopyConvertDone)doesn 「T。
任何人都可以看到這個代碼中的問題,並有一個可能的解決方案?
你能否澄清當它失敗時會發生什麼 - 你是否得到某種異常或只是在註冊表中沒有改變? – glenatron 2010-02-26 14:35:50
上面的代碼實際上被調用了嗎? – 2010-02-26 14:36:22