C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: コマンドラインで実行したデフラグのキャンセル


(過去ログ 106 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■63212 / inTopicNo.1)  コマンドラインで実行したデフラグのキャンセル
  
□投稿者/ ねろっち (1回)-(2012/08/06(Mon) 17:20:37)

分類:[C#] 

下記のようにProcess.Startで実行したデフラグを中断({Ctrl}Cを送信したい)したいのですが、
良い方法がありましたらご指導お願いいたします。

      System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
            psi.FileName = "cmd.exe"; // 実行するファイル
            psi.CreateNoWindow = true; // コンソール・ウィンドウを開かない
            psi.UseShellExecute = false; // シェル機能を使用しない
            
            psi.RedirectStandardInput = false;
            psi.RedirectStandardOutput = true; //出力を読み取れるようにする
            

            psi.Arguments = @"/c defrag c:";
            p = System.Diagnostics.Process.Start(psi);

引用返信 編集キー/
■63213 / inTopicNo.2)  Re[1]: コマンドラインで実行したデフラグのキャンセル
□投稿者/ επιστημη (2回)-(2012/08/06(Mon) 19:52:00)
επιστημη さんの Web サイト
有無を言わさずぶっ殺すなら p.Kill() かしら。おっかないけど。

引用返信 編集キー/
■63214 / inTopicNo.3)  Re[2]: コマンドラインで実行したデフラグのキャンセル
□投稿者/ オショウ (2回)-(2012/08/07(Tue) 01:47:32)
ttp://support.microsoft.com/kb/283080/ja

コマンド ラインで Ctrl + C キーを押します。とあります。

なので・・・再度検索すると

ttp://stackoverflow.com/questions/283128/how-do-i-send-ctrlc-to-a-process-in-c

以上。参考まで(動作未確認です)
引用返信 編集キー/
■63217 / inTopicNo.4)  Re[3]: コマンドラインで実行したデフラグのキャンセル
□投稿者/ ねろっち (2回)-(2012/08/07(Tue) 14:07:48)

書き込みありがとうございます。
オショウさんアドバイスのGenerateConsoleCtrlEvent試したところ、ErrorCode:6(ハンドル無効)で帰ってきてしまいます。
うーん。

引用返信 編集キー/
■63271 / inTopicNo.5)  Re[4]: コマンドラインで実行したデフラグのキャンセル
□投稿者/ ねろっち (4回)-(2012/08/09(Thu) 10:57:53)
コンソールアプリでは問題なく動作しましたので(CTRL+Cを実際に押さないといけないですが)、その方向で行きたいと思います。
ありがとうございました。
解決済み
引用返信 編集キー/
■63273 / inTopicNo.6)  Re[5]: コマンドラインで実行したデフラグのキャンセル
□投稿者/ 渋木宏明 (8回)-(2012/08/09(Thu) 12:32:51)
渋木宏明 さんの Web サイト
デフラグってサービスかもっと下の層で実行しているんじゃなかったでしたっけ?

コンソールプログラムだけ殺せればいいんですか??
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -