2010-07-15 3 views
1

Мне было интересно, можно ли программно использовать приложение Flash для обеспечения какой-то автоматизации для веб-приложений на основе Flash, требующих взаимодействия с пользователем? Наивный подход потребует снятия скриншотов и распознавания интерактивных областей на основе некоторых предопределенных шаблонов. Затем мы можем эмулировать щелчки мыши/клавиатуры, отправляя сообщения Windows непосредственно в браузер.Можно ли программно запускать Flash-приложение?

Мне интересно, есть ли более простой/более тонкий способ достижения этого.

+0

У вас есть контроль над флеш-приложениями? Если это так, вы можете использовать ExternalInterface во Flash, чтобы разрешить звонки из Javascript взаимодействовать с Flash. – Andir

+0

, если вы пытаетесь выполнить автоматическое тестирование и т. Д., AutoHotKey (http://www.autohotkey.com/) может стоить взгляда (но не для флэш-памяти) – cryo

+0

Спасибо Andir, но нет, у меня нет контроль над приложением. Я думал об управлении сторонними приложениями. –

ответ

1

Вы пытаетесь сыграть в игру или запустить приложение на чужом веб-сайте, поэтому вы не можете использовать программу autohotkey? В этом случае вам нужно будет снять какой-то скриншот и провести анализ пикселей, чтобы выяснить, что происходит на экране, и что вы хотите делать с этими данными.

К сожалению, вы не сможете извлечь данные из приложения Flash, которое вы не контролируете, если вы не перепроектируете его, и это довольно маловероятно и, возможно, незаконно. Если это ваше приложение, вы можете просто передать команды службе, которая взаимодействует с бэкэндом приложения Flash, но я предполагаю, что нет.

+0

Это было именно то, что я пытаюсь сделать, и, как вы сказали, обратная инженерия на самом деле не легальна, поэтому я считаю, что анализ пикселей - это мой единственный выбор, –

1

Вы не думаете об Adobe Flex или Open Laszlo, не так ли? Будете ли вы думать о том, как разработать программно/алгоритмически управляемое Flash-приложение?

Они оба являются продуктами с открытым исходным кодом.

Бесплатный SDK с открытым исходным кодом был впервые предложен Ласло. А затем за ним сами Adobe открыли поиск своего SDK.

Вы должны попробовать свои силы на SDK.

С помощью Flex или Laszlo SDK вы можете разработать приложение, имеющее постоянные отношения клиент-сервер, где пользователю может потребоваться предоставить пользовательские входы, такие как щелчок мышью или клавиатурой на кнопках или меню, и отправлять запросы на сервер. Сервер сможет ответить, отправив больше данных, изображений, видеоклипов клиенту async.

В качестве альтернативы клиентское приложение может быть превращено в автономное (без сервера) приложение Flash - управляемое одним и тем же способом ввода данных в качестве режима клиент-сервер. Такое автономное Flash-приложение можно запустить с HTML-страницы или из Flash-просмотра.

Одна из радостей разработки Flash-приложений - наличие асинхронных сокетов. Однако с появлением HTML 5, предоставляющего аналогичные возможности Flash, технология Flash, похоже, находится на устаревшем конце.

Смежные вопросы