如何检查谷歌chrome是否正在运行
本文关键字:是否 chrome 运行 谷歌 何检查 检查 | 更新日期: 2023-09-27 18:21:11
我可以通过C#关闭Google chrome,如下所示:
Process[] chromeInstances = Process.GetProcessesByName("chrome");
foreach (Process p in chromeInstances)
{
p.Kill();
}
但我不知道有什么方法可以检查谷歌浏览器是否在运行。
我想知道的方法检查,如果谷歌铬是运行或不首先,从而将关闭谷歌铬通过C#。
只需检查获得的数组
Process[] chromeInstances = Process.GetProcessesByName("chrome");
if (chromeInstances.Length > 0)
{
//then chrome is up
}
else
{
//not working now
}
如果您想练习通过Process
对象处理Chrome实例,可以使用LinqPad进行代码片段处理。下载后,您可以将"语言"下拉列表更改为C# Program
并粘贴此代码。慢慢来,在发布另一个问题之前,在这里玩并尝试一下。我看到你以前问过一个问题,得到了一个半答案,去掉了这个半答案,然后又提出了一个新问题,但仍然不能100%清楚你在寻找什么。StackOverflow并不是为您完成每一步,请先尝试。如果你仍然被困,张贴你的代码与一个适当的问题,以寻求帮助。
void Main()
{
var chromeProcess = new ChromeProcess();
Console.WriteLine(chromeProcess.AnyInstancesRunning());
Console.WriteLine(chromeProcess.NumberOfInstancesRunning());
chromeProcess.ChromeInstanceIds().Dump("Chrome Instance Ids");
chromeProcess.KillChromeInstance(2816);
//open and close a few chrome windows
chromeProcess.RefreshInstances();
Console.WriteLine(chromeProcess.AnyInstancesRunning());
Console.WriteLine(chromeProcess.NumberOfInstancesRunning());
chromeProcess.ChromeInstanceIds().Dump("Chrome Instance Ids");
}
// Define other methods and classes here
public class ChromeProcess
{
private const string ImageName = "chrome";
private IEnumerable<Process> _Instances;
public ChromeProcess()
{
_Instances = Process.GetProcessesByName(ImageName);
}
public bool AnyInstancesRunning()
{
return _Instances.Any();
}
public int NumberOfInstancesRunning()
{
return _Instances.Count();
}
public IEnumerable<int> ChromeInstanceIds()
{
return _Instances.Select(i => i.Id).ToArray();
}
public void KillChromeInstance(int id)
{
var process = Process.GetProcessById(id);
if(process.ProcessName != ImageName)
{
throw new Exception("Not a chrome instance.");
}
process.Kill();
}
public void RefreshInstances()
{
_Instances = Process.GetProcessesByName(ImageName);
}
}