Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式更改Windows 7上的标准浏览器_C#_Windows_Windows 7_Registry - Fatal编程技术网

C# 以编程方式更改Windows 7上的标准浏览器

C# 以编程方式更改Windows 7上的标准浏览器,c#,windows,windows-7,registry,C#,Windows,Windows 7,Registry,首先,我需要设置正确的注册表项,然后才能继续使用代码段更改注册表项 我已经尝试了所有我在互联网上找到的,这就是为什么我现在张贴在这里 上引用的所有注册表项均不工作。 同样,改变这些也行不通: 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\h

首先,我需要设置正确的注册表项,然后才能继续使用代码段更改注册表项

我已经尝试了所有我在互联网上找到的,这就是为什么我现在张贴在这里

上引用的所有注册表项均不工作。 同样,改变这些也行不通:

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");

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

或者你可以懒洋洋地使用谷歌,它会让你找到这个搜索结果:

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

“行不通”吗?那怎么办?你把他们改对了…改成什么?使用什么代码?现在您已经更改了它们,会发生什么情况?提示:在字符串文本前面放一个@符号可以让您不使用转义字符。这有什么关系?事实并非如此;)我将它改为我的Browser.exe,并从所有这些条目中删除了Firefox。Firefox仍在作为默认浏览器启动。但他每次都会问我是否希望他作为默认浏览器,因为他没有设置。。。。是的,我知道。这只是注册表中工作的一些示例代码@阿伦,请阅读我的全部帖子…这篇帖子无论如何都没有帮助。您可以清楚地看到,stackoverflow条目没有标记为已应答。也许我会做的工作,看看铬代码,这是一个比stackoverflow帖子更好的提示^^