• ベストアンサー

C#での「Ctrl+C」の実現について

C#で以下のようなプログラムを考えています。 ******************************************* 1. ボタンを押すと特定のバッチファイルを実行する。 2. バッチファイルを「tshark.exe」を実行する。 3. ボタンを押すと「Ctrl+C」にて2のバッチファイルを停止する。 ******************************************* このとき、バッチファイルの実行方法はなんとなくわかったのですが 3の処理の実装方法がわかりませんでした。 助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「Ctrl+C」で止める必要は無いと思いますが・・。 例えば、バッチファイル(EXE?)を起動した際に、そのプロセスIDが取得できると思います。 そのIDがproIDという変数に入っていると仮定して、手順3の処理で以下の実装をします。 System.Diagnostics.Process p; p = System.Diagnostics.Process.GetProcessById(proID); p.Kill();

関連するQ&A

  • C#でのプログラム方法

    C#(コンソールでの実行ファイル)でのバッチファイル実行方法に悩んでいます。 実行イメージとして **************************************** 1. C#(A.exe)をダブルクリックで起動する 2. C#プログラム[A]はバッチファイルを起動する 3. C#(B.exe)をダブルクリックで起動する 4. C#プログラム[B]は2で起動したバッチファイルを終了させる(=DOS窓をCloseさせる?) **************************************** を考えています。 1~2の処理はなんとなくわかったのですが 4にてバッチファイルが起動しているDOS窓をどうCloseさせたらいいのかわかりません。 助けてください。

  • VBScriptで実現できますか?

    今、以下のような処理の流れを、VBScriptで作成しています。 ------------------------------------------------------------- (1)test.batファイルの実行 (2)PDFファイルの生成処理の実行 (3-1)PDFファイルが生成されていれば、終了 (3-2)PDFファイルが生成されてなければ、test.batを停止し、    (1)からの処理を繰り返す ------------------------------------------------------------- (3-2)で記述してます、「停止」というのは、 コマンドプロンプトの画面で言う「Ctrl+C」の事なのですが、 この部分は、ロジックでどのように記述すればいいか、困っています。 ご存知の方がいましたら、ご教授願います。 よろしくお願いします。

  • C#で書かれたプログラムをバッチ処理

    C#で書かれたプログラムをバッチ処理を行いたいのですが,方法があまり良く分かりません. まずC#で書かれたプログラムを起動すると, 処理したいファイル名を入力するテキストボックススと, パラメータを入力するテキストボックスが表示されて, ボタンを押すと処理が始まります. 処理したいファイルが数百あるので,バッチ処理でできないものかと考えているのですが, どのようにC#のプログラムに引数を渡して処理させればいいのか分かりません. 理想としては,コマンドプロンプトから,各種値が入ったテキストファイルなんかを読み込ませて処理できればよいのですが... 十分伝えきれているのか不安ですが,宜しくお願い致します.

  • インストール(セットアッププログラム)の自作について(OSはVISTA

    インストール(セットアッププログラム)の自作について(OSはVISTA、WIN7です。) あるプログラムをインストールする前、もしくは後に別のプログラムを実行させるようなバッチファイルを作りたいのです。 「SETUP_1.exe」の実行 次に 「SETUP_2.exe」の実行 という連続処理を、例えばSETUPALL.exeを一回実行させれば行える様なバッチファイルです。 SETUP_1.exeとSETUP_2.exeのパスが固定ならバッチファイルにパスを指定して書けばいいので それはわかるのですが、USBとかCDで配布した時にドライブ名がPCによって変わると思うのでどうすればよいかわかりません。「カレントフォルダ(?)のSETUP_1.exe」というような指定の仕方をする方法があるのでしょうか?普通のバッチファイルの処理では無理でしたら、他によい方法はありますでしょうか?

  • Cygwin Ctrl+C ( .tcshrc の場合 )

    Cygwin 終了時の「バッチジョブを終了しますか」を回避したいです。 ( Ctrl+C を使うと発生する ) bashを利用していれば、以下のようにすれば直ることは分かりました。 * 起動するショートカットが C:\cygwin\cygwin.bat を起動しているため。 * c:\cygwin\bin\bash.exe --login -i に変更すると直る。 .tcshrc においては、どのようにすればよいのでしょうか?

  • C#でのサブプログラムの読み出し

    一度exeにしたあとで、更新をするのではなく、外部ファイルでアプリケーションを拡張する方法がしりたいです。 C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。もしも、ボタンに割り当てられているプログラムがフォルダ内にない場合はtyr catchで「プログラムがありません」とメッセージをだすようなものを考えています。

  • C言語での実行

    C言語(ボーランドのCpad)を使っています。 いつも使ってるパソコンと違うパソコンでC言語のプログラムをし始めました。 前のパソコンと同じようにプログラムのコードをCファイルで保存して同じように新しいパソコンから開いて同じように実行ボタン押したのですが、実行できず、exeファイルが存在しませんって表示されます。 ちなみに、動かすプログラムは4つあり、そのうちの3つはちゃんと実行でき、ファイルも作成できるのですが、同じ方法でやってるあと1つのプログラムだけがうまくいきません。 4つとも同じフォルダにするようにしていて、3つはちゃんと実行できるので、フォルダが違うことはないと思います。 なぜ「exeファイルが存在しません」ってなるのか。 ちゃんとフォルダにCファイルはあるのに。 ちなみに、正確にできる3つのように、実行できると「OBJファイル」とか「アプリケーション」とかも同時に作成されます。 ただ、問題の1つのプログラムは当然、実行できず、exeファイルが存在しませんって表示されるので何も作成されません。 ボーランドのC言語、実行、ファイル、など詳しい方ぜひ教えて下さい。 同じやり方で今までのパソコンではできていたのに、パソコン変えると実行できなくなります。 フォルダやCファイルが正確ではないのかとも思いましたが、前までのパソコン通りにやっているので問題ないと思います。 ぜひアドバイス下さい。

  • MS Visual C++で、Cのargv[]の使い方?

    以前「既存のCプログラムをMS Visual C++へ移行して実行したい 」という 質問をした者です。 既存のCプログラムをビルドするところまではいきました。 ****(.exe) inputfile outputfile というふうにプログラムを実行させたいのですが、 VC++の「実行」ボタンでは入出力ファイルを指定するところが わかりません。 (「実行」ボタンを押すと、DOS窓が開いて、「inputfile outputfile」 を入力する暇も無くエラーになって終了します) MS固有の関数はできるだけプログラムに入れたくないのです。 ソフト(VC++)の設定で入出力ファイルを指定する方法を 教えてください。

  • ctrl+c(copy)を実行するbat構文

    キーボードのカスタマイズボタンに、copy,paste,cut機能を割り当てたいのですが、割り当て方法が、exeファイル指定に限られています。 そこで、ctrl+c、v、xの動作をさせるbatファイルを作りたいのですが、構文がわかりません。 batからexeへのコンパイル方法は分かります。 コマンドプロンプト内のcopy/paste方法はいろいろ載っているのですが、windows画面上の普通の、範囲指定してのcopy/paste/cutをしたいのです。 よろしくお願い致します。

  • ctrl+xとctrl+cが利かなくなりました

    新しく購入したwindows7のパソコンで、 Excel、Word、InternetExplorer、メモ帳等のctrl+xとctrl+cが利かなくなりました。 ctrl+v、ctrl+a等は問題なく動作するので、 ctrlキーが壊れているというわけでもなさそうですし、 文字を選択した後の右クリックでのコピーも問題なくできます。 症状が発生する前は、複数のURLのリンクをセル内に貼り付けている Excelファイルで作業をしていました。 偶然にキー操作を無効にする何かを作動させてしまったのでしょうか? ctrl+cやctrl+xの操作にようやく慣れてきた頃ですので、とても不便になってしまいました。 詳しい方おられましたら、ctrl+cやctrl+xを復帰させる方法を教えてください。 よろしくお願いします。

専門家に質問してみよう