2016-01-24 359 views
-1

我在下面的注册表项SOFTWARE\\mysoftware\\"localmachine无法删除注册表项,甚至具有管理员权限

有内它。我的几个子文件夹和值只是想删除SOFTWARE\\myspftware\\

所以我用

Registry.LocalMachine.DeleteSubKeyTree("SOFTWARE\\mysoftware\\"); 

在具有管理权限的程序中。我不断收到错误

Cannot delete a subkey tree because the subkey does not exist.

即使键存在

+0

由于最终的反斜杠,该代码甚至无法编译。您的*实际*代码是否有尾部反斜杠(转义或不转义)?我会在没有的情况下尝试 - 密钥在逻辑上不会以反斜杠结尾;这只是分隔符。 –

+0

@JonSkeet我有2个backslahes。请参阅update.It是一个错字。 – techno

+0

哇,谢绝了我的编辑,然后做了精确的编辑... – hellyale

回答

2

尝试

RegistryKey mykey = Registry.LocalMachine.OpenSubKey("SOFTWARE", true); 
mykey.DeleteSubKeyTree("mysoftware"); 
mykey.Close(); 

我觉得在Registry.LocalMachine.OpenSubKey("SOFTWARE", true)true是魔法的一部分。

+0

我需要删除整个条目'SOFTWARE \\ test' – techno

+0

我会尽力回复。 – techno