総ありがとう数 累計4,282万(2014年10月22日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
M2452

C#.net2003を使用しています。
とあるDirect3Dを使用したアプリケーションのスクリーンをキャプチャしようとしたところ、そのウィンドウ領域が黒く塗りつぶされてしまいます。
http://homepage3.nifty.com/midori_no_bike/CS/graphics.html#267 の、一番下のサンプルを使用しました)
戻ってきた数値を見ると、A.R.G.Bともに0でした。

しかし、このウィンドウをPrintScreenキーでクリップボードにキャプチャした場合は、きちんとキャプチャされています。

そこで別のDirect3D使用ゲームをキャプチャしてみたところ、そのゲームではきちんと色が取得できていました。

また、PrintScreenを送信する方法も試そうとはしましたが、SendKeysがSecurityPermissionのせいで実行できない、と言われ、調べても解らなかったため試すことが出来ませんでした。(恐らく、出来たとしても速度的問題があるかと思われます)

このような、キャプチャ可能・不可能な物の違いや、なぜPrintScreenだと写るのか、が解りません。
よろしくお願いします。

また、もし上記のURLのサンプルで写らないウィンドウを写す方法が解る方がいらっしゃいましたら、是非ご教授ください。お願いします。
  • 回答数1
  • 気になる数0

Aみんなの回答(全1件)

回答 (全1件)

  • 2005-07-21 14:44:21
  • 回答No.1
GetDC(NULL)は画面全体のDC
を取得しますが、DirectXのサーフェイスとは別だからです。
多分、取り込むにはDirectXの知識が必要。
http://vision.kuee.kyoto-u.ac.jp/~nob/doc/csharp/csharp.pdf

※ちなみに単にDirectXの画面をキャプチャしたいだけなら
そういうフリーソフトがあります。
http://www.vector.co.jp/soft/win95/art/se093802.html
お礼コメント
keybd_eventを使用したらきちんとキャプチャできました。
ありがとうございました。
投稿日時 - 2005-07-21 18:15:10
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数1
  • 気になる数0
  • ありがとう数1
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

その他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