如何获取并设置自己的浏览器为默认浏览器2011-01-12 博客园 伍华聪在.net里面,有一个WebBrowser控件,这个控件可以用于很多用途,很多人用来定做自己的浏览器,本文谈谈如何获取默认浏览器的设置,并介绍如何设置自己的浏览器为默认浏览器的小技巧。先看一个小的界面图形,用来更好理解这个功能的用途,如下图我们可以看到需要获取到系统的默认浏览器名称,并提供设置默认浏览器功能。

其实,这些操作都是和注册表相关的内容,这些内容保存在键HKEY_CLASSES_ROOThttpshellopencommand中的默认值里面,

而默认浏览器的名称保存在HKEY_CLASSES_ROOThttpshellopenddeexecApplication的默认值里面。基本上我们修改这两个键值就可以实现默认浏览器的设置了。在上面的默认浏览器界面中,我封装了一些方法,现发布出来,希望对大家有用处。
private void FrmOptions_Load(object sender, EventArgs e)
{
InitDefaultBrowser();
}
private void InitDefaultBrowser()
{
string defaultName = RegistryHelper.GetDefaultBrowerName();
try
{
string browserPath = CRegex.GetText(defaultName, ""(?<key>.*?)"", 1);
FileInfo fileInfo = new FileInfo(browserPath);
string fileName = fileInfo.Name.Replace(fileInfo.Extension, "");
this.lblDefaultName.Text = fileName;
}
catch(Exception ex)
{
LogHelper.Error(ex);
}
}
private void btnSetDefault_Click(object sender, EventArgs e)
{
RegistryHelper.SetDefaultBrowser(Application.ExecutablePath);
MessageUtil.ShowTips("设置默认浏览器成功");
InitDefaultBrowser();
}
private void btnReset_Click(object sender, EventArgs e)
{
RegistryHelper.ResetIEDefaultBrowser();
MessageUtil.ShowTips("恢复IE为默认浏览器成功");
InitDefaultBrowser();
}