C#.NET4を使用してスクロールウィンドウのスクリーンショットを撮るアプリを作成しています。
WINAPI SendMessageとWM_MOUSEWHEELを使用して、一度に1行下に移動し、各行のスクリーンショットを撮ることで、これにアプローチしました。
一番下に到達したかどうかを検出するために、最後に撮影した2つの画像を比較します。同じである場合は、一番下に到達しました。
問題は、最後のWM_MOUSEWHEELがフルラインでない場合に発生します。
例:ウィンドウの高さは95ピクセル、各行の高さは10ピクセルです。
スプライスするには高さ10pxごとに10枚の画像が表示されますが、最後の画像は大きすぎて、85〜90pxの領域が(この例では)複製されてしまいます。
WINAPIを使用して、スクロールされたピクセル数や、採用されたアプローチに関するその他の提案を検出する他の方法はありますか?