モンスターカレンダー

« 2007年3月 »
12345678910111213141516171819202122232425262728293031

.Net Framework 2.0 WebBrowser & Flash

| コメント(0) | トラックバック(0)

 割と有用な情報だと思います。

 .Net Framework2.0のWebBrowserコントロールを用いてFlashコンテンツを見ると、
クリックが一度しか正常に機能しないという問題があります。
 とりあえずやむなくActiveXの方のコントロールを使用したのですが、.Net2.0のコントロール(System.Windows.Forms.WebBrowser)でも回避方法がありました。

 出所はこちら。
http://www.codeproject.com/csharp/ExtendedWebBrowser.asp?df=100&forumid=285594&exp=0&select=1593837&tid=1593837#xx1593837xx

 要はウィンドウメッセージを誰かが横取りしているみたいなので、それをきちんと知らせてあげようということみたいです。System.Windows.Forms.WebBrowserを継承したクラスでWndProcをオーバライドします。



using System;
using System.Collections.Generic;
using System.Text;

namespace TestBrowser {
public class MyWebBrowser : System.Windows.Forms.WebBrowser {
protected override void WndProc(ref System.Windows.Forms.Message m) {
switch (m.Msg) {
case 0x201: // WM_LMOUSEBUTTON
case 0x204:
case 0x207:
case 0x21:
base.DefWndProc(ref m);
return;
}
base.WndProc(ref m);
}
}
}


このようなクラスを代わりに使用すると、Flashも正常に動いてくれました!

トラックバック(0)

トラックバックURL: http://www.f-bell.net/cgi-bin/MT/mt-tb.cgi/318

コメントする

アイテム

  • 2004_0229_011400aa_m.jpg
  • DPP_1019.JPG
MovableType(MT)テンプレート 無料(フリー)
Powered by Movable Type 4.261