2013-02-20 48 views
-1

首先,我需要设置正确的注册表项,然后再继续执行代码片段以更改我的注册表项。以编程方式更改Windows 7上的标准浏览器

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

所有注册表项都不在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"); 
+0

'不行'?那么,*如何*?你已经改变了他们的权利...什么?使用**什么代码**?现在你已经改变了他们**发生了什么**? – Arran 2013-02-20 10:55:06

+0

提示:在字符串前加@符号可以避免使用转义字符。这有什么关系?它不是;) – 2013-02-20 11:09:40

+0

我将其更改为我的Browser.exe,并从所有这些条目中删除了Firefox。 Firefox仍然作为默认浏览器启动。但他每次都问我,如果我要他作为默认浏览器,因为他没有设置.... 是的,我知道@。这只是注册表中工作的一些示例代码。 @Arran请阅读我的整篇文章... – 2013-02-20 13:10:48

回答

0

你可以使用Sysinternals的工具(我忘了名字),它需要一个进程并记录所有api和注册表活动,并查看Google-Chrome如何执行此操作。
或者您可以直接查看铬源代码。

或者你可以偷懒,只是使用谷歌,至极会让你觉得这个搜索结果:
how do i change default browser using c# or batch file

+0

本文无法帮助。正如你可以清楚地看到的,stackoverflow条目没有标记为已回答。 也许我会做的工作,看看铬代码,这是一个比stackoverflow帖子更好的提示^^ – 2013-02-20 13:12:48

0

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

相关问题