ある一定の間隔で他のプログラムのウィンドウ内が変化したかを監視したいと考えています。
(例えば、空欄だったのがメッセージが表示される)
監視間隔としては1分〜10分程度で、ウィンドウ名(タイトル)は固定で、常に表示したままの状態です。
イメージ的には、一つ前の時間のウィンドウの画面コピーを取り、比較して違っていた場合処理をするという感じです。
なにか良い方法はありませんでしょうか?
よろしくお願いします。
とりあえず発想的にはおっけーだと思います。
で、どこでつまづいているんでしょう?
普通に画面のハードコピーの予定かな?
それだと対象画面が最小化されてたり他の画面がかぶっていたり
に注意が必要と思います。
あとはタイトルバー部分はアクティブ、非アクティブで色が変わったり
するから比較部分からタイトルバーは外すとか。
意味取り違えてたらごめんなさい(あんまり頭が回ってない)。
大事な部分を書き忘れていたみたいです。
分からない部分としては、
ビットマップの比較方法です。
単純にクリップボードにあるものを一時格納し
次に取ったクリップボードの画面とを比較すればいいのでしょうか?
それとも何かに置き換えて行わなければいけないのでしょうか?
クリップボードからmemorystreamに読み込んで
バイナリで比較するとか?
クリップボードを使用しなくても、APIのGetDibits関数でバイト配列
に画像データを取得し、前回取得したものとを比較すればいいのではないでしょうか。
いちばん簡単なのは、クリップボードの内容をファイルに吐き出させ、
DosのFile Compare(fc)コマンドで比較する方法かな。
殆どコードを書く必要が無い。
色々アドバイスありがとうございます。
ひとつずつやってみます。
タスクトレイの中の時計を非表示にすることを忘れないで下さい。
ブロードキャストが流れているなら、ネットワーク表示も。。
ツイート | ![]() |