2013-02-20 82 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註冊表項。 乾杯!

相關問題