使用 C# 控制台应用程序打开和关闭 Internet 浏览器
Open and close internet browser with C# console application
我有一个简单的 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");
}
}
}
这非常有效,但 windows 保持打开状态(在单个浏览器实例中打开三个选项卡)。因为这将 运行 每隔一小时左右,有没有什么办法可以让应用程序在 'kill' 和 windows 被打开后发送到 windows?否则系统内存将被 Internet Explorer 会话慢慢消耗。
我找不到关于从控制台应用程序关闭浏览器的任何其他内容,但如果我错了,请指出正确的方向。
没有其他东西会使用浏览器,所以它不需要检查浏览器是否被控制台打开,它只需要关闭应用程序。它将 运行ning 作为远程服务器上的计划任务。谢谢
解决方案
最简单的方法是按照建议更改为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");
}
您可以按名称终止浏览器进程:
foreach (var process in Process.GetProcessesByName("iexplore.exe"))
{
process.Kill();
}
您不需要浏览器实例来请求 URL,您的控制台应用程序应该使用 WebClient
or an HttpWebRequest
.
来请求 URL
我有一个简单的 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");
}
}
}
这非常有效,但 windows 保持打开状态(在单个浏览器实例中打开三个选项卡)。因为这将 运行 每隔一小时左右,有没有什么办法可以让应用程序在 'kill' 和 windows 被打开后发送到 windows?否则系统内存将被 Internet Explorer 会话慢慢消耗。
我找不到关于从控制台应用程序关闭浏览器的任何其他内容,但如果我错了,请指出正确的方向。
没有其他东西会使用浏览器,所以它不需要检查浏览器是否被控制台打开,它只需要关闭应用程序。它将 运行ning 作为远程服务器上的计划任务。谢谢
解决方案
最简单的方法是按照建议更改为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");
}
您可以按名称终止浏览器进程:
foreach (var process in Process.GetProcessesByName("iexplore.exe"))
{
process.Kill();
}
您不需要浏览器实例来请求 URL,您的控制台应用程序应该使用 WebClient
or an HttpWebRequest
.