【问题标题】:Integrating VB.NET with Flash in Visual Studio 2015 (Community)在 Visual Studio 2015 中将 VB.NET 与 Flash 集成(社区)
【发布时间】:2015-10-18 22:40:31
【问题描述】:

我目前正在制作一个 VB.NET 项目。我想让 VB.NET 项目控制 Flash 投影仪的动作。 (停止、播放、更改 Flash 投影仪中文本控件的文本等)这是一种单向控件,但是 SWF 投影仪不会与 VB.NET 项目交互。

下图显示了我想做什么。

编辑:好的,我设法获得了一个可用于放入项目的 SWF 对象。所以现在,我的问题是如何让两者(Visual Studio 和包含在另一个窗体窗口中的 SWF 对象)进行交互。也就是说,如果我按下 VisualBasic 上的按钮,我可以调用 AS3/SWF 中的函数来做某事并从 Visual Basic 表单接收变量。

AS3代码包含以下内容

function fl_ClickToGoToWebPage(event:MouseEvent):void
{
    lblText.text = "Congrats! It Works!";
}

btnChange.addEventListener(MouseEvent.MOUSE_UP, fl_ClickToGoToWebPage);

这是实际 SWF 的照片。

我想做的是调用这个函数(或一些类似的函数),将信息从 VB 表单传递给 SWF 投影仪(在 Visual Studio 中作为 ActiveX Flash 对象运行)。 (忽略实际 SWF 上的按钮,该按钮在最终运行时不会出现)我遇到了两个问题:

1) 如何修改addEventListener 使其可以接受多个参数,或者我可以使用其他事件或函数吗?

2) 如何在 Visual Studio 中调用此函数作为 VS/VB.NET 中的子函数或函数的一部分?

我不需要它来回报,就像在 Visual Studio 从 SWF 中获取信息一样。

【问题讨论】:

  • 要在您的 VB.NET 应用程序和 swf 之间进行通信,您可以使用 ExternalInterface,为此,请查看此 post,您可以在其中找到一个简单的示例。
  • 这实际上是我不久前的问题......我只是不记得我发布了它。但这听起来像是从 SWF 到 VB。是不是反过来?
  • 我什至没看到那是你的 ;) 不,调用 ActionScript 函数的是 VB。

标签: vb.net visual-studio actionscript-3 flash


【解决方案1】:

我刚刚使用 sendkeys 进行了一次快速测试,它工作正常;它的核心是:

将 flashplayer 设置为前台窗口 ...

Friend 声明函数 SetForegroundWindow Lib "user32" (ByVal hWnd 作为 IntPtr) 作为整数

然后使用 sendkeyes 命令

System.Windows.Forms.SendKeys.SendWait

【讨论】:

  • 希望不使用SendKeys 方法,而是使用ExternalInterface。然而,特别是因为我试图将整个数据字符串发送到 Flash SWF。
  • 我或多或少地从我写的一个免费软件程序中得到了这个,你应该能够毫无问题地发送很长的数据字符串。在对我的程序 A Form Filler 的测试中,它以每分钟 300 多字的速度将哈姆雷特的第一幕场景 1 完美地输入到 Microsoft 记事本中 - 所以希望你应该没事 :-)
  • 嗯。那么我可能不得不尝试这种方法......因为编写 XML 并不是很有趣。你知道在哪里可以看到完整的源代码吗?
【解决方案2】:

我建议检查套接字连接。它们很容易用 C++ 实现,而且 Flash 内置了对它们的支持:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/Socket.html

【讨论】:

    猜你喜欢
    • 2015-10-11
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2017-08-25
    相关资源
    最近更新 更多