C#によるフォームアプリケーションを作成しており、ボタンを押すとエクスプローラがたちあがり、ハードコピーをする、という機能を持つものを作成しております。
エクスプローラを立ち上げる際には、
Process ppp = Process.Start(エクスプローラ)
という風にして、
ハードコピーは別途関数を作って実装しています。
この際、エクスプローラが立ち上がったかどうかを見極めることのできる方法はご存じでしょうか。
というのも、
エクスプローラを起動する
↓
画面ハードコピー
をするとエクスプローラが起動するまで時間がかかるため、画面ハードコピーをしても、エクスプローラが起動していない画面がとれてしまいます。
そのため、
エクスプローラを起動する
↓
スレッドスリープ
↓
画面ハードコピー
という風にしてエクスプローラの起動を待って、画面ハードコピーを行っておりますが、
動作される環境によってエクスプローラの起動の時間は若干異なり、スリープの時間が短いと、目的の画面のハードコピーがとれていないし、スリープの時間が長いと、ハードコピーはとれますがなんだか空き時間があり、あまりクールではありません。
エクスプローラが起動したのを、認知して、画面ハードコピーをするには、スレッドスリープ以外に、よい実装方法はないのでしょうか。
メモ帳の場合は、入力が可能になるまで待つということが実装できるみたいですが…。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/12 20:33