none
【C#】WebBrowserコントロールFlashPlayer表示動作について RRS feed

  • 質問

  • WebBrowserコントロールFlashPlayer表示動作についてご質問致します。

    開発環境:VS2015
    言語:C#
    WebBrowserコントロールはIE11として動作するように

     regkey.SetValue(process_name, 11000, Microsoft.Win32.RegistryValueKind.DWord);
     regkey.SetValue(process_dbg_name, 11000, Microsoft.Win32.RegistryValueKind.DWord);

    としています。

    【ご説明】

    某動画サイト、下記URLの動作にて、IE11、WebBrowserコントロールで違いがありました。
    http://www.hulu.jp/watch/296945

    違いは
    IE11の場合、表示される動画部分(FlashPlayer)が拡大、縮小できるの対して
    WebBrowserコントロールは、拡大、縮小ができない。
    というものです。

    こちらのサイトでは、WebBrowserコントロールでも
    動画部分(FlashPlayer)が拡大、縮小ができます。
    http://vod.skyperfectv.co.jp/player.php?ARTICLE_ID=34675&EPISODE_ID=152605&VIDEO_ID=617518

    【ご質問】
    Q1.IE11,WebBrowserコントロールは同じレンダリング処理(MSHTML.dll)を行うの認識であっていますでしょうか?
    Q2.http://www.hulu.jp/watch/296945で、WebBrowserコントロールは、拡大、縮小ができない事について
       プログラム実装で拡大、縮小できるようにしたいですが、可能でしょうか?
       可能な場合その方法はどのような事が考えられるでしょうか?
       
    以上、よろしくお願い致します。

    2016年12月7日 9:55

回答

