用VB.NET检查Windowsregistry中是否存在密钥

在VB.NET中,我可以像这样在Windowsregistry中创build一个键:

My.Computer.Registry.CurrentUser.CreateSubKey("TestKey") 

我可以检查一个键是否存在这样的

 If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\MyKey", _ "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") Else MsgBox("Value exist.") End If 

但是我如何检查registry中是否存在具有特定名称的密钥

一种方法是使用Registry.OpenSubKey方法

 If Microsoft.Win32.Registry.LocalMachine.OpenSubKey("TestKey") Is Nothing Then ' Key doesn't exist Else ' Key existed End If 

不过,我建议你不要走这条路。 返回NothingOpenSubKey方法意味着密钥在过去的某个时刻不存在。 当该方法返回另一个程序中的另一个操作可能导致密钥被创建。

事实上,我没有检查关键的存在和创建它,而是直接去CreateSubKey