2011-02-25 5 views
3

そのウィンドウにフォーカスを置かずに、現在隠れているウィンドウのスクリーンショットを撮る必要があります。私はこれに関する投稿を見ました:Window screenshot using WinAPI隠しウィンドウのスクリーンショット

私はこの方法を使ったことがないので、アドバイスをいただければ幸いです。

私はこれをWindowsまたはOS Xのどちらでも実行できるようにしたいと考えています。これはOS Xで可能ですか?必ずしも同じ言語である必要はなく、クロスプラットフォームである必要はありませんが、それはプラスです:)。

答えて

0

WindowsとOS Xで動作する1つのソリューションがあるとは想像もつきません。ウィンドウフレームワークはまったく異なっています。 2つを書く1つの解決策を思いつくことは難しいでしょう。

Windowsでは、少なくとも、隠されたウィンドウや不明瞭なウィンドウのスクリーンショットを撮るのは大変だと私は確信していません。あなたがウェブ上でこれを検索すると、非常に疑問を抱かせる人々のために巨大なヒットがあります。それらのどれも成功したようには見えません。あなたがDWMとAeroガラスを考慮すると、成功のチャンスは限られていると思います。

+0

私はこれを見つけました:http://www.codeproject.com/KB/cs/CapturingMinimizedWindow.aspx?display=Printしかし、まだ試していません。私はこれが単一のマルチプラットフォームソリューションではないことを99%確信しています。私はそれについて本当に心配していません。私はOS Xのためにこれを行う方法があるかどうか疑問に思っています。 – wlindner

+0

OS Xについては何も分かりません。そのコードプロジェクトリンクのコードは最小化されたウィンドウのスクリーンショットを撮っていません。 –

4

私はスクリーンショットでその画像を撮ろうとするのではなく、ウィンドウにビットマップを描くように頼む可能性を調査します。これはウィンドウが最小化されていることと無関係にする方法かもしれません。 WM_PRINTまたはWM_PRINTCLIENTのようなものです。私はそれがあなたがリンクしている元の質問をした人がやろうとしていたものだと考えています。最大の落とし穴は、ウィンドウが適切にそのメッセージを処理しない場合です。すべてのアプリがあまりにも適切に動作するわけではありません。また、私はそれが本当に隠されている窓のために働くとは思わないが、本当の懸念であるかどうかにかかわらずあなたの質問と記事の飛びつきからはわからない。

残念ながら、私はOS Xのプログラミングについては何も知らない。私はそのプラットフォーム上のユーザーです。それがあなたにとって本当に重要であれば、クロスプラットフォームをどのようにしているのかを見るために、Qtソースに潜入してみてください。

+0

http://www.fengyuan.com/article/wmprint.html関連性があります – rogerdpack

関連する問題