在 AS3 中使用 ExternalInterface 是否可以在 XP 中调用 OS(C#?)函数?
示例:将桌面背景设置为 Flash 应用程序提供的图像?
如果可能的话,当应用于不同的操作系统时会是不同的调用。那么跨过Mac呢?
任何信息都会很棒
谢谢
在 AS3 中使用 ExternalInterface 是否可以在 XP 中调用 OS(C#?)函数?
示例:将桌面背景设置为 Flash 应用程序提供的图像?
如果可能的话,当应用于不同的操作系统时会是不同的调用。那么跨过Mac呢?
任何信息都会很棒
谢谢
如果您从 C# 应用程序中启动 swf,外部接口就可以了。Flash 方面不会有任何改变,但您需要经过几个步骤才能使其在 C# 中工作。它不像 AMF 或 JS 的外部接口那么简单。
与 C# 的所有通信都转换为描述数据的 XML,并且您必须编写 XML 以发送回闪存。除此之外,它相对简单。
这是有关如何执行此操作的一些信息。AS 部分是 Flash 8/AS2,但 C# 部分应该是一样的。
从网页或作为桌面应用程序使用 Flash 时,您仅限于小型安全沙箱,您将无法进行任何相关的操作系统调用。我认为切换到 AIR 会给开发人员更多的灵活性,但它似乎也不正确。来自“ Adobe Air 的优缺点”:
AIR 应用有文件访问、剪贴板访问,支持多窗口,支持拖放,并且可以触发通知(Windows 中的 toast)。如果您的应用程序需要以其他方式与桌面交互,则 AIR 很可能不适合。例如,无法访问 COM 自动化,也无法执行外部应用程序。原因是为了保持跨平台兼容性。这是一个有价值的目标,但最好有办法摆脱沙盒。与 Java 或 .NET 不同,您不能使用自定义本机代码库来扩展 AIR。也不能调用操作系统 API。
正如 Alex Jillard 评论的那样,如果您的 swf 在 C# 桌面应用程序中被调用,您应该能够访问更多的操作系统功能,尽管我不确定如何。