Tôi đang sử dụng này để có được đường dẫn và thực thi của trình duyệt web mặc định:Mở một file html bằng trình duyệt web mặc định
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;
}
}
}
Và:
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;
}
Sau đó tôi gọi là trình duyệt web: Run(DefaultWebBrowser, "foo.html")
Câu hỏi đặt ra là: Tôi gặp sự cố, chức năng trên đang gọi firefox và IE (hai trình duyệt web được cài đặt trên máy của tôi) thay vì Internet Explorer, trình duyệt web mặc định. Tôi ko có ý tưởng nào để sửa nó. Bất kỳ trợ giúp là rất đánh giá cao. Cảm ơn trước.
EDIT
Tôi đã tải và cài đặt Google Chrome, thiết lập nó như là trình duyệt web mặc định, nhưng kỳ quặc lỗi trên không xảy ra với nó.
Tôi đã thử nó. Nhưng trong một số chiếc .htm/.html không được mở bằng trình duyệt web. các phần mở rộng .htm/.html có thể được liên kết với một trình soạn thảo văn bản hoặc IDE chẳng hạn. – Jack
Mặc dù chương trình mặc định _can_ được thay đổi, bạn không nên gặp sự cố thực sự. Xem [this] (http://support.microsoft.com/kb/224816) để biết một số mẹo về cách sử dụng 'ShellExecute' để khởi chạy trình duyệt web mặc định và cũng là đường dẫn cho một số khóa registry (mà bạn có thể đã biết của). Cuối cùng, người dùng hầu như có thể can thiệp bằng cách thay đổi một số chương trình mặc định ... nhưng bạn không nên lo lắng quá nhiều về điều này, vì nó không thể tránh khỏi ở một mức độ nhất định. – Spooky
Như Jack đã nói, đây là một ý tưởng khủng khiếp. Cá nhân tôi có một trình soạn thảo được đặt làm ứng dụng mặc định để mở các tệp HTML và không cần phải kết thúc để xem các chương trình mở tệp readme của họ trong trình chỉnh sửa đó thay vì trình duyệt mặc định. Có sự khác biệt giữa 'trình duyệt mặc định' và 'ứng dụng mặc định để mở HTML bằng' trong Windows. – Nyerguds