1

2つの主要な機能を持つタスクスケジューラから実行したいac#コンソールアプリケーションがあります。1)すべてのInternetExplorerプロセスを閉じます。2)Internet Explorerを再起動し、適切なWebサイトをロードします。

コンソールアプリは、コマンドラインから実行した場合とまったく同じように動作しますが、タスクスケジューラから実行した場合は失敗します。

このアプリは、クライアントコンピューターで実行するように設計されており、その唯一の機能は、単一のWebサイトをロードし、そのWebサイトを内部TVチャンネル195にブロードキャストすることです。ISPとの接続の問題があり、接続の問題は通常一時的なものですが、インターネットエクスプローラーWebサイトを再表示するには、再起動する必要があります。

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 を使用してこれを行いたい場合は、2 つの方法があります。

1) 上記の Firefox プラグインに似たもの - Autorefresher for IE

2)上記のように、タスクスケジューラを使用することを主張する場合は、次の方法で実行できると思います-

すべての Internet Explorer インスタンスを強制終了するには、 PSKillを使用します。Process.StartInternet Explorer を強制終了するには、引数を指定して呼び出します。

新しいインスタンスを起動するには、で呼び出しProcess.StartてみてくださいUseShellExecute=true

于 2013-03-23T13:45:07.167 に答える