我正在使用它来获取默认网络浏览器的路径和可执行文件:
public static string DefaultWebBrowser
{
get
{
string path = @"\http\shell\open\command";
using (RegistryKey reg = Registry.ClassesRoot.OpenSubKey(path))
{
if (reg != null)
{
string webBrowserPath = reg.GetValue(String.Empty) as string;
if (!String.IsNullOrEmpty(webBrowserPath))
{
if (webBrowserPath.First() == '"')
{
return webBrowserPath.Split('"')[1];
}
return webBrowserPath.Split(' ')[0];
}
}
return null;
}
}
}
和:
protected static bool Run(string FileName, string Args)
{
try
{
Process proc = new Process();
processInfo.FileName = FileName;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
if(Args != null) proc.StartInfo.Arguments = Args;
proc.Start();
return true;
}
catch (Exception) { }
return false;
}
然后我调用网络浏览器:Run(DefaultWebBrowser, "foo.html")
问题是:上面的函数调用的是 Firefox 和 IE(我电脑上安装的两个网络浏览器),而不是默认的网络浏览器 Internet Explorer。我不知道如何解决这个问题。
编辑
我已经下载并安装了谷歌浏览器,将其设置为默认网络浏览器,但奇怪的是,上面的错误并没有发生。