2012-10-24 40 views
0

更新我想用我的C#示例代碼更新「SCRNSAVE.EXE」價值..爲什麼SCRNSAVE.EXE價值不是由代碼

但它的犯規讓我這樣做.. !!

任何人都可以幫助我,下面是我用來更新價值的功能。

私人無效setAsDefaultScreenSaver(字符串valuePath)

{

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

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

}

回答

2

您正在打開的子項爲只讀。你需要傳入第二個參數來寫入它。

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 


} 
+0

感謝的人,你解決了我的問題.. 乾杯... !!! – Mayur

+0

非常好!!!!!! – awright18