破洛洛手机网
当前位置: 首页 > 教程专题 > Authorware教程 > 正文

为Authorware开发用户代码文档

作者:佚名 来源:不详 2011-1-3


   Authorware5.0(以下简称AW5)是最流行的多媒体课件开发平台,功能强大,AW5本身包含有数百个函数和系统变量,而且还提供了用户代码文档接口(UseCodeDocument),以扩充其功能。在AW5的系统目录内,有多个扩展名为.ucd或.u32的文件,这就是用户代码文档文件,有Macromedia公司自己开发的,也有第三方厂商或个人为AW5开发的。其中.ucd文件是在16位程序环境下运行的,现在已不适用,而.u32文件是为在32位应用程序下开发的,本文所指的用户代码文档即这一种。以前,开发AW5的用户代码文档须在VC++下开发,现在在Dephi下也可以开发了。其实.u32文件就是一个DLL动态链接库文件,不过还要加一个特殊的字符串资源才能被AW5识别,下面举例说明:

   假设我们要实现这样三个功能的函数:打开光驱、关闭光驱、能够让AW5生成的无标题栏窗体自由移动。好像AW5中还没有实现这些功能的函数,就让我们来补充一下。

    启动Dephi5后,在“New”选项卡中选择“DLL”进入动态链接库开发环境。

   在单元文件中输入:

   librarymci; 

    uses SysUtils,MMSystem,//手工加入

    windows,//手工加入

    Messages,//手工加入

    Classes; {$R*.RES} {$rcdrom.res}//加入特殊字符串资源

    functionejectcdrom:Thandle;//弹出光驱

    var

    thishandle:Thandle;

    begin

    thishandle:Κgetforegroundwindow();

    result:ΚmciSendString(′Setcdaudiodooropenwait′,nil,0,thishandle);

    end;

    exports ejectcdrom;

    functionclosecdrom:Thandle;//关闭光驱

    var

    thishandle:Thandle;

    begin

    thishandle:Κgetforegroundwindow();

    result:ΚmciSendString(′Setcdaudiodoorclosedwait′,nil,0,thishandle);

    end;

    exports closecdrom;

    functionmovetitle:Thandle;//移动窗体

    var

    thishandle:Thandle;

    begin

    thishandle:Κgetforegroundwindow();

    result:ΚSendMessage(thishandle,WM-SYSCOMMAND,SC-MOVE+HTCAPTION,0)

    end;

    exports movetitle;

    begin end.

    用文本编辑器输入以下文字作为资源文件(一定要注意函数名要和DLL文件中真实函数名相吻合):

    DLL-HEADERLOADONCALLDISCARDABLE

    BEGIN

    ″ejectcdromι0″,

    ″closecdromι0″,

   ″movetitleι0″,

    ″ι0″

    END

   ejectcdromDLL-HEADERLOADONCALLDIS  CARDABLE

   BEGIN

   ″ι0″,

    ″Lι0″,

    ″SSι0″,

    ″result:Κejectcdrom″,

    ″ιrιnιrιn″,

    ″弹出光驱,AW5插件,Dephi5制作,作者:徐进″,

    ″ι0″

   END

   closecdromDLL-HEADERLOADONCALLDIS CARDABLE

    BEGIN

    ″ι0″,

    ″Lι0″,

    ″SSι0″,

    ″result:Κclosecdrom″,

    ″ιrιnιrιn″,

    ″关闭光驱,AW5插件,Dephi5制作,作者:徐进″,

     ″ι0″

      END

      movetitleDLL-HEADERLOADONCALLDISCARDABLE

      BEGIN

      ″ι0″,

      ″Lι0″,

      ″SSι0″,

      ″result:Κmovetitle″,

      ″ιrιnιrιn″,

      ″移动整个窗体,AW5插件,Dephi5制作,作者:徐进″,

      ″ι0″

     END

    将这段文本文件保存为cdrom.rc文件名并放置到Dephi目录下BIN目录中。找到BRCC32.exe文件,用它将该文件编译为CDROM.res资源文件。方法是在开始菜单中的运行中输入“brcc32cdrom.rc”后,回车即可。把cdrom.res复制到刚才的Dephi工程文件中的目录,选择Projects菜单中的rebuildallprojects即可生成DLL文件。将生成的DLL扩展名改为.u32,这个用户代码文档就生成了。启动AW5,单击在函数窗口中的[Load]按钮,引入生成的u32文件,AW5就马上识别出了这三个函数,并带有说明文字。

推荐阅读