- - PR -
PrintWindowで映像の取得
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-05-05 23:21
PrintWindowで画像を取得しているのですが
メディアプレーヤーの映像とかは取得できないのです。 取得できるようにするにはどうすればよいのでしょうか? ちなみに第3引数のフラグを変えればと勝手に予測してるのですが にしてもどういうフラグを立てればいいか調べてもわかりませんでした。 よろしくお願いします。 | ||||||||
|
投稿日時: 2008-05-06 07:55
MSDN のこのあたりを見ると、第3引数は PW_CLIENTONLY しか規定されていない
ように見えますね。 http://msdn.microsoft.com/en-us/library/ms535695.aspx (microsoft.com) PW_CLIENTONLY は 0x00000001 なので、他に設定がありそうな気もしますが (undocumented で)とりあえずはこれだけみたいです。 ちなみにメディアプレイヤーの映像などはビデオオーバーレイと言って、Windows で管理しているものとは別にハードウェアが描画しています。 なので直接キャプチャすることは難しいと思います。 やるとすれば、手動で一時的にビデオオーバーレイを無効にするとか。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2008-05-07 05:32
ぽぴ王子さん、アドバイスありがとうございます。
ビデオオーバーレイというのを無効にするのですか。 かなり高度そうな予感がします。 ちなみに、PW_CLIENTONLY が 0x00000001 だとどうやって わかったのでしょうか? MSDNを読みましたが書いてないのです。 よろしければ教えて頂けますでしょうか? | ||||||||
|
投稿日時: 2008-05-07 06:09
コードで無効にするのは自分もやったことはありません(シャレではないです)。 コントロールパネル→画面のプロパティ→設定タブ→詳細設定→ トラブルシューティングタブ→ハードウェア アクセラレータを「なし」に設定 とすることで、手動で無効にすることはできます。
普通に PW_CLIENTONLY で検索すると出てきたりしますが。 あとは Windows SDK をインストールして C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include のあたりのインクルードファイルを調べると出てきます。 Visual Studio 2008 だと、インストール時に一緒に Windows SDK もインストール されていたかもしれません。 API 関係のことをするときは、真っ先にこのあたりを見ます。 (あとは http://www.pinvoke.net/ とか) _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2008-05-07 11:36
そんな簡単なことだったんですか。すいません。 ただ、僕のパソコンはビスタなのですが トラブルシューティングのところで 「現在のディスプレイ ドライバーでは、 ハードウェア アクセラレータの設定変更は許可されていません。」 と出ます。 なので、無理そうです。がっくし。
参考文献を教えて頂きありがとうございました。 僕は英語がだめなので検索したのですが 見つからなかったんだと思います。 ただ、教えて頂いたサイトだと英語だめでもなんとなしに 読めました。 |
1