Loading...
  所在位置:论坛首页 -> ┈┋电脑网络技术区┋┈ -> 图象媒体技术应用 -> Authorware打开外部文件的解决方案
标题:Authorware打开外部文件的解决方案收藏 编辑 删除 楼主 | 上一篇 下一篇
薰衣草
等级:社区游侠
权限:普通用户
积分:33
金钱:2746
声望:48
经验:48
发帖数:652
注册:2007年10月28日
资料 短消息2007-12-2 16:00:42
从director中打开外部文件(外部应用程序或者外部非可执行文件)都使用lingo指令open!帮助中open的描述:

open

语法

open {whichDocument with} whichApplication

描述

  命令,可调用外部程序,并可实现调用外部程序打开文档。当应用程序与当前电影不在同一目录时,必须指定完整路径。计算机必须有足够内存能同时运行.Director 和应用程序。该调用比较简单,复杂控制可使用第三方的 Xtras实现。

本指令不支持shockwave环境!

例子

  下面的代码实现检查当前计算机是否是Macintosh ,如果是,.则调用应用程序SimpleText。

if the platform contains "Mac" then open "SimpleText"

例子

  下面代码调用HD盘Applications目录中的应用程序SimpleText ,文档名为 Storyboards:

open "Storyboards" with "HD:Applications:SimpleText"

参见 openXlib, safePlayer


  总结一下:

1.当打开应用程序的时候,格式类如:

Open+空格+程序路径

*当目标程序和director项目文件在同级目录下的时候,我们可直接简写项目文件的名称

2.当打开一个非可执行文件的时候 ,就必须指明运行这个非可执行文件的应用程序。格式类如:

Open +空格+文件路径+with+应用程序路径

如:

Open “C:\Abc.doc” with "D:\Program Files\Microsoft Office\Office\WINWORD.EXE"

  这里就存在一个问题,当我们发布作品到客户机器上的时候,怎么确保用户机器上的应用程序的安装路径就和我们预设的一样呢?上面的代码中WINWORD.EXE很有可能被安装到了C盘或者E盘。

  到这里下一个问题似乎就是如何获得用户机器上对应应用程序的安装路径了,这也是一个方法,具体可以通过检测注册表信息来解决,通常的应用程序会在注册表中保留安装路径等信息。当然具体它将信息记录在注册表中的哪个位置就靠你事先确定了! 这里提供另外一个方法:

通过FileXtra3的 FileOpenDocument 指令,范例如下:

On OpenDoc

FileXtra=New(Xtra "FileXtra3")

if FileXtra.fx_FileOpenDocument("C:\temp.doc") then

--

else

alert "你需要安装Office Word 软件!"

end if

end

--将("C:\temp.doc") 替换成你自己的文件即可!

  使用这个方法我们不需要确定应用程序在客户机器上被安装到了什么位置,fx_FileOpenDocument指令会根据我们需要打开目标文件的类型从系统中寻找相关联的应用程序来运行他,与这个文件类型和相关联的应用程序是用户在资源管理器中设置的! 当用户安装了和目标文件关联的应用程序并成功被运行后,.fx_FileOpenDocument(*)返回True值(1),反之返回非1值,通常是用户没有安装对应的应用程序!对于这些情况我们就可以给出相应的提示或者执行一个特定的任务!

2007-12-2 16:00:42 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 商业版本 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com