使用Windows应用程序c#/ vb.net关闭浏览器中的单个选项卡

时间:2018-05-09 06:51:04

标签: c# vb.net

我正在尝试使用URL从我的Windows应用程序中在浏览器中打开Process.start()。我只想关闭我的Windows应用程序创建的选项卡,而不是关闭整个浏览器窗口。

我尝试Process.Kill(),但它会关闭整个浏览器窗口。

有没有办法做到这一点?

由于

2 个答案:

答案 0 :(得分:0)

不幸的是,没有办法在浏览器中使用VB.NET或C#(或任何服务器端代码)关闭特定选项卡。这样做的唯一方法是在打开的网页中使用Javascript。如果您创建了此页面,则可以编写一个关闭选项卡的客户端命令。使用服务器端代码启动网站后,控件将传递给浏览器本身。您唯一能做的就是完全关闭浏览器进程。

作为旁注,某些浏览器(如Google Chrome)会为每个标签保留一个特定的Windows进程。因此,您可以跟踪打开的进程,并通过其PID关闭它。但是这个解决方案不适用于其他浏览器。如果您想强制用户通过谷歌浏览器启动您的网站,您可以使用您要定位的网址的起始参数启动chrome.exe

答案 1 :(得分:0)

  

没有什么是不可能的,一切都非常复杂。

一般来说,无法关闭浏览器的特定标签。

然而,“永远不要做”这样做的方式可能是:

  • 使用特定浏览器(例如Chrome)打开网址;
  • 使浏览器(<browser>.exe进程)成为活动窗口(使用WinAPI);
  • 发送一个组合键以选择所需的选项卡(它应该已被选中);
  • 发送组合键以关闭标签(例如CTRL + W

只是一个想法..