删除注册表好像没有生效

以下代码删除了注册表项,但从未进入 for 循环(它应该进入,因为它会检查该值是否已被删除)为什么会这样?(我使用的是 Windows 10 - 64 位)当我导航到那里时,LocalMachine\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run我看不到任何HackerOne扫描仪值!(我创建后就检查过)


    RegistryKey rk1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

    rk1.DeleteValue("HackerOne Scanner", false);

    if (Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "true", true) == null)

    {

        try

        {

            RegistryKey rk = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            rk.SetValue("HackerOne Scanner", Application.ExecutablePath);

        }

        catch { MessageBox.Show("Admin Rights Are Required"); Application.Exit(); }

    }


慕工程0101907
浏览 160回答 1
1回答

GCT1015

Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "true", true)true未找到值时返回,而不是 ,因为您作为默认值null传递。但是您可以作为默认值true传递。nullRegistry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "true", null);但是请注意,您正在搜索的值不是您随后设置的值truevs "HackerOne Scanner"。那可能不是故意的。
打开App,查看更多内容
随时随地看视频慕课网APP