現在FindWindow,GetWindowDC,GetWindowRect,BitBltを使って特定のWindowのスナップショットを取っているのですが、別のWindowに隠れるとうまくいきません。
WM_PAINTを処理するプログラムは、再描画する必要の無い部分はしないということも出来るはずなので、隠れたままの状態ではソフトによって不具合があるかもしれません。
FindWindow()でハンドルを受け取った後、SetActiveWindow()で一度ウィンドウをアクティブにしてから処理をしてみてはいかがでしょうか?
この方法ではうまくいきませんでしたが、DCで検索中に自己解決したので終了します。
XP以降にはPrintWindowという関数があり、隠れていても大丈夫なようです。
ご回答ありがとうございます、
アクティブにしなくても良い方法を探しています。