作業中のウィンドウのキャプチャ


ざね  2002-12-19 11:39:54  No: 105723  IP: [192.*.*.*]

はじめて書きこませていただきます。とても初歩的な質問で申し訳ないのですが、ウィンドウを指定してのそのウィンドウのキャプチャを行い、それをピクチャボックスに表示するプログラムを作りたいと思っています。ですがどのようにすれば指定のウィンドウをキャプチャできるのかわかりません。どなたか教えていただけないでしょうか?よろしくおねがいします。

編集 削除
Y2  2003-02-15 10:56:15  No: 105724  IP: [192.*.*.*]

Win32APIを使ったやり方ですが、
まず、WindowFromPoint(指定した座標にあるウィンドウのハンドルを獲得)などを使ってキャプチャをしたいウィンドウのハンドルを獲得します。

次に、GetDCやGetWindowDCを使ってウィンドウハンドルからその描画領域であるデバイスコンテキストを獲得します。

最後に、ピクチャーボックスに表示するには、BitBltのようなデバイスコンテキストからデバイスコンテキストに画像を転送する関数があるので、Picture1.hDCのような感じでピクチャーボックスのデバイスコンテキストを獲得してから描画してください。

試したことはないですが、参考になっていただければ幸いです。

編集 削除
Say  2003-02-15 12:52:04  No: 105725  IP: [192.*.*.*]

とりあえず、ヘルプで  keybd_event を調べれば、
PrintScreenキーを合成してキャプチャーする方法について
触れてあります。

また、
マイクロソフト サポート技術情報 - 161299 
[VB] 画面、フォーム、ウインドウを取り込んで印刷する方法 
http://support.microsoft.com/default.aspx?scid=kb;ja;161299
も参考になるかと・・・。

編集 削除