2015-06-27 61 views
0

所以我做了一些有趣的事情,但我只是想知道是否有可能運行一個外部程序,例如通過按下按鈕打開Chrome(甚至可能搜索它)。AS3運行一個外部程序

+0

你到底要在Chrome瀏覽器做什麼?它是否必須專門用於Chrome瀏覽器,或者您是否想在瀏覽器中打開網站? – null

回答

1

你應該能夠通過包裝你的.swf文件來啓動一個外部程序。有倍數的方法來做到這一點:

  1. 您可以使用Flash來create a projector這將允許使用fscommand()使用exec參數:fscommand("exec","/path/to/your/installed/Chrome");
  2. 您可以創建一個AIR應用程序和使用NativeProcess
  3. 使用第三方包裝(如mProjectorzinc等)

第一個選項應該是最容易測試的。請記住,該功能已經與各種版本的Flash一起出現。在較舊版本的Flash中,您可以使用File Menu中的Standalone Flash Player和Create Projector選項。只要你可以使用這個功能,這是最簡單的,但你不會有很多選擇。

如果您打算對從as3啓動的應用程序擁有更多控制權,請考慮在您訪問文件系統和進程時使用AIR。

的第三方工具可現在已經過時和一個簡單的應用程序啓動可能是矯枉過正,但它的好,知道他們在那裏(的情況下,你可能需要一些其他不受支持的功能)

0

基本上,Flash可以沒有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");