检查.NET webbrowser控件是否可以播放闪存

时间:2012-04-25 15:50:47

标签: .net flash browser

如果在加载flash页面后,如果webbrowser控件可以播放flash或者显示损坏的图像,我该如何检查代码?

想法是,如果用户无法播放Flash,应用程序应该使用adobe flash player网站打开Internet Explorer,这样用户就可以在IE中安装flash,并启用flash内容。

由于

2 个答案:

答案 0 :(得分:1)

由于IE中的Flash是一个Active-X控件,您可以使用应用程序本身的C#来查看是否可以使用Flash的类ID实例化一个COM对象:

private bool IsFlashInstalled()
{
    object instance = null;
    try
    {
        var type = Type.GetTypeFromCLSID(new Guid("d27cdb6e-ae6d-11cf-96b8-444553540000"));
        instance = Activator.CreateInstance(type);
        return true;
    }
    catch (Exception)
    {
        return false;
    }
    finally
    {
        if (instance != null)
        {
            Marshal.FinalReleaseComObject(instance);
        }
    }
}

您可能希望尽可能多地缓存结果。

答案 1 :(得分:0)

对于所有与Flash相关的需求,我建议您使用SWFObject JavaScript库。

教程:"Detecting Flash Player versions and embedding SWF files with SWFObject 2"