如何用FSCommand调用EXE可执行程序?
文章类别:
Flash | 发表日期:2008-9-21 15:03:47
如何用FSCommand调用EXE可执行程序?
我们都知道,调用一个可执行程序(扩展名为.exe或.bat或.com)?和打开一个一般文件是不同的,前者可自动运
行,而后者需要相应的可执行程序支持打开,像扩展名为doc和pdf的文件必须由相应的可执行程序才能打开阅
读。分三种情况考虑:?
□?开启一个外部可执行程序:扩展名.exe可以省略。具体来说,若一个exe文件(假设为another.exe)和该
swf文件本身在同一个目录下,则直接键入程序文件名即可。如:?
fscommand("exec","another")?
否则,应写明路径。如打开IE浏览器窗口:?
fscommand("exec","c:\\progra~1\\intern~1\\iexplore")?
//注重DOS下对长文件(夹)名的处理形式。?
下面两种情况也可以不写路径——?
(1)当可执行程序是在c:\windows目录下时,可以不写路径。如调用windows的计算器,下面三种写法均可:?
fscommand("exec","c:\\windows\\calc.exe")?
fscommand("exec","c:\\windows\\calc")?
fscommand("exec","calc")?
(2)调用DOS命令也可省略路径。如下例打开MS-DOS下的Edit编辑器:?
fscommand("exec","edit.com")?
假如熟悉批处理文件写法,通过FSCommand->exec命令执行批处理文件可以一举多得。?
□?调用默认程序打开一般文件:这种情况不能省略扩展名,同样要注重文件路径。比如我们要打开和该swf文
件本身在同一个目录下的名为fs.htm的文件,则命令写作:?
fscommand("exec","start"?add?chr(9)?add?"fs.htm")?
执行后,假如用户机子默认的浏览器是IE,则自动调用IE打开这个网页文件。?
□指定程序打开一个一般文件:Windows并未规定一种类型的文件只能由一种程序打开(比如.txt文件既可以
用记事本打开,也可以用写字板阅读),这就使我们可以任意选择可用于打开一般文件的可执行程序。当然前
提是在大多数用户机子上都能够找到我们所指派的可执行程序,因此实际上能选取的是那些常用的、随windows?
9X预装的程序,像记事本(notepad)、写字板(write)、IE浏览器(iexplorer)、command命令等等。如我们希望
调用客户机上的“写字板”程序,打开一个和该swf文件本身在同一个目录下的名为fs.txt的文本文件,可以这
么写命令:?
fscommand("exec","c:\\windows\\write.exe"?add?chr(9)?add?"fs.txt")?
前已述及,凡是在c:\windows目录下的可执行程序,在书写FSCommand->exec命令时都可以省略路径,简写成:
fscommand("exec","write"?add?chr(9)?add?"fs.txt")?也是正确的。
以上只对FlashMX以下版本才有效
□Flash?MX中增强了安全性,它虽然也可以调用exe文件,但它是有条件的。?
1.你的flash文件不能是swf,而应该是exe文件,比如jimsons.exe;?
2.要在jimsons.exe同一目录中新建一命名fscommand目录,你要调用的外部可执行文件要在fscommand目录下,
且不能在子目录下,比如是notepad.exe,请copy?notepad.exe到fscommand目录下;?
3.action的写法为:?
on?(release)?{?
fscommand("exec",?"notepad.exe");?
}?
4.导出exe格式?
??发布方法如下:
?????选中?File?->?Publish?Settings?或按ctrl+shift+F12
?????它默认的发布类型为HTML(.html)与Flash(.swf),
?????你将这两项取消,选中Windows?Projectors(.exe)
?????即可将你的Flash文件直接发布为exe可执行文件
?????按ctrl+F12即可发布
?????若你的文件尚未保存则它会发布在你flash的安装目录中
?????若你的文件已保存则会发布在你的文件同一目录下
??还有一种比较简便的方法是:
????先用?File?->?Export?Movie...或按Ctrl+Alt+Shift+S?导出swf文件
????再打开这个文件,通过?文件?->?创建播放器?即可产生EXE可执行文件
下面有个例子