
特定のオンラインFPSゲームで、画面が特定の状況になった一瞬のスクリーンショットを自動的に保存するプログラムを作成しています。
現在なんとかBitBltを使って画面を取得して状況の判別と画像の保存を行うプログラムができ、このプログラムであるゲームAでは正常に動作していることが確認できました。
しかし、別のゲームBでは上手く動作せず、確認したところBitBltでの取得が上手くいっていないようでBitBltで取得している画面全体が黒一色(RGB値ですべて0)と成っていることが分かりました。
おそらくゲームBに採用されているゲームガードなどとの競合だと思うのですが、検索エンジンで調べてみたところDxtoryなどのソフトではゲームBのプレイの動画が取れるようなので原理的にはプレイ中の画像を取得することもできるはずです。
DxtoryはDirectXを使用しているゲームに使用が限定されているようなので、おそらくDirextX関連(DirectDrawとかでしょうか?)で画面を読み取る方法があるのだとおもうのですが、具体的には一体どのような関数?を使って画面の取得を行えばいいのでしょうか?
参考になるサイトや使用する関数などをご存知の方、DirectX関連の知識をお持ちのかたはぜひご教授いただけたらと思います。よろしくお願いします。

No.1ベストアンサー
- 回答日時:
dxdiagを使ってOS全体のDirectDrawを無効化するか、ハードウェア オーバーレイ サーフェイスの事前確保を試してみては?
あと、使用OSやターゲットのゲームが使用しているDirectX(Direct3D)のバージョンを明記したほうがいいです。Windows Vista以降では、グラフィックもサウンドもXP以前とはかなり大幅にアーキテクチャが変わっているので、昔OKだった方法が通用しないこともありえます。
http://hp.vector.co.jp/authors/VA033596/ojos/001 …
この回答への補足
いろいろ調べたところ配色の設定で、「Windows Aero」を無効にし「Windows Vista ベーシック」にしたところOLCを使用しなくてもスクリーンショットが取れるようになりました。
アドバイス非常に参考になりました。ありがとうございました。
回答ありがとうございます
OSはwindows 7,ゲームBは「AVA」で使用しているのはDirectX9.0cです
windows7ではdxdiagからの無効化ができないとのことでしたので、
OCL
(http://mosax.sakura.ne.jp/fswiki.cgi?page=Other#p0)
というソフトを使用してオーバーレイサーフェスの事前確保を試してみましたが、やはりスクリーンショットは黒一色になってしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フリーゲームを解析したい
-
ゲームプログラマーとシステム...
-
DirectXを使用したゲームでの画...
-
ニンテンドーDSのソフト作成に...
-
格闘ゲーム製作ツールもしくは言語
-
ウェブサイトから特定の文字列...
-
COBOLでのNOT = の AND条件
-
著作権法について
-
C言語、C+、C++、C#の違い
-
数学、プログラミング、物理、...
-
アセンブリ名とは??
-
COBOLで文字タイプを数字...
-
HOLONついて教えてください。
-
今のプログラミング言語
-
順列の内容をすべて表示するプ...
-
VBSでDim、Private、Publicの違い
-
UNITY Float型の接尾辞fって
-
Borland CからBuilderへのプロ...
-
ノートPCについて 大学・専門へ...
-
VCとVC++
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
物理エンジンの自作はできるの...
-
ニンテンドーDSのソフト作成に...
-
フリーゲームを解析したい
-
ノベルゲームを作ろうとおもっ...
-
ゲームの開発言語(1980~2010年)
-
ゲームを日本語化しようとする...
-
ゲームのソースコードを解析し...
-
▲▲▲HTML又はJavaScriptを利用し...
-
C#で音楽の2曲同時再生の仕方
-
プログラマーは誘惑にさらされ...
-
C、C++でもぐらたたき
-
このゲームって楽しいと思いま...
-
DirectXを使用したゲームでの画...
-
ゲームプログミングと数学
-
Now Loadingについて
-
インスタグラムのapiを利用して...
-
物理演算エンジンをつくる会社...
-
C#でゲームのチートを作ること...
-
一番簡単にトランプゲームを作...
-
abnormal program termination
おすすめ情報