2009-03-03 7 views
1

Je reçois une exception NullReference lorsque j'essaie de définir une valeur sur une clé de registre. Voici mon code. Quelqu'un sait-il pourquoi?NullReferenceException lors de la définition d'une valeur de registre

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

Désolé, le texte n'a pas été saisi. Je reçois cette erreur et j'ai du mal à comprendre pourquoi. Gardez à l'esprit que je suis nouveau à C# –

+0

Avez-vous un numéro de ligne pour l'erreur? – Suroot

Répondre

4

Essayez CreateSubKey au lieu de OpenSubKey. Ce dernier renverra null si la clé n'existe pas. Il est probable que la clé n'existe pas et c'est pourquoi vous frappez une référence nulle sur la ligne suivante.

0

Le problème était l'espace entre la version actuelle. Merci pour vos réponses

+0

Non, vous aurez toujours un problème si la sous-clé n'est pas là. Suggérez-vous de prendre des conseils Jareds. – paxdiablo

3

La version courante devrait avoir un seul mot. C'est à dire. Version actuelle.

Editer: Je suis également d'accord avec Jared, vous devriez également utiliser CreateSubKey.

Questions connexes