使用c#控制台应用程序打开和关闭internet浏览器

本文关键字:internet 浏览器 控制台 应用程序 使用 | 更新日期: 2023-09-27 18:16:20

我有一个简单的c#控制台应用程序,我将使用它来轮询三个url,以便更新一个由第三方制作的网站(库存水平,产品图像等)。控制台应用程序如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Process.Start(@"http://URL1");
            System.Diagnostics.Process.Start(@"http://URL2");
            System.Diagnostics.Process.Start(@"http://URL3");
        }
    }
}

这可以很好地工作,但会使窗口打开(在一个浏览器实例中打开三个选项卡)。由于这将运行每小时左右,有没有一种方法,我也可以让应用程序"杀死"的窗口,一旦他们已经打开?否则系统内存会慢慢被ie会话占用。

我找不到关于从控制台应用程序关闭浏览器的任何其他内容,但如果我错了,请指出正确的方向。

没有其他东西会使用浏览器,所以它不需要检查浏览器是否被控制台打开,它只需要关闭应用程序。它将作为一个计划任务在远程服务器上运行。谢谢。

<

解决方案/strong>

最简单的方法是按照建议改为HttpWebRequest。结果代码如下:

static void Main(string[] args)
{
    HttpWebRequest myReq1 = (HttpWebRequest)WebRequest.Create("http://URL1");
    HttpWebRequest myReq2 = (HttpWebRequest)WebRequest.Create("http://URL2");
    HttpWebRequest myReq3 = (HttpWebRequest)WebRequest.Create("http://URL3");
}

使用c#控制台应用程序打开和关闭internet浏览器

你不需要浏览器实例来请求URL,你的控制台应用程序应该使用WebClientHttpWebRequest来请求URL。

可以通过以下方式终止浏览器进程:

foreach (var process in Process.GetProcessesByName("iexplore.exe"))
{
  process.Kill();
}
相关文章: