读注册表

本文关键字:注册表 | 更新日期: 2023-09-27 18:11:25

我写了以下代码:

RegistryKey _Key = Registry.ClassesRoot.OpenSubKey("SystemFileAssociations", true);
foreach (String s in names)
{
    System.Windows.Forms.MessageBox.Show("Done.===================" + s);
}
_Key.Close();

输出一个等于.txt

的表项

但是,当我这样做时,即尝试像这样访问/HKCR/SFA/.txt键:

RegistryKey rootKey = Registry.ClassesRoot.OpenSubKey("SystemFileAssociations//.txt", true);
rootKey.Close();

我得到以下错误:

SystemNullReferenceException: Object reference not set to an instance of an object

读注册表

抛出异常,因为rootKey为空(OpenSubKey操作失败,因为在密钥名称中使用了//而不是'')。使用以下代码:

using(RegistryKey rootKey = Registry.ClassesRoot.OpenSubKey("SystemFileAssociations''.txt", true)) {
    if(rootKey != null) { 
        // do staff
    }
}