質問: ### 環境 windows 7 or 8 or 10 C言語 ### やりたいこと パソコンの画面全体のピクセルごとの色の情報(24bit)をリアルタイムで受け取るということをしたいです。 このようなことができる関数かなにかはあるのでしょうか? teratail初心者なので、何を書けばいいのかわかりませんが、よろしくおねがいします。 ### 追記の対応 デスクトップの画面(人間が見ている画面)全てです。 また、DirectX/OpenGLで描写している画面も含みます。 fpsですが、最悪0.1fpsとかでも大丈夫です。 最高は15fpsほどです。 windows7のサポートは絶対ではありません。 サポートしないほうが楽になるなら、先にwindows8,10を完成させたいです。
回答: デスクトップキャプチャーソフトスーパーアマレコのヘルプページがこの件についてよくまとまっているのでまずは を御覧ください。 次にこの作者さんのブログに詳しい解説があるので * あまラボ Aero有効時におけるデスクトップキャプチャについて * あまラボ アマレコTV 4 新デスクトップキャプチャ を御覧ください。 まとめると、追記依頼でも書いたとおり、Windows7での動作は極めて制約が大きいことがわかります。Aero有効時のWindows7GDIキャプチャで可能なfpsはキャプチャーと圧縮・保存を別スレッドにすれば一般的なモニターを利用している場合30fpsが限界となります。 サンプルコードとしては https://github.com/yumetodo/Scatto_continuo_v3 を前に作ったことがあります(キャプチャー部分は完成していたはずだけど全体としては未完成) > > 最高は15fpsほどです > > > ということですのでGDIキャプチャでも要求は満たすでしょう。 Windows7を切り捨てていいならDesktop Duplication APIを使うのがシンプルで高速でいいと思います。