0

首先,在继续使用代码片段更改注册表项之前,我需要设置正确的注册表项。

我已经尝试了我在互联网上找到的所有内容,这就是我现在在这里发布的原因。

MSDN上提到的所有注册表项都不起作用。改变这些也不起作用:

HKEY_CLASSES_ROOT\http\shell\open\command

HKEY_CLASSES_ROOT\.htm

HKEY_CLASSES_ROOT\.html

HKEY_CLASSES_ROOT\http\shell\open\command

HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application

HKEY_CLASSES_ROOT\ftp\shell\open\command

HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application

HKEY_CLASSES_ROOT\gopher\shell\open\command

HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application

HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet

我的注册表不应该知道关于我的 Mozilla 的任何信息,因为我在每个条目中都输入了我自己的编码浏览器。

不知道该怎么办...

在获得正确的条目后,我会使用这样的代码片段来添加和更改条目:

        RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\My Registry Key", true);

        myKey.SetValue("My String Value", "Test Value", RegistryValueKind.String);

        string myValue = (string)myKey.GetValue("My String Value");
4

2 回答 2

1

这有点晚了,也许太晚了,但其他人可能会从我的回答中受益。上面代码中更改的设置符合 Windows XP 而不是 Windows Vista 或 7。要在 Win Vista 或 7 中设置默认浏览器,请使用 CURRENT_USER 注册表项。干杯!

于 2013-05-10T13:00:53.493 回答
0

您可以使用 sysinternals 工具(我忘记了名称),它需要一个进程并记录所有 api 和注册表活动,并查看 Google-Chrome 是如何做到的。
或者您可以直接查看铬源代码。

或者你可能很懒,只使用谷歌,它会让你找到这个搜索结果:
我如何使用 c# 或批处理文件更改默认浏览器

于 2013-02-20T11:20:14.930 回答