所以我正在做一些有趣的事情,但我只是想知道是否有可能运行一个外部程序,例如打开Chrome(甚至可以搜索它),只需按一下按钮。
答案 0 :(得分:1)
您应该可以通过包装.swf文件来启动外部程序。有多种方法可以做到这一点:
fscommand("exec","/path/to/your/installed/Chrome");
第一个选项应该最容易测试。请记住,此功能已经与各种版本的Flash一起出现。在旧版本的Flash中,您可以使用“文件”菜单中的“独立Flash播放器”和“创建投影仪”选项。只要你可以使用这个功能,这是最简单的,但你不会有很多选择。
如果您计划对从as3启动的应用程序有更多控制权,请考虑使用AIR,因为您可以访问文件系统和进程。
第三方工具现在可能已经过时,并且对于简单的应用程序启动可能会过度,但很高兴知道它们存在(如果您可能需要一些其他不受支持的功能)
答案 1 :(得分: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");