今日对一个项目做一个临时修改,点击Flash上的一个按钮,运行本机程序,在这记一下通用实例:
<mx:Button label="打开记事本" click="RunApplication()" x="10" y="10"/>
<mx:Script>
<![CDATA[
import flash.system.fscommand;
private function RunApplication():void
{
ExternalInterface.call("RunApplication");
}
]]>
</mx:Script>
{
}
shellActiveXObject.Run(executableFullPath, 1, false);
1)新建一个MXML Application代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
</mx:Application>
2)在html-template的index.template.html给页面添加如下脚本:
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = ${version_major};
// Minor version of Flash required
var requiredMinorVersion = ${version_minor};
// Minor version of Flash required
var requiredRevision = ${version_revision};
// -----------------------------------------------------------------------------
// -->
function RunApplication()
{
var executableFullPath = 'C:\\windows\\notepad.exe';
try
{
var shellActiveXObject = new ActiveXObject("WScript.Shell");
if ( !shellActiveXObject )
alert('Could not get reference to WScript.Shell');
return;
shellActiveXObject = null;
}
catch (errorObject)
{
alert('Error:\n' + errorObject.message);
}
}
</script>