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所指定的文件。
FSCommand语句中的exec命令可以使swf 文件具有读写磁盘的功能
这部分内容说的是,FSCommand->exec命令与操作系统进行交互的用法,包括如何打开本地文件,存储文件,建
立目录,打开浏览器窗口以及其它外部程序。针对MAC机和PC机使用不同的操作系统,FSCommand语句在实际写
法上不尽相同,本文以PC机为例进行说明。(MAC机中的情况不作翻译)
适用于Windows 9X的FSCommand->exec命令详细说明:
(注:若要将以下命令句法移植到NT/2000/Me上,不能原封不动的照搬,需要略作改动,请自行实践。)
1、存储文件到硬盘
有时我们想要在用户的机子上留下cookie,或在用户的硬盘上存储一些其它类型的信息,唯一可行的方法就是
借助FSCommand,它通过调用用户Windows系统的command.com命令打开MS-DOS窗口实现文件的存储。因为使用
DOS命令行的方式生成文件,所以MS-DOS窗口是必然要出现的,但在高配置机子上,这个过程一闪而过,用户
不易察觉。使得该命令生效的前提是,含有这个FSCommand语句的swf文件必须是在本机上运行,而不是通过网
络来访问。
举例:将swf文件中文本输入框(变量名为:textbox)的内容存到一个新创建的和swf文件位于相同目录下的名
为textfile.txt的文件中,并作为值赋给新的变量var。如下书写FSCommand 语句:
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add
"var=" add textbox add ">textfile.txt" (一定要将其后的Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add "var="
add textbox add ">textfile.txt");
说明:一个chr(9) 表示一个空格;/c为command.com的参数,加上这个参数其后的命令才能被执行;>是重定向
符,我们正是靠它将变量值写入textfile.txt中。另外,还可指定文件存放目录,如要在用户桌面上建立
textfile.txt文件,那么将">textfile.txt"改为">c:\\windows\\desktop\\textfile.txt"
【注】:\\ 是转意字符。在Flash中,“ \ ”被当成保留关键字,已失去了本来的意义,所以要想显示斜杠 \
,必须加前缀转意符 \ ,使之是还原本来的意义,连在一起写就成了两个斜杠的形式。又比如,要想表示单引
号,须写成 \’ 这样的形式;实现回车的效果,须用转意符号 \r 。
2、删除硬盘上的文件
通过FSCommand->exec命令还可以删除硬盘上的文件,下面的语法只适用于Windows 9X系统。
举例:将前面创建的textfile.txt删除
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add
"textfile.txt" (一定要将Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add
"textfile.txt");
警告:使用这个命令要慎重,因为是采用DOS命令删除文件,在回收站里是看不到的被删文件的。还有,万勿用来做坏事。
3、在硬盘上新建目录
通过执行FSCommand->exec生成的cookie若置于和所属swf文件位于同一目录下,容易被识别,用户在清理系统
垃圾时极有可能将其清除,那样的话就失去意义了,考虑到用户一般不会轻易删除文件夹,我们专门新建一个
目录存放cookie不失为一个好计。
举例:在swf文件所在目录下新建一个名为textfile的子目录
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add
"textfile" (一定要将Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand("exec","command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add "textfile"
说明:md是DOS命令集中用来建立目录的专用命令;如果换成rd则可以删除硬盘上已存在的目录,提醒诸位三思而后行。
用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以下版本才有效
分享到:
相关推荐
在ActionScript中,你可以使用`fscommand(commandName, argument)`函数来调用fsCommand。其中,`commandName`是你定义的命令名,`argument`是可选的参数,用于传递额外的信息。例如,如果你定义了一个名为"quitApp...
在某些情况下,可能需要使用其他方法,如在Flash Player外嵌的网页上添加一个按钮,通过JavaScript与Flash进行交互,实现关闭页面或窗口的功能。 4. **关闭功能的替代方案** 如果`fscommand("quit")`不起作用,...
除了基本的函数调用,Flash还可以利用**fscommand**或**getURL**方法来执行JS代码。例如,使用**getURL**可以构造并执行任意JS代码片段,如弹出警告框、更新DOM元素等,从而实现了Flash与网页环境的深度集成。 综上...
此外,JS与SWF通讯还有其他方法,如`postMessage`/`ExternalInterface.call`的组合,以及早期的`FSCommand`,但`ExternalInterface`是推荐的现代方案,因为它提供了更安全、更灵活的交互方式。 总结来说,JS调用AS...
* 使用`Fscommand`函数实现全屏播放、取消右键菜单和关闭FLASH动画 * Fscommand指令只有在FLASH播放器执行时才有效 全屏播放 * 使用`Fscommand("Fullscreen","True")`设置全屏播放 取消右键菜单 * 使用`...
在Flash中,可以定义一个按钮,并在其释放事件中添加FSCommand函数。例如: ```actionscript btn.onRelease = function() { fscommand("Send Action", "www.an86.net"); }; ``` 这里的`fscommand`函数发送一个名...
本资源提供了关于Fscommand指令的教程,涵盖了Fscommand指令的使用方法,包括全屏播放、取消右键菜单、关闭Flash动画等方面的内容。 8. 全屏播放 本资源提供了关于全屏播放的教程,涵盖了Fscommand指令的使用方法...
2. **使用fscommand**:`fscommand`是Flash中的一个函数,用于接收来自外部环境(如C++)的命令。在VC++中,可以通过调用`FSCommandShockwaveflash2`函数来发送命令。这个函数通常会接收到Flash传递的字符串参数,...
自制的,两个简单实例实现Flash与JS的相互调用与传值,仅实现基本功能,可在此原理基础上对函数进行拓展,例如使用Flash封装网页数据等。 在AS代码中附有简单注释解释程序。 ======== 简 单 介 绍 ======== 1、...
- **实践要点**:理解ActionScript的基本语法和`FSCommand`的使用方法非常重要。同时,熟练掌握VC++中控件的使用技巧以及事件处理机制也是成功实现Flash与VC++交互的关键。 - **拓展应用**:除了基本的按钮点击反馈...
这个方法有两种用法,一种是通过坐标点进行检测,另一种是直接对另一个实例或目标区域进行检测。 接着,本章给出了一个实例,展示了如何根据鼠标指针在规则(如正方形)和不规则(如五角星)区域内的位置,改变指针...
1. 使用`fscommand()`函数: 当你需要在Flash中执行系统级操作,如全屏切换或运行外部程序时,可以使用`fscommand()`。调用外部exe的条件包括: - Flash项目必须发布为.exe文件。 - 被调用的.exe文件应放在名为`...
2. **C#端实现调用**:在C#中声明与ActionScript方法相对应的外部函数,并调用这些方法。 ```csharp [DllImport("FlashExternalInterface")] private static extern object CallFlashMethod(string methodName, ...
FS Command是Flash Player中的一个特性,它通过提供`FSCommand`函数,使得Flash内容可以执行特定的命令,这些命令可以控制播放器的行为或者与宿主环境(如浏览器)交互。命令通常由两部分组成:`Command`和`...
通过使用Flash的`fscommand`命令,我们可以轻松实现这一功能。本文将详细介绍如何利用`fscommand`命令来设置Flash动画的全屏播放以及其他相关的设置。 #### 二、`fscommand`命令详解 `fscommand`是Flash播放器提供...