我有一个HTML页面,其中包含一个Flash文件和一些返回flash文件对象的JavaScript函数。
到目前为止,我可以从C#调用JavaScript函数并让它返回一个Object,但是我希望将其转换为AxShockwaveFlash并直接从C#访问COM对象。
我已经在嵌入HTML页面的Windows Media Player中看到了这一点,但它似乎不适用于Flash。
<script type="text/JavaScript"> function GetWMP() { return(testing); } <script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="857" height="480" id="testing">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
</object>
下面是我的C#代码,它返回对象。
object o = webBrowser1.Document.InvokeScript("ReturnFlash");
AxShockwaveFlashObjects.AxShockwaveFlash flash = (AxShockwaveFlashObjects.AxShockwaveFlash)o;
当我尝试将Object转换为AxShockwaveFlash时,它失败了,但我看到它将对象转换为WindowsMediaPlayer。
我试图找出AxShockwaveFlash是否支持QueryInterface调用,根据错误消息但Google没有返回任何有价值的信息。
由于
答案 0 :(得分:0)
AxShockwaveFlash是一个由aximp.exe创建的自动生成的Windows窗体控件。所以你可以把它放在表格上。你得到的那个对象不是那种控制。你只能转换为interop包装器暴露的接口,它应该是ShockwaveFlashObjects.ShockwaveFlash。