VB6.0で、
WindowFromPoint、GetDC、BitBltを使ってキャプチャーしているのですが、
一緒に開いているウィンドウまでキャプチャーしてしまいます。
指定したウィンドウだけをキャプチャーする方法を教えてください。
キャプチャーしたいウインドウの
zオーダーをその都度変更したらどうでしょうか?
ネットで調べて試してみましたが、
他のウィンドウと重なっている部分はやはり切れるか、
重なってしまいます。
また、タイマーで取り込んで処理したいため、
一瞬でもウィンドウが前に出てくるのはいただけません。
何か別の方法は無いものでしょうか?
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200212/02120042.txt
は参考になりませんか?
一応貼り付けてあるリンク共々参考にしてみましたが、
やはり出来ませんでした。
それらしい部分を抜き取ってほんとに軽く変えてみたのですが、
やはり手前のウィンドウまで表示されてしまいます。
なにぶん始めてからまだ1ヶ月ほどな上に、時間が余りありませんので、
知恵をお貸し願えませんでしょうか。
Private Declare Function PrintWindow Lib "user32.dll" _
(ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long
Private Sub Timer1_Timer()
PrintWindow コピー元のウィンドウハンドル, Me.hDC, 0&
Me.Refresh'描画先のデバイスコンテキストをリフレッシュ
End Sub
'しかし、これはWin2000とXPだけサポートされてたと思う・・・
>'しかし、これはWin2000とXPだけサポートされてたと思う・・・
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_6qpj.asp
|Windows NT/2000/XP/Vista: Included in Windows XP and Windows Server 2003.
|Windows 95/98/Me: Unsupported.
WinXPとServer2003ですね。
有効な関数ありがとうございます。
この関数についてひとつ質問ですが、
この関数でウィンドウ内の領域の限定は出来ますか?
>この関数でウィンドウ内の領域の限定は出来ますか?
少しは自分で調べろ!
すみません。
おっしゃるとおりです。
甘えすぎていました。
ツイート | ![]() |