phpで画面キャプチャする方法


phpで既に起動しているブラウザ(IE)をキャプチャする方法を探しています。

現在開いている画面をキャプチャする方法と、phpから新たに開くIEをキャプチャする方法は把握しております。

以下のソースは新たにIEでyahooを開きキャプチャするものです。

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.yahoo.co.jp");

/* まだ動作するか? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

上記ですと新たに開いたIEしかキャプチャできません。
既に開いているIEのウインドウIDを特定し、そのウインドウIDのブラウザの画面をキャプチャする方法が知りたいです。

宜しくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/08/14 00:50:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:sasada No.1

回答回数1482ベストアンサー獲得回数133

ポイント1000pt

 試せる環境がなくて、自分では試していませんが、

new COM("InternetExplorer.Application")

の代わりに

com_get_active_objectCOM("InternetExplorer.Application")

とすればうまくいくかもしれません。

http://php.net/manual/ja/function.com-get-active-object.php

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません