出力をウィンドウに表示するcmdプロセスを作成しました。コマンドプロンプトでControl-cを押すなどのコマンドを終了できるようにしたいと考えています。cmd.exeに発行されたコマンドを終了するには
new ProcessStartInfo("cmd.exe");
私が考えることができる唯一の選択肢は、プロセスを終了することです。これはcontrol-cを押しているのでしょうか?この問題は、一部のユーザー設定が失われることがあります。 2つは、プロンプトと現在のディレクトリと考えることができます。それ以外のものはありますか?私はこれらを覚えて、新しいプロセスを作り、それらをリセットすることができます。または、中断をシミュレートする別の方法がありますか?
あなたはスタートメソッドを呼び出すことにより、プロセスを開始することができます。また、キルメソッドを呼び出して、プロセスを終了することもできます。すべての井戸と良い。 cmd.exeを実行して入力と出力をリダイレクトすることで、プロセスを開始できます。それでは、長い時間がかかるコマンドを実行すると仮定します。私たちがDOSウィンドウ(コマンドプロンプト)でできるようにコマンドをキャンセルするのは、ユーザーがプロセス内で履歴を失ったアプリケーションを閉じて再オープンする代わりに、キャンセルするのが良いでしょう。
必要に応じてさらに詳しい情報を提供できます。
cmd.exeでプロセスを開始した後でCTRL + Cを押すと、そのプロセスが終了します。 "taskkill/im"を呼び出すことによっても同じことができます。 –
Stavm
実際にはctrl-cは何もしません。 cmd.exeはプロセスです。そのプロセスはコマンドを実行します。私はプロセスを終了せずにコマンドを終了したい。これは可能ですか? –
作成する新しいプロセスは、出力を表示するだけです。一方、「いくつかのユーザー設定」を保存する必要があります。それははっきりしていません。 – KernelMode