2010-07-15 4 views
1

Je me demandais s'il était possible de piloter l'application Flash de manière programmée pour fournir une sorte d'automatisation pour les applications Web Flash qui requièrent des interactions avec les utilisateurs? L'approche naïve nécessiterait de prendre des captures d'écran et de reconnaître les zones interactives sur la base de certains modèles prédéfinis. Ensuite, nous pouvons émuler les clics souris/claviers en envoyant des messages Windows directement au navigateur.Est-il possible de piloter l'application Flash par programmation?

Je me demande s'il existe un moyen plus simple/plus subtil d'y parvenir.

+0

Avez-vous le contrôle des applications flash? Si tel est le cas, vous pouvez utiliser ExternalInterface dans Flash pour autoriser les appels de Javascript à interagir avec Flash. – Andir

+0

Si vous essayez de faire des tests automatisés etc, AutoHotKey (http://www.autohotkey.com/) peut valoir la peine d'un coup d'oeil (pas spécifique à flash si) – cryo

+0

Merci Andir, mais non, je n'ai pas contrôle sur l'application. Je pensais à contrôler les applications tierces. –

Répondre

1

Etes-vous en train d'essayer de jouer à un jeu ou d'exécuter une application sur le site de quelqu'un d'autre, c'est pourquoi vous ne pouvez pas utiliser un programme autohotkey? Dans ce cas, vous devrez effectuer un certain type de capture d'écran et faire des analyses de pixels pour comprendre ce qui se passe à l'écran et ce que vous voulez faire avec ces données. Malheureusement, vous ne pourrez pas extraire des données de l'application Flash que vous ne contrôlez pas, à moins que vous ne procédiez à une ingénierie inverse, ce qui est peu probable et peut-être même illégal. Si c'est votre application, vous pouvez simplement passer des commandes à un service qui interagit avec le backend de l'application Flash, mais je suppose que non.

+0

C'était exactement ce que j'essayais de faire, et comme vous l'avez dit, le reverse engineering n'est pas vraiment légal - donc je suppose que l'analyse de pixels est mon seul choix, –

1

Vous ne pensez pas à Adobe Flex ou à Open Laszlo, n'est-ce pas? Penseriez-vous à la façon de développer une application Flash programmée/algorithmiquement contrôlée?

Ce sont deux produits Open Source.

Un SDK Flash open source gratuit a été proposé pour la première fois par Laszlo. Et puis suivi par Adobe eux-mêmes ouvrir leur SDK.

Vous devriez essayer les deux SDK. Avec Flex ou Laszlo SDK, vous pouvez développer une application avec une relation client-serveur constante, où l'utilisateur peut être amené à fournir des entrées utilisateur comme des clics de souris ou de clavier sur des boutons ou des menus et envoyer des requêtes au serveur. Le serveur pourrait répondre en envoyant plus de données, d'images, de clips vidéo au client asynchrone.

Alternativement, l'application cliente pourrait être transformée en une application Flash autonome (sans serveur) - fonctionnant de la même façon que le mode client-serveur. Une telle application Flash autonome peut être lancée à partir d'une page HTML ou d'une visionneuse Flash.

Une des joies du développement d'applications Flash est la présence de sockets asynchrones. Cependant, avec l'avènement de HTML 5, offrant des fonctionnalités similaires à Flash, la technologie Flash semble être sur la fin obsolète.