0

我想使用我的 c# 示例代码更新“SCRNSAVE.EXE”值..

但它不允许我这样做..!!

任何人都可以帮我解决这个问题,下面是我用来更新价值的功能。

私人无效 setAsDefaultScreenSaver(字符串值路径)

{

   RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop");

   if (key == null)
     return;
   else
   {
      key.SetValue("SCRNSAVE.EXE", valuePath); 
      key.SetValue("ScreenSaveActive", "1");
   }

}

4

1 回答 1

2

您正在以只读方式打开子项。您需要传入 true 作为第二个参数来写入它。

private void setAsDefaultScreenSaver(string valuePath)
{
       RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop",true);

       if (key == null)
         return;
       else
       {
          key.SetValue("SCRNSAVE.EXE", valuePath); 
          key.SetValue("ScreenSaveActive", "1");
       }
       key.Close(); //close the key and flush it to disk


 }
于 2012-10-24T06:03:54.253 回答