2009-03-03 5 views
1

값을 레지스트리 키로 설정하려고 할 때 NullReference 예외가 발생합니다. 아래는 제 코드입니다. 아무도 이유를 아나요?레지스트리 값을 설정할 때 NullReferenceException이 발생했습니다.

using System; 
using Microsoft.Win32; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      RegistryKey myKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\Current Version\\Policies\\System", true); 
      myKey.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord); 

     } 
    } 
} 
+0

죄송합니다. 텍스트를 가져 오지 못했습니다. 그 오류가 발생하고 이유를 알아 내는데 어려움이 있습니다. C#을 처음 접했습니다. # –

+0

오류가 발생한 줄 번호가 있습니까? – Suroot

답변

4

OpenSubKey 대신 CreateSubKey를 사용해보십시오. 후자는 키가 존재하지 않으면 null을 반환합니다. 키가 존재하지 않기 때문에 다음 줄에서 null 참조가 발생했습니다.

0

문제는 현재 버전 간의 공간입니다. 답장을 보내 주셔서 감사합니다.

+0

아니요, 하위 키가 없으면 여전히 문제가 발생합니다. Jareds의 조언을 청하십시오. – paxdiablo

3

현재 버전은 한 단어 여야합니다. 나는. CurrentVersion.

편집 : 나는 또한 Jared와 함께 CreateSubKey도 사용해야한다고 동의합니다.

관련 문제