2015-06-27 4 views
0

Так что я делаю что-то интересное, но мне просто интересно, можно ли запустить внешнюю программу, например, открыть Chrome (и, возможно, даже выполнить поиск на нем), нажав кнопку.AS3 Запуск внешней программы

+0

Что именно вы хотите сделать в хроме? Должен ли он быть хром конкретно или вы просто хотите открыть веб-сайт в браузере? – null

ответ

1

Вы должны иметь возможность запускать внешнюю программу путем упаковки вашего .swf-файла. Есть кратные способы сделать это:

  1. Вы можете использовать вспышку для create a projector, который позволит использовать fscommand() с ехесом аргументом: fscommand("exec","/path/to/your/installed/Chrome");
  2. Вы можете создать приложение AIR и использовать NativeProcess
  3. Используйте третья сторона обертки (например, mProjector, zinc и т.д.)

Первый вариант должен быть простой, чтобы проверить. Имейте в виду, что эта функция подходит к различным версиям Flash. В старых версиях Flash вы просто использовали параметр «Автономный Flash Player» и «Создать проектор» в меню «Файл». Пока вы можете использовать эту функцию, это самый простой, но у вас не будет много вариантов.

Если вы планируете больше контролировать приложение, которое вы запускаете из as3, рассмотрите возможность использования AIR при получении доступа к файловой системе и процессам.

3-й инструменты сторонних производителей могут быть устаревшими в настоящее время и для простого запуска приложения может быть излишним, но это хорошо, чтобы знать, что они там (в случае вам может потребоваться в противном случае неподдерживаемые функции)

0

В принципе, вспышка может Не вызывайте внешние программы без AIR.
Но если этот случай позволяет использовать ActiveX, можно запустить некоторые внешние программы.
Излишне говорить, что он работает только с IE.

JS код

function openChrome(url){ 
     wshshell=new ActiveXObject("WScript.Shell"); 
     wshshell.run("chrome.exe --new-window " + url); 
    } 
    function openExcel(path){ 
     wshshell=new ActiveXObject("WScript.Shell"); 
     wshshell.run("excel " + path); 
    } 

AS кодекса

ExternalInterface.call("openChrome", "http://www.google.com"); 
ExternalInterface.call("openExcel", "C:\\foo\\bar.xlsx"); 
Смежные вопросы