C# 手动创建闪存AxHost.OcxState

C# 手动创建闪存AxHost.OcxState,c#,flash,interop,C#,Flash,Interop,我试图在C#中的控制台应用程序中使用axshockwavelashObjects.axshockwavelash对象。为此,必须将obj.OcxState设置为某个值。我研究了表单设计器是如何做到这一点的,它是这样做的: this.flash.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("flash.OcxState"))); 我查了一下资源,什么都没有 我的问题是,如何手动创建AxHost.State

我试图在C#中的控制台应用程序中使用
axshockwavelashObjects.axshockwavelash
对象。为此,必须将
obj.OcxState
设置为某个值。我研究了表单设计器是如何做到这一点的,它是这样做的:

this.flash.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("flash.OcxState")));
我查了一下资源,什么都没有

我的问题是,如何手动创建
AxHost.State
,以便设置flash对象的
OcxState


我看到
状态
的构造函数采用
int
bool
字符串
。但是我不知道应该在
流中放入什么来创建它。

我喜欢这个问题:p,因为设置OcxState可以让你从内存中的流动态加载Flash电影,这是我在没有回复的情况下到处看到的问题(也许是现在,dunno). 两年前,我在做一个重要的项目时意识到了这一点,并把它搁置了三个小时左右,直到我完成了这个工作

作为可以使用任何流的流,MemoryStream足以设置OcxState(为了填充它,可以使用BinaryWriter),只需执行以下操作:

flashCtl.OcxState = new AxHost.State(stream, 1, false, null);

如果资源文件的OcxState条目为空,可能是因为Flash OCX允许您设置一个没有问题的空流,这是我不知道的。

我甚至不记得为什么需要这样做。非常感谢你的回答,当我记起的时候我会记住:)嘿,我甚至都没意识到这个问题已经有几个月了,好吧,它可能对将来的其他人也有帮助。@Neverbirth有一个关于OcxState的问题: