タイトル : Re^7: 別アプリの画面を拡大表示させたい 投稿日 : 2010/01/27(Wed) 19:25 投稿者 : 魔界の仮面弁士
> > CAPTUREBLT を単独で指定していませんか? > いろいろとご親切にありがとうございます。 両者を加算(ビット和演算)しましょう。 > .netでは|で連記が出来ると書いてあったのですがVB6ではできないようですね。 C/C++ にて利用されている 『| 演算子』によるビット演算とは、 VB6/VB.NET でいうところの『Or 演算子』によるビット演算の事ですよ。 > StretchBlt hDC, 0, 0, W, H, hDCSrc, 0, 0, nW, nH, CAPTUREBLT > StretchBlt hDC, 0, 0, W, H, hDCSrc, 0, 0, nW, nH, SRCCOPY 同時に指定してください。 CAPTUREBLT を単独で指定した場合、ブラックアウトするかと思います。 以下蛇足: VB2005 には、画面コピー用に CopyFromScreen というメソッドが 用意されているのですが、これは .NET Framework 側に実装バグがあるため、 [CaptureBlt] と [SourceCopy] を同時指定ができないそうです。 で、CaptureBlt を単独で指定しても、真っ黒な画像が取得されてしまうだけなので、 その解決のために、結局、BitBlt/StretchBlt API の呼び出しが必要になるのだとか。 http://social.msdn.microsoft.com/forums/ja-JP/csharpgeneralja/thread/1c60509a-ad5d-4ff0-90eb-8a279036a6ec/ http://dobon.net/vb/bbs/log3-33/20025.html |