0

Web アプリケーションからこの関数を使用して、exe ファイルを呼び出しています。.exeファイルを呼び出すと、すべてが正確に行われ、タスクマネージャープロセスで実行中のプロセスとして表示されますが、このプロセスが呼び出されたときにコマンドプロンプトが開かないのはなぜですか.

Web アプリケーションは同じシステムの iis でホストされています。

 public void RunconsoleApplication(string Id)
    {
        // Get the file path of your Application (exe)
        string filePath = @"E:/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe";

        System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(filePath, Id);

        System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);//called       

    }

更新しました

ビジュアル オーディオで同じアプリケーションを実行すると、コマンド プロンプトが開きます。ただし、iisでホストされている場合はそうではありません

4

2 に答える 2

2

IIS とその子プロセスは、別の (ウィンドウのない) セッションで実行されています。そのため、ウィンドウが開いているかどうかはわかりません。また、これが原因で一部のプロセスが奇妙な動作をする可能性があります (おそらくそのような問題に遭遇したことはなく、コンソール アプリで問題が発生する可能性は低いでしょう)。

タスク マネージャーで [セッション ID] 列をオンにすると表示されます: [表示] -> [列の選択] -> [セッション ID] ([プロセス] タブ)。

于 2012-06-30T04:36:40.180 に答える
0

ウィンドウ スタイルを最大化に設定してみましたか?

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
Process.Start(startInfo);
于 2012-06-30T04:31:04.260 に答える