2010-07-15 60 views
1

我想知道是否有可能以编程方式驱动Flash应用程序,以便为需要用户交互的基于Web的基于Flash的应用程序提供某种自动化功能?天真的方法需要根据一些预定义的模式进行截图并识别交互区域。然后,我们可以通过将Windows消息直接发送到浏览器来模拟鼠标点击/键盘。是否可以通过编程方式驱动Flash应用程序?

我想知道是否有一个更简单/更微妙的方式来实现这一点。

+0

您是否拥有对所述Flash应用程序的控制权?如果是这样,您可以在Flash中使用ExternalInterface以允许来自Javascript的调用与Flash进行交互。 – Andir 2010-07-15 13:53:24

+0

如果你正在尝试自动测试等,AutoHotKey(http://www.autohotkey.com/)可能值得一看(不是特定于Flash) – cryo 2010-07-15 13:53:51

+0

谢谢安迪尔,但不,我没有控制应用程序。我正在考虑控制第三方应用程序。 – 2010-07-15 13:54:50

回答

1

您是否试图在其他人的网站上玩游戏或运行应用程序,这就是为什么您无法使用autohotkey程序?在这种情况下,您将不得不采取某种类型的屏幕截图并进行像素分析,以了解屏幕上发生了什么以及您想要如何处理这些数据。

Unfortunatley你将无法将数据从你不能控制的Flash应用程序中提取出来,除非你对其进行反向工程,并且这种可能性很小,并且可能是非法的。如果它是您的应用程序,那么您可以简单地将命令传递给与Flash应用程序后端进行交互的服务,但我猜不到。

+0

这正是我想要做的,就像你说的逆向工程不是真正合法的 - 所以我猜像素分析是我唯一的选择, – 2010-07-22 15:19:53

1

您没有想到Adobe Flex或Open Laszlo,是吗?你会想到如何开发一个编程/算法控制的Flash应用程序吗?

它们都是开源产品。

Laszlo首次提供免费的开源Flash Flash SDK。然后由Adobe自己开始采购他们的SDK。

您应该尝试使用任一SDK。

使用Flex或Laszlo SDK,您可以开发具有恒定客户端 - 服务器关系的应用程序,用户可能被要求提供用户输入,例如按钮或菜单上的鼠标或键盘点击,并向服务器发送请求。服务器将能够通过向异步客户端发送更多数据,图像和影片剪辑作出响应。

或者,客户端应用程序可以制作成独立(无服务器)Flash应用程序 - 以与客户端 - 服务器模式相同的用户输入驱动方式运行。这种独立的Flash应用程序可以从HTML页面或Flash查看器中启动。

开发Flash应用程序的乐趣之一是存在异步套接字。然而,随着HTML 5的出现,Flash技术提供了类似的功能,Flash技术似乎已经过时了。

相关问题