2011-10-29 25 views
0

私は画面上の変化をどのように検知するのかという質問がありますか?その位置は必要ではありませんが、その位置を得ることは可能です。私はインターネット上でそれを検索しましたが、適切な答えは見つかりませんでした。さて、私はCでプログラムを作っています#と私は画面上の変更を検出する必要があります。私は毎秒4枚のスクリーンショットをキャプチャし、それらを比較しようとしました。この方法は機能しますが、PCのパフォーマンスに悪影響を及ぼします。画面の変化を検出する方法は?

アセンブリではビデオメモリに直接アクセスできるため、C言語やアセンブリ言語(x86)で行うのは簡単だと思います。

C#で可能ですか?

コードサンプルは高く評価されます。

プロジェクト:フルスクリーンカメラ監視ソフトウェアの変更を検出します。別に私は考えることができる唯一のソリューションは、システムイベント、イベントの「再描画」種類にフックアップされた画面キャプチャを取り、(パフォーマンスの問題を引き起こす)いくつかの時間間隔で、それらを比較し、 から

+3

私はビデオメモリにアクセスすることは、これまでより洗練されたグラフィックスカードが一般的であるようにはかなり簡単ではないと確信しています。 – icktoofay

+0

あなたは何を達成しようとしていますか?画面上のすべての変更に反応するプログラムを作成することは正しくありません。あなたはあなたの仕事を達成するために異なるルートを持っているかもしれません。 –

+0

動き検出コードのようなものを探していますか? –

答えて

1

ヘルプ - かもしれませんか?私はそれが仕事をするだろうとは思っていません。 カム入力からの動き検出については、Motion Detection AlgorithmsのCodeProjectに関する記事をご覧ください。

1

プログラムをフックするイベントを選択する必要があります。

このCodeProjectのチュートリアルは、あなたが本当にあなたがお使いのモニタに表示されるものの簡単な違いを見ているだけされています http://www.codeproject.com/KB/system/WilsonSystemGlobalHooks.aspx

関連する問題