c# - 手动创建 Flash AxHost.OcxState

标签 c# flash interop

我正在尝试在 C# 的控制台 应用程序中使用AxShockwaveFlashObjects.AxShockwaveFlash 对象。为此,您必须将 obj.OcxState 设置为某些内容。我查看了 Forms 设计器是如何做到这一点的,它是这样做的:

this.flash.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("flash.OcxState")));

我查看了资源,那里什么也没有。

我的问题是,如何手动创建一个 AxHost.State 以便我可以将我的 flash 对象的 OcxState 设置到它?

我看到 State 的构造函数采用 Streamintbool字符串。但我不知道要在 Stream(或 intboolstring)中放入什么创建它。

最佳答案

我喜欢这个问题 :P,因为设置 OcxState 可以让您从内存中的流中动态加载 Flash 电影,我看到有人在这里和那里问过这个问题,但从来没有得到答复(也许是现在,不知道)。两年前,我在做一个重要项目时意识到了这一点,并把它搁置了三个左右,直到我开始工作。

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

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

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

关于c# - 手动创建 Flash AxHost.OcxState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323389/

相关文章:

c# - 文本框中的逗号

Flash游戏骇客,得分是49700?如何提高Flash游戏的安全性?

flash - ActionScript 3.0 套接字无法重新连接

Java 存储过程作为 Java/.Net 互操作

c# - 如何按单元格值查找列 ID?

c# - 如何创建尽可能多的相同数据绑定(bind)组合框,但从相同的字段名称中提取不同的值?

c# - Http Client 现有连接被远程主机强行关闭

c# - 无法解析 Fabric :/addresses using ServicePartitionResolver. 问题:根据验证过程,远程证书无效

flash - Adobe Flash iOS 打包程序在打包大型项目时抛出 java.lang.OutOfMemoryError

c# - 我如何获得 System.Windows.Window