C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: エンベットのキャプチャ


(過去ログ 57 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■32273 / inTopicNo.1)  エンベットのキャプチャ
  
□投稿者/ asuka (62回)-(2009/02/04(Wed) 12:02:10)

分類:[C#] 

IEなどのブラウザで再生されるYOU TUBEやニコニコ動画といったエンベットタイプのコントロールをキャプチャするソフトを作成したいと思っております。

C#で開発しておりますが、多数のDLLをインポートしてAPIにてウインドウの列挙を実現しております。

メインウインドウや子ウインドウまでは列挙出来るのですが、IEのコントロール(エディットボックスやエンベット)までは列挙出来ておりません。

方法としましては、IEのコントロールのハンドルを取得し、ハンドルからコントロールの表示領域を取得して、

そのコントロールの表示範囲でキャプチャ出来ればいいな、と思っているのですが、

IEのコントロールのハンドルを取得することは出来ないのでしょうか?

御教授頂ければ幸いです。



この方法が駄目だった場合は、フォームにデスクトップを描画して、範囲選択(四角形)して、その部分をキャプチャしようかと思っております。

出来るか皆目検討もつきませんが、何か良い案なども御提供頂ければ幸いです。

よろしくお願い致します。

引用返信 編集キー/
■32291 / inTopicNo.2)  Re[1]: エンベットのキャプチャ
□投稿者/ 渋木宏明(ひどり) (1058回)-(2009/02/04(Wed) 14:07:16)
渋木宏明(ひどり) さんの Web サイト
2009/02/04(Wed) 14:08:27 編集(投稿者)

> IEのコントロールのハンドルを取得することは出来ないのでしょうか?

できるものとできないものがあります。

ブラウザが表示しているコントロールには Windows の標準コントロールではない(=ブラウザが自力で「コントロールのように見えるもの」の表示とふるまいを管理している) ものがあります。

それらは「(Windows 的な)子ウィンドウを列挙」しても検出されません。

また、ActiveX コントロールにも「ウィンドウレスコントロール」というものがあり、これも単純な「子ウィンドウの列挙」では検出できなかったと思います。
引用返信 編集キー/
■32336 / inTopicNo.3)  Re[2]: エンベットのキャプチャ
□投稿者/ asuka (63回)-(2009/02/05(Thu) 11:04:28)
渋木様ご返答ありがとうございます。

御丁重に解説して頂き感謝です。

あれやこれや列挙してみましたが、Windows の標準コントロールではないということで、

APIでの列挙はあきらめることにしました。



次に方法として自前のフォームにデスクトップの内容をリアルタイムで表示するような仕組みを考えたいと思います。

これも情報がなく、なかなか難しそうではありますが、

もう少しやり方を考えてみたいと思います。m(__)m
引用返信 編集キー/
■32347 / inTopicNo.4)  Re[3]: エンベットのキャプチャ
□投稿者/ 渋木宏明(ひどり) (1060回)-(2009/02/05(Thu) 12:17:10)
渋木宏明(ひどり) さんの Web サイト
> 次に方法として自前のフォームにデスクトップの内容をリアルタイムで表示するような仕組みを考えたいと思います。

描画できるくらいなら、すでにデスクトップ画像は取得できているわけで、わざわざ表示するまでもないと思いますけど?

> IEなどのブラウザで再生されるYOU TUBEやニコニコ動画といったエンベットタイプのコントロールをキャプチャするソフトを作成したいと思っております。

Windows の動画表示の仕組みについてご存じですか?

表示画面を単純にキャプチャするだけでは、動画をビットマップとして取り込めない場合もありますよ。

あと、1つのプログラムで複数の対象(サイト?)に対応するのは難しいんじゃないかな?

表示サイズは勿論のこと、動画が表示されるまでの操作もバラバラだろうし。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -