gpt4 book ai didi

c# - 如何从 Process.Start 打开指向同一浏览器窗口或选项卡的链接?

转载 作者:太空狗 更新时间:2023-10-29 21:57:36 24 4
gpt4 key购买 nike

我正在尝试从 Windows 窗体上的 LinkLabel 打开浏览器窗口。单击时,控制传递给 LinkClicked 事件,代码调用默认浏览器使用:

System.Diagnostics.Process.Start("http://www.google.com");

我希望能够单击链接(即多次运行“开始”),但只能单击同一个浏览器窗口或选项卡。当然,多次点击每次都会打开一个新的 Google 标签页。我知道如何使用如下链接指定命名窗口:

<a href="http://www.google.com" target="googlewin">Click Here!</a>

但是我如何在“开始”命令中执行此操作?

预计到达时间:我在“关于”表单上单击了 Internet Explorer 自己的可链接链接,它每次都会打开一个新窗口,所以也许连 Microsoft 都做不到。嗯。

最佳答案

对于 Internet Explorer,您可以使用 SHDocVw 程序集执行此操作。

无需使用 process.start,只需创建一个 SHDocVw.InternetExplorer 实例,并在需要时使用它在同一浏览器中导航。这是一个简单的例子。

private SHDocVw.InternetExplorer IE;

private void Form1_Load(object sender, EventArgs e)
{
IE = new SHDocVw.InternetExplorer();
IE.Navigate("http://stackoverflow.com/");
IE.Visible = true;
}

private void button1_Click(object sender, EventArgs e)
{
IE.Navigate("http://google.com/");
}

如果您特别希望使用 Process.start,那么对于 Internet Explorer,您可以遍历 SHDocVw.ShellWindows 以找到您希望用于导航的 Internet Explorer。

foreach (SHDocVw.InternetExplorer IE in new SHDocVw.ShellWindows()) {
if (IE.FullName.ToLower.Contains("iexplore") & IE.LocationURL.ToLower.Contains("someurl")) {
IE.Navigate("http://google.com/");
}
}

关于c# - 如何从 Process.Start 打开指向同一浏览器窗口或选项卡的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com