如何使用C#在Windows 8中设置默认浏览器?

Shu*_*ava 7 c# browser default windows-8

我们都很容易在Windows 8之前(在XP/VISTA/WIN7中)执行此操作,只需对Registry进行少量更改即可完成.

使用Windows 8并不是那么容易(我还没弄清楚如何).Windows 8也没有下面提到的更改注册表设置,但除此之外,它还为每台计算机存储一个唯一的哈希.任何机构可以帮助我可能创造这个散列为每台计算机或微软提供的设置默认浏览器的一些API("SetAppAsDefaultAll"不工作).以下是注册表项.

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.htm\UserChoice Progid:IE.AssocFile.HTM哈希:XXXXXXXXXXX

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.html\UserChoice Progid:IE.AssocFile.HTM哈希:XXXXXXXXXXX

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.xht\UserChoice Progid:IE.AssocFile.XHT哈希:XXXXXXXXXXX

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.xhtml\UserChoice Progid:IE.AssocFile.XHT哈希:

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoice Progid:IE.FTP哈希:XXXXXXXXXXX

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice Progid:IE.HTTP哈希:XXXXXXXXXXX

计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice Progid:IE.HTTPS哈希:XXXXXXXXXXX

提前谢谢了.

Shu*_*ava 5

对于所有等待回答这个问题的人.

在这里,看起来这样做的方法之一是通过Win 8提供的DISM.exe.您的用户应该是该机器的管理员.

使用C#代码,您应该能够使用特定参数运行此DISM.exe.

以下博客有详细信息.

http://blogs.technet.com/b/mrmlcgn/archive/2013/02/26/windows-8-associate-a-file-type-or-protocol-with-a-specific-app-using-a- GPO-EG-默认邮件客户端换至mailto-protocol.aspx

谢谢.