Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C在后台运行firefox#_C#_Firefox_Process_Background - Fatal编程技术网

C# 从C在后台运行firefox#

C# 从C在后台运行firefox#,c#,firefox,process,background,C#,Firefox,Process,Background,我从C#运行Firefox(默认浏览器),代码如下: System.Diagnostics.Process.Start(browser.Document.Url.ToString()); 我希望Firefox在后台运行,因为每次打开一个新标签时,Windows都会关注Firefox,这很烦人 我如何控制Firefox选项卡,在一段时间后关闭它们?与其修剪选项卡,为什么不停止整个Firefox进程并定期重新启动它?而不是修剪选项卡,为什么不杀死整个Firefox进程并定期重新启动它呢?您可以使用

我从C#运行Firefox(默认浏览器),代码如下:

System.Diagnostics.Process.Start(browser.Document.Url.ToString());
我希望Firefox在后台运行,因为每次打开一个新标签时,Windows都会关注Firefox,这很烦人


我如何控制Firefox选项卡,在一段时间后关闭它们?

与其修剪选项卡,为什么不停止整个Firefox进程并定期重新启动它?

而不是修剪选项卡,为什么不杀死整个Firefox进程并定期重新启动它呢?

您可以使用ProcessStartInfo来告诉它运行隐藏或最小化或其他操作。不知道如何以编程方式操作FireFox,但我肯定有一个API

    var psi = new System.Diagnostics.ProcessStartInfo();
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    psi.FileName = browser.Document.Url.ToString();
    var proc = System.Diagnostics.Process.Start(psi);

    //after a while...
    proc.Kill();

您可以使用ProcessStartInfo来告诉它运行隐藏或最小化或其他操作。不知道如何以编程方式操作FireFox,但我肯定有一个API

    var psi = new System.Diagnostics.ProcessStartInfo();
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    psi.FileName = browser.Document.Url.ToString();
    var proc = System.Diagnostics.Process.Start(psi);

    //after a while...
    proc.Kill();

从技术上讲,您不是在启动Firefox,而是在执行url。 我不确定Windows到底是做什么的,但实际上,该url是在系统的默认浏览器中打开的,无论是IE、FF还是其他可能不支持选项卡的东西,因此如果在Opera中打开该url,查找并杀死Firefox并不是一个真正的解决方案

此外,如果调用实际上没有启动任何进程,则
Process.Start
方法返回null,因此如果Firefox已经在运行,并且只显示一个附加选项卡,那么调用的结果将是
null

所以,我很确定这在广义上(任何浏览器)是不可能做到的,而且,除非Firefox有某种用于客户端管理的API,否则在这种情况下也不可能做到


顺便说一句,在我的系统(IE是默认浏览器)上,
WindowStyle
属性未按预期工作,因为IE会弹出到前端。

从技术上讲,您不是在启动Firefox,而是在执行url。 我不确定Windows到底是做什么的,但实际上,该url是在系统的默认浏览器中打开的,无论是IE、FF还是其他可能不支持选项卡的东西,因此如果在Opera中打开该url,查找并杀死Firefox并不是一个真正的解决方案

此外,如果调用实际上没有启动任何进程,则
Process.Start
方法返回null,因此如果Firefox已经在运行,并且只显示一个附加选项卡,那么调用的结果将是
null

所以,我很确定这在广义上(任何浏览器)是不可能做到的,而且,除非Firefox有某种用于客户端管理的API,否则在这种情况下也不可能做到


顺便说一句,在我的系统(IE是默认浏览器)上,
WindowStyle
属性未按预期工作,因为IE会弹出到前端。

您将无法执行此操作。首先,我很确定在后台运行Firefox不会阻止它在新标签打开时获得关注。其次,很难通过编程控制firefox。做你想做的事情的唯一方法就是使用像MozRepl这样的插件。您还可以尝试使用selenium或您自己的JavaScript来控制浏览器行为。我需要能够在不使用selenium或MozRepl的情况下在shell脚本中打开和关闭选项卡,请查看我的问题,您将无法做到这一点。首先,我很确定在后台运行Firefox不会阻止它在新标签打开时获得关注。其次,很难通过编程控制firefox。做你想做的事情的唯一方法就是使用像MozRepl这样的插件。您还可以尝试使用selenium或您自己的JavaScript来控制浏览器行为。我需要能够在不使用selenium或MozRepl的情况下在shell脚本中打开和关闭选项卡,请查看我的问题

如果任何其他应用程序随机杀死我的Firefox以及所有选项卡和flash游戏,以及没有打开的东西,我会非常不高兴。特别是如果我使用Chrome作为默认浏览器,并且url在那里打开。如果任何其他应用程序随机杀死我的Firefox以及所有的标签和flash游戏,什么都没有打开,我会非常不高兴。特别是如果我使用Chrome作为默认浏览器,并且url在那里打开。它不工作,Firefox没有隐藏,也没有proc.Kill();给出了一个错误,看看Selenium。它有一个.NET API。它不工作,Firefox没有隐藏,还有proc.Kill();给出了一个错误,看看Selenium。它有一个.NETAPI。没有什么是不可能的,只是有些事情非常困难!“一般来说不可能”是指应用程序不可能知道可以设置为url默认处理程序的所有可能的浏览器,也不知道应该做什么来指示特定浏览器关闭窗口/选项卡/音频流/任何内容。要让它在大部分时间都能工作是非常困难的(WinXP/Vista/7和IE/FF/Opera/Safari/Chrome),但要让它在所有时间都能工作是不可能的——包括未来(Win 8、FF 5等),我同意SWeko的观点。这属于“难到所有的意图和目的都认为不可能”的范畴。没有什么是不可能的,只是有些事情非常难!“一般来说不可能”是指应用程序不可能知道可以设置为url默认处理程序的所有可能的浏览器,也不知道应该做什么来指示特定浏览器关闭窗口/选项卡/音频流/任何内容。要让它在大部分时间都能工作是非常困难的(WinXP/Vista/7和IE/FF/Opera/Safari/Chrome),但要让它在所有时间都能工作是不可能的——包括未来(Win 8、FF 5等),我同意SWeko的观点。这将属于“硬到所有意图和目的都认为不可能”的范畴。