1

我有 ac# 控制台应用程序,我想从具有 2 个主要功能的任务调度程序运行:1) 关闭所有 Internet Explorer 进程;2) 重新启动 Internet Explorer 并加载相应的网站。

如果从命令行运行,控制台应用程序将完全按照它应该执行的操作,但如果从任务计划程序执行,则会失败。

该应用程序旨在在客户端计算机上运行,​​其唯一功能是加载单个网站并将该网站广播到我们的内部电视频道 195。我们的 ISP 存在连接问题,虽然连接问题通常是暂时的,但 Internet Explorer需要重新启动才能重新显示网站。

我想将其设置为每天运行多次,以消除 Web 服务器和客户端之间任何可能的连接问题。

private static void StartExplorer()
{
    Process _process;
    ProcessStartInfo psi = new ProcessStartInfo
    {
        FileName = "iexplore.exe",
        Arguments = "-noframemerging -private -k \"http://tv.TheelmAtClark.Com\""
    };
    try{
        _process = Process.Start(psi);
    }
    catch(Exception Ex)
    {
        Console.WriteLine(Ex.ToString());
    }
}  

是否可以使用任务调度程序运行应用程序?

4

1 回答 1

1

如果可能的话,我建议你看看替代方法。

Reload Every这样的 Firefox 插件就是为此而设计的。我在我们的项目中使用它来投影到大屏幕电视。

但是,如果您热衷于通过 Internet Explorer 执行此操作,还有两种方法

1) 类似于我上面提到的 Firefox 插件 - Autorefresher for IE

2)如果您坚持使用任务计划程序,如上所述,我认为您可以这样做-

要终止所有 Internet Explorer 实例,请使用PSKill。通过参数调用它Process.Start来杀死 Internet Explorer。

要启动新实例,请尝试Process.Start使用UseShellExecute=true.

于 2013-03-23T13:45:07.167 回答