すべての返信

  • > Q2.http://www.hulu.jp/watch/296945で、WebBrowserコントロールは、拡大、縮小ができない

    「拡大、縮小」とはどういう意味ですか?

    画面右下のアイコンをクリックしてのフルスクリーン切り替えという意味なら、自分の環境(Vista SP2 32-bit, .NET 4, IE9)の WebBrowser(レジストリの設定で IE9 相当)で、どちらの URL のサイトでも可能でしたが。

    IE と WebBrowser の違いではなくて、何か他に原因がありそうな気がします。



    • 編集済み SurferOnWww 2016年12月7日 11:58 誤字訂正、脱字追加
    2016年12月7日 10:55
  • SurferOnWww様
    ご連絡ありがとうございます。

    >「拡大、縮小」とはどういう意味ですか?
    Ctl+マウスホイール で拡大、縮小するの意となります。

    私の環境は(Win10 64bit ,.NET4.5.2, IE11)となります。

    私の環境でのWebBrowserコントロールでの見え方としては、
    一瞬縮小されているのですが、元のサイズに戻る動きをしております。
    JavaScriptでサイズが戻されているのでしょうか??

    また、
    MSHTML.dllを使っているRealPlayでも同様の動作(Ctl+マウスホイールの拡大、縮小ができない)となります。

    因みに
    Win7 32bitでも同様となりました。(Ctl+マウスホイールの拡大、縮小ができない)。

    2016年12月8日 1:32
  • >>「拡大、縮小」とはどういう意味ですか?
    > Ctl+マウスホイール で拡大、縮小するの意となります。

    それは以下の記事の「ブラウザーごとの拡大縮小方法・設定」セクションの画像にあるようなブラウザ本体の拡大・縮小機能のことですよね?

    フラッシュ画面のサイズ変更 flashを拡大縮小表示
    http://ameblo.jp/tenasub/entry-12038581041.html

    Flash Player Ver.18 以降は、ブラウザ本体の拡大・縮小に追随して Flash 画面のサイズも変わるようになったということで、自分の環境(IE9 + Flash Player Ver.23.0.0.207)でもそうなることが確認できました。(実は知らなかったです)

    しかし、少なくとも自分の環境では、WebBrowser(Windows Forms 用)を Form に貼り付けただけのものには拡大・縮小機能は実装されていません。

    WebBrowser で拡大・縮小するには、自力でコードを書いてその機能を実装する必要があるようですが、そのあたり、質問者さんはどのようにされたのでしょうか?

    2016年12月8日 3:20
  • ご連絡ありがとうございます。

    >それは以下の記事の「ブラウザーごとの拡大縮小方法・設定」セクションの画像にあるようなブラウザ本体の拡大・縮小機能のことですよね?
    はい。

    >しかし、少なくとも自分の環境では、WebBrowser(Windows Forms 用)を Form に貼り付けただけのものには拡大・縮小機能は実装されていません。
    なるほど。
    私の環境では、Ctl+マウスホイール動作で拡大、縮小ができます。

    >WebBrowser で拡大・縮小するには、自力でコードを書いてその機能を実装する必要があるようですが、そのあたり、質問者さんはどのようにされたのでしょうか?
    自力でコードを書かなくても拡大、縮小できるのですが、

    一応 この方法や
     HtmlDocument doc = webBrowser1.Document;
        doc.Body.Style = "zoom:40%;";

      この方法で
      
       SHDocVw.IWebBrowser2 wb = (SHDocVw.IWebBrowser2)webBrowser1.ActiveXInstance;
         SHDocVw.OLECMDID cmdZoom = (SHDocVw.OLECMDID)63;

         Object pvaIn = rate;// rate;
         Object pvaOut = null;
         if (webBrowser1.Document != null)
         {
          wb.ExecWB(cmdZoom, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref pvaIn, ref pvaOut);
         }
      
      できる事は確認しております。

    WebBrowserコントロールではFlashPlayerが22.0.0.192となっていました。

    IE11だと23.0.0.207となっています。 

    Windows10をUpdateしましたら、WebBrowserコントロールでもFlashPlayerが23.0.0.207となりました。
    しかし、現象は変わりませんでした。

    • 編集済み public_man 2016年12月8日 5:17 再追記の為
    2016年12月8日 3:43
  • Browser Emulationの項だけでなくInternet Feature Control Keys全体を調査し適切に設定されているか確認されてはどうでしょうか? 例えばWeb Browser Control Document ZoomはBy default, this feature is enabled for Internet Explorer and disabled for applications hosting the WebBrowser Control.となっていてIEとWebBrowserコントロールとでは動作が異なります。Legacy Input Modelも影響あるか気になりましたがWindows 7でも発生するということでしたら違うのかもしれません。

    # Web Browser Control Document Zoomが原因かどうかはわかりません。

    あとこれも関係あるかわかりませんが、IEはHigh DPIに対応しDPIを考慮したズームを行いますが、WebBrowserコントロールはアプリケーション依存なため挙動が異なります。Opt-In to High DPI Behavior for Web Browser Controls辺りを確認してください。

    2016年12月8日 4:05
  • > 私の環境では、Ctl+マウスホイール動作で拡大、縮小ができます。

    とすると、問題を再現できる環境を持っていない自分はお手上げです。お役に立てずすみませんが、他の方の回等をお待ちください。


    と言っておきながら何ですが、一つだけ気になった点を・・・

    > WebBrowserコントロールではFlashPlayerが22.0.0.192となっていました。
    > IE11だと23.0.0.207となっています。

    違う PC で試しているということはありませんか? 同じ PC なら同じバージョンになると思うのですが・・・ 同じ PC の同じ  WebBrowser で、ある URL は拡大・縮小が可能、別の URL は不可ということはなさそうなのでそう思ったのですが、違ったら失礼しました。このレスは忘れてください。

    2016年12月8日 6:33
  • >違う PC で試しているということはありませんか?

    もしかしたらそうだったかもしれません。。。すいません。


    >とすると、問題を再現できる環境を持っていない自分はお手上げです。
    >お役に立てずすみませんが、他の方の回等をお待ちください。
    とんでもありません。色々とご確認頂き大変ありがとうございます。

    WebBrowserコントロールでの動作について補足致します。
    ・拡大はできています。すいません。
    ・ブラウザ表示
     FlashPlayer部は一端縮小されますが、元のサイズに戻される
     テキスト、画像は縮小表示されています。
    ・動作はサイトに依存する。
     特定のサイトだけこのような動作となります。

    2016年12月8日 7:43