割と有用な情報だと思います。
.Net Framework2.0のWebBrowserコントロールを用いてFlashコンテンツを見ると、
クリックが一度しか正常に機能しないという問題があります。
とりあえずやむなくActiveXの方のコントロールを使用したのですが、.Net2.0のコントロール(System.Windows.Forms.WebBrowser)でも回避方法がありました。
要はウィンドウメッセージを誰かが横取りしているみたいなので、それをきちんと知らせてあげようということみたいです。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も正常に動いてくれました!