| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash经验技巧 > 文章正文 用户登录
关于blog程序的几
弈天广告联盟关于
悠博科技50M/FTP/
华云网络30M/FTP/
网络幼虫:关于我的
关于╃木蚂蚁㊣的
关于web2.0盈利模
关于网站定位,寻找
关于关于IT创业的
关于个人网站发展

关于fscommand调用EXE的一点心得体会           

关于fscommand调用EXE的一点心得体会

作者:佚名 来源:闪吧 作者: laiy.net 更新:2007-1-13 20:58:34 错误报告 我要投稿

          今天一位朋友问我关于fscommand的问题,是关于调用EXE文件的
看到论坛上很多朋友都提到了这个问题,但是每次都无功而返,今天我也尝试做了一次,在实验中,多亏了卢巧音中文网朋友的支持和帮忙,在这儿我同样要感谢他!



          很多朋友在贴子里常常问:为什么我的FLASH无法调用本地机器里的EXE文件呢,可是AS写得却没有错误,我是这样写的啊

            on   (release)   {
   fscommand("exec",   "***.exe");
}
是的,粗粗看来,确实在AS中没有任何错误,我一开始的时候也是这个模式,可是就是调用不了文件,首先,我们来了解一下fscommand的几个命令的意思

fscommand(cmd_string,   arg_string)   执行主机端指令。cmd_string指定所要执行的指令名,可为FlashPlayer的   
指令或浏览器JavaScript函数。arg_string声明该指令所用到的参数。   
FlashPlayer的指令有(只能在独立播放器时使用):   
"fullscreen"   是否全屏播放,参数为true或false   
"allowscale"   是否允许通过拉伸窗口缩放影片,参数为true或false   
"showmenu"   是否在播放器显示菜单,参数为true或false   
"trapallkeys"   是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复   
"save"   隐藏属性,作用是存变量到文本文件.
视窗显示),参数为true或false。但Alt+F4系统快捷   
键(关闭窗口)依然可用。   
"exec"   运行arg_string所指定的文件。

以下只介绍exec命令的用法

EXEC是通过FLASH文件调用本地EXE文件的一个命令,下面我们来看图:

首先,新建一文件夹,命名为myflash

按此在新窗口浏览图片


打开flash,在场景中添加一按钮,在AS面板中写下代码:
on   (release)   {
   fscommand("exec",   "popo.exe");
}
至于为什么要取EXE文件的名字为popo,这个在后面会解释

按此在新窗口浏览图片

   
将刚才的flash文件保存为1.fla,另外创建一个1.swf文件

按此在新窗口浏览图片







在同一文件夹下新建一文件夹,命名为fscommand,这个文件夹是放置以后要调用的EXE文件的

按此在新窗口浏览图片


这时候你可以把EXE文件先放置到fscommand文件夹下了,钢材我用的popo.exe文件其实是网易泡泡的安装程序,其实是不是POPO无所谓,只要是以EXE为后醉的文件都可以





按此在新窗口浏览图片


这个时候有些朋友就开始ENTER+CTRL进行测试了,可是没有反应
没错啊,我钢材写的代码也没问题啊,我的路经也没问题啊,为什么就无法调用文件呢?





其实问题在这里!

Flash   MX中增强了安全性,它虽然也可以调用exe文件,但它是有条件的。   

1.你的flash文件不能是swf,而应该是exe文件,比如1.exe;   
2.要在1.exe同一目录中新建一命名fscommand目录,你要调用的外部可执行文件要在fscommand目录下


这句话不知道大家有没有看懂,说得通俗一点:SWF文件不能直接调用EXE文件!也就是说,只有将你钢材做好的那个带按钮想调用popo.exe的1.swf文件转换成EXE文件才可以调用popo.exe,其实也就是EXE调用EXE拉,只不过是前面的这个EXE必须是SWF转换过来的

转换方法如下:
导出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可执行文件


你要把SWF转成这个样子:

按此在新窗口浏览图片


按此在新窗口浏览图片



现在打开你的1.exe,点一下中间的按钮试试看?

按此在新窗口浏览图片


经过以上的步骤,你是不是自己摸索出了一点规律和失败的原因了吗?





下面我替各位总结一下以上的内容:

首先,调用EXE文件最重要的一点,必须把你的SWF文件先转换成EXE,也就是FLASH的播放器,为什么要先转换成EXE文件?我们都知道,随着MACROMEDIA公司的flash软件在全球的兴起,也带来了一股flash热潮,当然了,更多的人是用在了商业用途中,比如说做flash首页,做动画,这都是有利益驱使的,如果没有金钱,谁也不会去做(当然除了象我们这些业余爱好者除外),所以也出现了一些利用flash转空子的人,他们利用flash强大的功能在网络中进行破坏活动,使一些用户遭受了巨大的损失,其中很大的一方面就是因为fscommand命令而造成的,在flashmx推出之前,使用flash5的用户在使用这个命令的时候,都可以直接通过SWF来调用EXE文件(只要你把EXE文件放在fscommand文件夹下就行),破坏分子就是利用这个漏洞对一些网上的FLASH文件进行攻击和破坏活动,现在flashmx的推出的同时,也把AS中的此代码改成了EXE调用EXE来执行命令,从而保护了用户的安全
其次,必须把你要调用的EXE文件放在同一目录的fscommand文件下,不然flash就无法查找该文件的具体路经





另外说一下,如果你不想放在该文件夹下也可以,但是要具体写明它的位置

具体的方法如下:

开启一个外部可执行程序:扩展名.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命令执行批处理文件可以一举多得。
   

当然,我个人认为,保持一个良好的习惯是必要的,所以还是复制一个EXE文件到fscommand文件夹下吧:)
下面献上源代码:
点击浏览该文件
再次说明一点,由于此例只能在本地机器上进行测试,可能会因为路经的问题而导致测试不成功,你可以把RAR文件全解压缩到同一文件目录下,如果还不行,可以下载下面这个代码,和上面的代码的区别就是少了1.exe文件,你可以自己去创建,方法上面贴子已经介绍过了:)
点击浏览该文件
最后,希望各位能够多动动手自己常识做一下,毕竟自己体会过了才算是真正的学到手了
同时也感谢jimsons朋友,有一部分的内容是从他那儿学到的,希望各位有空也去支持支持他,他的原创贴地址如下:





http://flash8.net/dispbbs.asp?boardID=1&ID=74915

有空大家多交流,最后,谢谢各位的支持!
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。