2011-01-25 6 views
1

私はいくつかのコマンドライン引数をとり、スケジュールされたタスクとしてコマンドラインから実行できるWindowsアプリケーションを作成しました。それはすべて正常に動作しますが、私はあなたがコンソールからコンソールを起動した場合、コンソールにフィードバックを与えようとしています。コマンドラインから.NET Windows Formsアプリケーションを終了する

私はConsole Output from a Windows Forms Applicationに記載された情報を使用していると、コマンドライン上でいくつかの出力を持っているが、アプリケーションが終了するときに入力ヒットしない限り、それは戻って、コマンドプロンプトにドロップしません。それはただそこに座って待っているだけです。

私には何が欠けていますか?

答えて

0
Console.WriteLine("Press enter to exit") 
Console.ReadLine() 

プログラムが終了する前。

0

実行後何とか一時停止するか、ウィンドウがすぐに終了する必要があります。一時停止するにはいくつかの方法がありますが、この場合はスケジュールされたタスク(休止なし)とユーザー(休止あり)として実行できるようにする必要があります。

最も簡単な方法は、ユーザーが実行する.BATファイルを作成することです。例:

@echo off 
start /B /wait yourapp.exe 
pause 

開始コマンドには、調べたいパラメータがいくつかあります。タイプ開始/?コマンドラインで

もう1つの方法は、アプリケーション内でConsole.ReadLine();またはSystem.Threading.Tread.Sleep(1000 * 10);のような一時停止を使用することです。次の例のように、これを調整するために、コマンドライン偶然にを使用することができます。

static void Main(string[] args) 
{ 
    // DoSomeStuff 

    // Pause if not "nopause" is specified. 
    if (args.Count == 0 || args[0] == "nopause") 
    { 
    Console.Write("Press any key to continue."); 
    Console.ReadLine(); 
    } 
}

スケジュールされたタスクを呼び出すことができます上記のサンプルでは

(サンプルはきっとあなたに一般的な考えを与え、より良い書き込むことができます) .exeとnopause param:myapp.exe nopause

関連する問題