[英]UnauthorizedAccessException while accessing registry key in domain network
我想為注冊表項設置值。 當我嘗試使用 SetValue 方法時,它會拋出UnauthorizedAccessException異常,它說:
試圖執行未經授權的操作。
這是我的代碼:
var key = Microsoft.Win32.Registry.CurrentUser
.OpenSubKey("SOFTWARE")
.OpenSubKey("Microsoft")
.OpenSubKey("Windows")
.OpenSubKey("CurrentVersion")
.OpenSubKey("Run", true);
if (key.GetValue("MyKey") == null)
{
key.SetValue("MyKey", localPath, Microsoft.Win32.RegistryValueKind.String);
}
你為什么不試試Registry
Class 呢??
下面是來自我的實時服務器的工作代碼。
RegistryKey registry = Registry.LocalMachine.OpenSubKey(@"software\newclient", true);
if (registry == null)
{
Registry.LocalMachine.CreateSubKey(@"software\newclient");
registry = Registry.LocalMachine.OpenSubKey(@"software\newclient", true);
}
if (registry.GetValue("CreatedTime")==null)
{
registry.SetValue("CreatedTime", "1/1/1900 00:00 PM");
}
if (registry.GetValue("CurrentVersion") == null)
{
registry.SetValue("CurrentVersion", "0.0.0.0");
}
if (Convert.ToDateTime(registry.GetValue("CreatedTime").ToString()) != Convert.ToDateTime(arr[1]))
{
/*
* other code snippet
*
*/
registry.SetValue("CurrentVersion",arr[0]);
registry.SetValue("CreatedTime", arr[1]);
return true;
}
registry.Close();
return false;
OpenSubKey可以帶2個參數,其中一個是子鍵路徑,第二個可以帶writable(bool)參數
using(RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Environmen", true))
{
key.SetValue(saveValue, RegSelect);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.