English 中文(简体)
打开一个铬标签并关闭它
原标题:Open a Chrome Tab and Close it
  • 时间:2012-05-22 11:57:36
  •  标签:
  • c#
  • winforms

I want to open a Google Chrome tab, or default Browser. Then close it, after the user chooses to do so.

我在用

Process.Start("HTTP://www.MySite.Com");

打开浏览器, 但我没有关闭它的权限。 同时我不想关闭整个浏览器, 只是打开了标签 。

最佳回答

这在火牛城为我工作:

var proc = Process.Start("firefox.exe", "http://www.google.nl");
proc.Kill();

因为 Firefox 设置为单一窗口模式, 它打开了一个标签。 当我发布 Kill () 方法时, 此标签将失效( 但不是主窗口 ) 。 在这种情况下, Close () 方法对我无效 。

您可以对铬做同样的尝试。 您必须向一个真实的程序而不是 URL 本身提供 URL 作为参数, 否则 proc 是无效的 。

在此使用默认浏览器的完整示例 :

        string browser = string.Empty;
        RegistryKey key = null;
        try
        {
            key = Registry.ClassesRoot.OpenSubKey(@"HTTPshellopencommand");

            //trim off quotes
            if (key != null)
            {
                browser = key.GetValue(null).ToString().ToLower().Trim(new[] {  "  });
            }
            if (!browser.EndsWith("exe"))
            {
                //get rid of everything after the ".exe"
                browser = browser.Substring(0, browser.LastIndexOf(".exe", StringComparison.InvariantCultureIgnoreCase) + 4);
            }
        }
        finally
        {
            if (key != null)
            {
                key.Close();
            }
        }
        Process proc = Process.Start(browser, "http://www.google.nl");
        if (proc != null)
        {
            proc.Kill();
        }
问题回答

暂无回答




相关问题
Bring window to foreground after Mutex fails

I was wondering if someone can tell me what would be the best way to bring my application to the foreground if a mutex was not able to be created for a new instance. E.g.: Application X is running ...

How to start WinForm app minimized to tray?

I ve successfully created an app that minimizes to the tray using a NotifyIcon. When the form is manually closed it is successfully hidden from the desktop, taskbar, and alt-tab. The problem occurs ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

Handle DataTable.DataRow cell change event

I have a DataTable that has several DataColumns and DataRow. Now i would like to handle an event when cell of this DataRow is changed. How to do this in c#?

Apparent Memory Leak in DataGridView

How do you force a DataGridView to release its reference to a bound DataSet? We have a rather large dataset being displayed in a DataGridView and noticed that resources were not being freed after the ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

WPF-XAML window in Winforms Application

I have a Winforms application coded in VS C# 2008 and want to insert a WPF window into the window pane of Winforms application. Could you explain me how this is done.

热门标签