我已经用 c# 编写了 windows 应用程序,它在标签单击事件时在默认浏览器中打开网站。我的默认浏览器是谷歌浏览器。因此,当我启动我的应用程序并单击标签时,它无法在 Chrome 中打开网站。Chrome 抛出错误“无法创建数据目录 - Google Chrome 无法读取和写入其数据目录”。我正在使用“System.Diagnostics.Process.Start”来启动进程。
一件有趣的事情是,当我关闭我的应用程序并重新打开它时。它成功地在默认 Chrome 浏览器中打开网站。:)
我尝试使用 Process.StartInfo 的各种选项,但从未成功。以下是用于运行网站的方法。
我正在使用 Windows 8-64Bit 和 .Net Framework 4。你能帮我解决这个问题吗?
测试1:
public static void RunWebClient()
{
Process proc = new Process();
Microsoft.Win32.RegistryKey subKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command");
String DefaultBrowser = subKey.GetValue(null).ToString();
if (DefaultBrowser != null)
{
int startIndex = DefaultBrowser.IndexOf("\"") + 1;
int endIndex = DefaultBrowser.IndexOf("\"", startIndex);
string RegDefaultBrowserPath = DefaultBrowser.Substring(startIndex, endIndex - startIndex);
proc.StartInfo.FileName = RegDefaultBrowserPath;
proc.StartInfo.Arguments = @"http://localhost/Test/";
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.LoadUserProfile = false;
proc.Start();
}
}
测试2:
public static void RunWebClient()
{
System.Diagnostics.Process.Start("http://localhost/Test/");
}