none
vb 删除注册表值的问题 RRS feed

  • 问题

  • 如图,在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run键值内有一个值TestApp,使用下面的代码删除该值:

    Dim DeleteKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser
    DeleteKey.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
    DeleteKey.DeleteValue("TestApp")

    但运行时提示No value exists with that name.说没有这个名字的值。

    求如何解决?

    2015年2月14日 14:21

答案

  • 如图,在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run键值内有一个值TestApp,使用下面的代码删除该值:

    Dim DeleteKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser
    DeleteKey.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
    DeleteKey.DeleteValue("TestApp")

    但运行时提示No value exists with that name.说没有这个名字的值。

    求如何解决?

    1.DeleteKey 其实还是指 CurrentUser这个key 而不是Run.

    2.OpenSubKey 如果不添加第二个参数true的话 是以只读的方式来打开子键的。

    具体可以参考下面的例子。

     Dim DeleteKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser
            Dim targetKey As Microsoft.Win32.RegistryKey
            targetKey = DeleteKey.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
            targetKey.DeleteValue("TestApp")


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2015年2月16日 7:28
    版主