質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

2回答

2477閲覧

(Windows)アプリの種類によらずウインドウのイメージをキャプチャしたい

yamma_ma

総合スコア21

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

1クリップ

投稿2015/11/18 04:01

編集2015/11/20 23:33

現在、Windowsの「拡大鏡」のように自分自身の下にあるイメージをキャプチャ、もしくは任意のウインドウをキャプチャして処理を施し表示するツールを作成しています。

カラまね(YouTubeのデモ動画)

現在はウインドウのデバイスコンテキストを取得してBitBltでイメージを取り込むような実装をしているのですが、この場合、ストアアプリ、GPUによる描画を行うアプリ(3D系のソフトなど)のキャプチャができない、といった不都合が生じてしまいます。これらを回避しつつキャプチャできる方法、APIはありませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

一つのアイディアですが、まず、画面全体をキャプチャーして1枚の画像としてメモリに取り込み、それから自分自身のウィンドウを最大化で作成して取り込んだ画像を表示し、それに対して何かするというような方法であれば、いかようにでも処理できると思いますが、どうでしょうか。

動くものをリアルタイムに処理することができませんが、Snipping Toolも切り取ろうとすると止まるので、たぶん同じようなことをしているのだと思います。

追記

画面をキャプチャーするときに自身を非表示にすれば、実行中に「F5で最新の画面に更新」というようなことはできそうです。

投稿2015/11/18 12:24

編集2015/11/18 12:57
catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamma_ma

2015/11/18 15:13

回答ありがとうございます。 出力を逐一参照し、それを考慮した作業を行う、という使い方をされるので、静止画や紙芝居的な表示では厳しいです。 フレームレートの不足やレイテンシはある程度妥協するとしても「動く」のは必須ですし、キャプチャのために一瞬非表示になるのが知覚されてしまうのもNGです。
catsforepaw

2015/11/18 15:20

そうでしたか。確かにそのような用途では私の提案した方法は使えませんね。 難問です。
guest

0

大昔、Windows3.x の時代に、画面に丸い時計ウインドウを表示させようとして、苦し紛れに
タイマを起動してタイマ処理で以下を実行
①自分を不可視に
②デスクトップを再描画(Invalideteして Update)して、キャプチャ
③自分を再表示
な事をやった記憶がありますが、さすがにいまどきのではこの方法は使えないですよね。(笑)

VISTA以降では、以下の「拡大鏡API」が使用できるようですが、
MSDNの拡大鏡APIのページ(英文)

この中の、Filter List 機能で、独自の機能を実装できませんかね?(試していません。すみません)

投稿2015/11/18 05:51

編集2015/11/18 05:54
T.Kanno

総合スコア915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamma_ma

2015/11/18 12:01

情報ありがとうございます。 自分もざっくり閲覧しただけですが、Filterは拡大表示する対象ウインドウを指定するためのもののようです。 単純にデスクトップ(またはウインドウ)のイメージをビットマップとして取得できるものがほしいのですが、こちらのAPIだと描画までお任せのようですね……。 まあ自分自身に描画された結果(のビットマップ)にアクセスできるなら何とかなるかもしれませんので候補のひとつとして検討してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問