0

私は次のコードを書きました:

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

4

1 に答える 1

2

が nullであるため、例外がスローされます (代わりにがキー名で使用されているrootKeyため、OpenSubKey 操作が失敗しました)。次のコードを使用します。//\\

using(RegistryKey rootKey = Registry.ClassesRoot.OpenSubKey("SystemFileAssociations\\.txt", true)) {
    if(rootKey != null) { 
        // do staff
    }
}
于 2013-04-28T11:08:41.190 に答える