- PR -

PrintWindowで映像の取得

1
投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2005/08/25
投稿数: 145
投稿日時: 2008-05-05 23:21
PrintWindowで画像を取得しているのですが
メディアプレーヤーの映像とかは取得できないのです。
取得できるようにするにはどうすればよいのでしょうか?

ちなみに第3引数のフラグを変えればと勝手に予測してるのですが
にしてもどういうフラグを立てればいいか調べてもわかりませんでした。
よろしくお願いします。
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 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
で管理しているものとは別にハードウェアが描画しています。
なので直接キャプチャすることは難しいと思います。
やるとすれば、手動で一時的にビデオオーバーレイを無効にするとか。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
未記入
大ベテラン
会議室デビュー日: 2005/08/25
投稿数: 145
投稿日時: 2008-05-07 05:32
ぽぴ王子さん、アドバイスありがとうございます。

ビデオオーバーレイというのを無効にするのですか。
かなり高度そうな予感がします。

ちなみに、PW_CLIENTONLY が 0x00000001 だとどうやって
わかったのでしょうか?
MSDNを読みましたが書いてないのです。
よろしければ教えて頂けますでしょうか?
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2008-05-07 06:09
引用:

未記入さんの書き込み (2008-05-07 05:32) より:

ビデオオーバーレイというのを無効にするのですか。
かなり高度そうな予感がします。


コードで無効にするのは自分もやったことはありません(シャレではないです)。
コントロールパネル→画面のプロパティ→設定タブ→詳細設定→
トラブルシューティングタブ→ハードウェア アクセラレータを「なし」に設定
とすることで、手動で無効にすることはできます。

引用:

ちなみに、PW_CLIENTONLY が 0x00000001 だとどうやって
わかったのでしょうか?
MSDNを読みましたが書いてないのです。
よろしければ教えて頂けますでしょうか?


普通に PW_CLIENTONLY で検索すると出てきたりしますが。
あとは Windows SDK をインストールして
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
のあたりのインクルードファイルを調べると出てきます。
Visual Studio 2008 だと、インストール時に一緒に Windows SDK もインストール
されていたかもしれません。
API 関係のことをするときは、真っ先にこのあたりを見ます。
(あとは http://www.pinvoke.net/ とか)
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
未記入
大ベテラン
会議室デビュー日: 2005/08/25
投稿数: 145
投稿日時: 2008-05-07 11:36
引用:

ぽぴ王子さんの書き込み (2008-05-07 06:09) より:

コードで無効にするのは自分もやったことはありません(シャレではないです)。
コントロールパネル→画面のプロパティ→設定タブ→詳細設定→
トラブルシューティングタブ→ハードウェア アクセラレータを「なし」に設定
とすることで、手動で無効にすることはできます。



そんな簡単なことだったんですか。すいません。
ただ、僕のパソコンはビスタなのですが
トラブルシューティングのところで
「現在のディスプレイ ドライバーでは、
ハードウェア アクセラレータの設定変更は許可されていません。」
と出ます。
なので、無理そうです。がっくし。

引用:

普通に PW_CLIENTONLY で検索すると出てきたりしますが。
あとは Windows SDK をインストールして
C:Program FilesMicrosoft SDKsWindowsv6.0AInclude
のあたりのインクルードファイルを調べると出てきます。
Visual Studio 2008 だと、インストール時に一緒に Windows SDK もインストール
されていたかもしれません。
API 関係のことをするときは、真っ先にこのあたりを見ます。
(あとは http://www.pinvoke.net/ とか)



参考文献を教えて頂きありがとうございました。
僕は英語がだめなので検索したのですが
見つからなかったんだと思います。
ただ、教えて頂いたサイトだと英語だめでもなんとなしに
読めました。
1

スキルアップ/キャリアアップ(JOB@IT)