Authorware技巧大派送

Author: 韶亚军 Date: 2000年 第27期

#1    如何调用系统控制面板
   我们都知道,在Windows系统中,控制面板是用来帮助用户对系统进行设置的。控制面板文件是一种特殊的动态链接库,它以cpl为扩展名(意为Control Panel,中文“控制面板”)存放在系统文件夹中,我们就可以用Windows的Rundll32.exe来执行其中的例程。现以Authorware 4.0为例,介绍实现的方法:
  (1)启动Authorware;
  (2)新建一个文件,将文件名设为sample.a4p;
  (3)按“Ctrl+Shift+F”键,打开Function窗口;
  (4)选择sample.a5p,点击Load按钮,打开winapi.u32文件,并引入其中的函数Winexec();
   (5)放置一个交互图标于流程线上;
  (6)放置一个计算图标于交互图标下,交互方式为按钮,并取名为“打开控制面板”;
  (7)双击“打开控制面板”计算图标,在里面写上:Winexec(“rundll32.exe shell32.dll,Control_RunDLL”,1),注意,不能够把里面的任何一个字符写错了,否则就不能够运行了;
  (8)运行文件,单击“打开控制面板”按钮,就可以直接打开Windows的系统控制面板了。
  最后,我要告诉大家,如果要打开指定的控制面板里的对象,也可以通过这种方法来实现,以打开桌面属性为例,方法是在计算图标里写上:Winexec(“rundll32.exe shell32.dll,Control_RunDLL desk.cpl”,1)。
#1    巧改打包文件的默认图标
  用AuthorWare 5.0制作的软件图标都是一样的,这样就使得制作出来的多媒体产品显得千篇一律。给自己的多媒体产品来一点儿个性化的内容一定会更精彩。由于图标是存储在AuthorWare 5.0的Runtime文件runa5w32.exe中,因此我们只要一个资源编辑器(如ExeScope)及一个图标编辑器就可以完成修改了,方法如下:
  1.启动ExeScope;
  2.打开runa5w32.exe(在此之前必须先将它的只读属性去掉);
  3.单击“资源图标”,找到图标资源中的2号资源,它里面包含了三种不同大小和颜色的图标,分别将它导出(由于ExeScope没有提供编辑图标资源的功能,但是我们可以通过它的导入与导出功能来实现资源的更新)为2icon1.ico、2icon2.ico、2icon3.ico;
  4.启动图标编辑器(这可以从VC++或Visual Basic或Visual FoxPro安装程序中得到,或者直接使用第三方程序),调入2icon1.ico、2icon2.ico、2icon3.ico文件,将它们修改,存盘退出(同样要注意不要存成其它的大小或格式,否则ExeScope无法更新图标资源);
  5.找到位图资源中的2号资源,分别依次导入修改过的icon1.ico、2icon2.ico、2icon3.ico文件。(这一步中也可以自己找几个相同大小、自己喜爱的图标而不用再去修改。)
  6.重复步骤3~5,将4号、5号资源作类似的修改;
  7.点击存盘图标,更新图标资源于runa5w32.exe中;
  重新运行AuthorWare 5.0,并将你的多媒体打包成32位的Windows EXE文件,再运行一下,就会看到生成的EXE文件的图标已经变成了修改后的图标。
    如果需要改回来,只要用原来安装盘中的runa5w32.exe文件重新拷贝到AuthorWare 5.0安装文件夹下并覆盖修改后的runa5w32.exe文件即可。
#1    如何控制窗口显示
  使用Windows API函数而不通过点击窗口的控制图标来控制AuthorWare的运行窗口,它可以使你的AuthorWare程序在没有标题栏的情况下自由控制窗口的显示状态,这对于编制精美的多媒体程序是很有帮助的。
  (1)新建一个文件,文件名为sample.a4p;
  (3)放置一交互图标于流程线上,取名为“System Control”;
  (4)放置两个计算图标到“System Control”图标里,设置类型为按钮,分别取名为“最小化”、“最大化”,响应类型均为Perpetual永久响应,返回路径为Return;
  (5)按“Ctrl+Shift+F”键,打开Function窗口;
  (6)选择sample.a5p,点击Load钮,打开Winapi.u32文件,并引入其中的函数Showwindow();
  (6)双击“最小化”计算图标;
  (7)在计算图标中写上“Showwindow(windowhandle,2)”;
  (8)双击“最大化”计算图标;
  (9)在计算图标中写上“Showwindow(windowhandle,3)”;
  (10)运行程序,点击“最小化”按钮,就可以最小化到AuthorWare的展示窗口了,欲回到AuthorWare窗口,只要在任务上单击即可。
  你可以将此按钮设置几种不同的状态,这会使你的多媒体作品独具一格。
