• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC#2008の動作について)

VC#2008の動作について

このQ&Aのポイント
  • VC#2008でのbutton1とbutton2のクリック反応の改良方法
  • VC#2008での処理が重く止まった時の対処方法
  • VC#2008のアプリケーション終了方法

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

イベントドリブンによるプログラミングをC#参考書などできちんと勉強しましょう 一定時間ごとの処理がしたいのであれば Timerオブジェクトを使いましょう Sleepではメインスレッドが寝てしまうので他の操作を一切受け付けません 単一フォームのアプリケーションなら Process.Killなどで殺すより 自身をあらわす thisのCloseメソッドで閉じれば終了します ALT+F4に関しては 暴走してしまったアプリでコントロールのイベントが取得できるとは思えません

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

どのような動作をご希望なのでしょう? 現在のコードですと button1のクリックで3時間近く待ちの状態になります Thread.Slepは引数の値の時間だけ実行を停止します 時間の単位は ミリ秒(1/1000秒)です 10000000m秒 = 10000秒 = 166.67分 = 2.7時間(2時間47分) button2のクリックでmyappという名前のプロセスを終了させます

lala_ff
質問者

補足

回答いただきありがとうございます。 動作について補足いたします。 button1をクリックすると、数時間毎に特定のURLにアクセスし、HTMLの内容に変更がないか調べ、変更があれば他の処理を行います。 パソコンを再起動するまでは、永遠と調べ続けて欲しいため、無限ループにしています。 実は、今までは、他のスクリプト言語で作成していたのですが、今回初めてVisualStudio2008のC#を使って、マウスで操作のできるアプリケーションに書き換えています。 今までは、暴走した時も、通常終了も、taskkillコマンドを含むバッチファイルを動作させ、外部から強制終了させていましたが、今回は、ボタンをクリックするだけで、気軽にマウスで強制終了ができるようにしたく思っています。もっと確実に終了する方法があれば助かります。 理想的なのは、 button1は、動作開始のボタン。 button2は、プログラムが暴走した時の非常に強力な強制終了のボタン。 button3は、Alt+F4を押したときと同程度の通常終了ボタン。 という3つのボタンを作りたく思っています。 なお、一時ファイルの保存はありますが、再起動時に、全て削除しますので、万が一、処理途中で強制終了が発生しても問題ないと思っています。 System.Threading.Thread.Sleep(10000000);部分のの処理は、 for(;;){  ・・・・・  処理  ・・・・・  sleep(10000000); } という感じのプログラムになっています。 また、button2でmyappを指定しているのは、この実行ファイルが、myapp.exeという名前のためです。

関連するQ&A

専門家に質問してみよう