#1    一个打包设置选项的妙用
  在用AuthorWare进行多媒体创作时,我们常常要对多媒体程序进行修改,比如某一张图片不理想了、某一段声音不好听了、某一段动画还需要加工……但是我们都知道,一旦在AuthorWare中将这些素材引入后,要进行修改,就必须重新打开程序,并重新引入修改后的素材,这样做起来如果一个两个图标还可以,要是几十个图标都要修改,那可就……其实AuthorWare 5.0比它以前的版本在打包时多出了一个选项,即“Package External Media Internally”,它的作用是把除了数字电影外所有文件中链接的外部素材(可以通过菜单“Window\External Media Browser”启动外部素材浏览器得到文件中用了哪些外部素材)均打包到文件的内部,即变为内部文件。这样我们就可以在引入素材时选择“Link To File”链接到文件,在修改时只需要修改相应的外部的素材,然后再打开程序,重新打包,并选中“Package External Media Internally”项就实现了程序的修改,是不是很方便呢!
#1    轻松调用Windows程序
    本文将介绍如何使用Windows API函数来实现调用Windows程序的操作。这对于AuthorWare用户来说是很有用的,可以使你能够在AuthorWare中调用第三方的程序或自己编写Windows 程序(或DOS程序)。
  方法如下:
  (1)运行AuthorWare 5.0;
  (2)新建一个文件,文件名为sample.a5p;
  (3)放置一交互图标于流程线上,取名为“WinAPI Demo”;
  (4)放置一计算图标到“WinAPI Demo”图标里,设置类型为按钮,取名为“Windows资源管理器”,响应类型Perpetual永久响应,返回路径为Return;
  (5)按“Ctrl+Shift+F”键,打开Function窗口;
  (6)选择“sample.a5p”,点击Load钮,打开winapi.u32文件,并引入其中的函数WinExec();
  (6)双击“Windows资源管理器”计算图标;
  (7)在计算图标中写上“Winexec(“explorer.exe”,1)”;
  (8)运行程序,点击“Windows资源管理器”按钮,可以启动Windows资源管理器。
    你可以照此举一反三,比如可以启动你自己的程序或其它的Windows程序,这将会使你的多媒体产品更具魅力。
#1    封锁系统键和隐藏任务栏
  多媒体程序一般运行时对系统资源占用率比较高。
  其实我们可以通过封锁系统键和隐藏任务栏的方法来解决这个问题,因为一旦封锁了系统键并隐藏了任务栏,用户就再也无法启动其它程序或切换到已经运行的程序,从而保证了系统资源最大限度的应用。
  让我们来看看如何在AuthorWare来实现:
  1.新建一个文件,文件名为sample.a4p;
  2.放置一计算图标于流程线上;
  3.按“Ctrl+Shift+F”键,打开Function窗口;
  4.选择sample.a4p,点击Load钮,打开winapi.u32文件(这个动态库在Authorware安装后就已经有了,也可以从http://www.macromedia.com上下载),并引入其中的SystemParametersInfo()、FindWindow和SetWindowpos()三个函数;
  5.双击计算图标,在里面写上:
  SystemParametersInfo(97,1,1,1)——屏蔽键盘所有功能键;
  wnd:=findwindow(″shell_traywnd″,″″)——捕捉任务栏窗口;
  SetWindowpos(wnd,0,0,0,0,0,128)——隐藏任务栏窗口;
  6.在程序的退出处放置一计算图标,双击计算图标,在里面写上:
  SystemParametersInfo(97,0,1,1)——恢复键盘所有功能键;
  wnd:=FindWindow(″shell_traywnd″,″″)——捕捉任务栏窗口;
  SetWindowpos(wnd,0,0,0,0,0,64)——显示任务栏窗口;
  我们还可以在运行程序前,通过Windows API函数捕捉所有的窗口,获得窗口的句柄,然后再向它们依次发送MW_QUIT消息,这样就可以在运行程序之前,关闭所有正在运行的程序,从而释放出更多的资源给你的多媒体作品(这对其它的Windows程序来说是不公平的!)。