2018-09-08 10:22

 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/gman/b-1771.html

  小编在使用Authorware多媒体制作软件做了一段框架之后,突然想到了一个方法。而且这个方法还可以用VB(其它的应该都是可以的,只不过VB相对来说是要简单一些而已)来控制小编的Authorware程序。于是小编就把这个方法运用到多媒体课件中,实施证明小编的方法是可行的。所以小编就给大家的分享一下这个开发经验,具体的教程请参考下文。

  一般情况下调用Authorware程序,我们都是使用VB(Visual Basic)程序来做主框架的。是一种由 微软公司开发的结构化的、的、的、包含协助的为机制的可视化程序设计语言。

  但是当整个东西很大时,我们通常都不会将其做成一个文件,特别是对于制作多媒体的课件来说,最理想的操作就是将每一个模块或者章节都可以分成几个独立的小文件。但是如果是想实现这样一个目的,单纯只是使用Authorware这一个软件的话,显然是不能尽如人意的做到这一个目的。尽管在这个软件中,我们会可以用几种函数来实现,比如说:JumpFile、JumpOut等函数。当然啦,我们也可以将资源用库独立出来。但是实际上,我们还要再考虑一下总体结构的时候,总是存在一些大大小小的问题。比如说:不可以使用公共模块,几个文件之间的通讯变得困难,衔接没有很紧密,而且当框架功能比较复杂的时候,Authorware软件的能力就更加的显示不足了。所以小编写这篇教程是非常有必要的,大家不妨可以学习一下,说不定会有意外的收获哟!

运用Authorware制作多媒体课件的开发经验_传递参数_Visual Basic_Authorware_课课家

  好了,小编觉得在这里还是要简单的为大家讲解一下实现原理的,实现原理一共有五点,具体如下:

  实现原理:

  第一、不知道大家是否知道在Visual Basic程序里面激活Authorware程序中的交互,我们是可以直接通过发送鼠标消息或者是键盘来进行激活的。比如说:我们已经在Authorware软件中定义一个热区交互,而这个热区交互永久性的,同一时间我们还将其设置热键为F12按键。那么我们在VB程序中,首先先使用SetFocus将输入聚焦定位到Authorware窗口(在这里是假设我们已经知道了Authorware窗口的句柄,有人会问,我们是怎样得到句柄的呢?不用着急,小编在下面的教程中会进一步讨论),然后我们再给它发送一个F12的KeyDown消息,只需要使用SendMessage或者PostMessage就可以了。

  第二、同样的道理,Authorware程序也是可以直接给VB程序发送消息,让它进行响应的。(根据小编的多次试验,小编个人认为使用MouseDown消息,效果会更加的好一些。在这里的MouseDown消息,我们可以发送0,0坐标,甚至是一些负值坐标,总之就是我们这些用户不可能点到的地方坐标即可,最好我们在VB程序的Form_MouseDown事件中,再判断一下坐标就可以了。)

  第三、如何传递参数。如果VB程序想要控制Authorware程序作动作那就一定要传递一些参数了(当然啦,我们可以指定键盘上的F11按键,就可以直接的翻到下一页,但是如果我们不是要发到下一页,而是要跳跃翻到第5页,那么我们怎么办呢?)。

  其实我们可以使用DDE在各种应用程序之间进行传递参数,但是小编觉得这有点过于复杂了。小编针对这个问题,想到了一个相对简单的方法——直接利用dll的全局变量。dll有自己的数据段,而为了实现各个程序对dll全局数据的访问的目的,我们可以通过引出函数就可以。可能会有一些朋友不能理解吧,小编在这里为大家举一个简单的例子,如图所示:

简单的例子

  这样做的话,在两个应用程序之间,我们就可以直接通过同一个dll来传递参数了,原理如下:一个是用来SetMsg()给g_iMsg赋值,另一个则是使用GetMsg()来将这个值读取出来。

  温馨提示:这种方法其实还是很好用的,但是对于传递字符串可能会相对的复杂一些,不过理论上应该也是可以执行的,大家可以执行一下,看一看效果如何。

  第四、有了以上这种传递参数的方法以后,那么我们在使用VB程序启动Authorware程序之前,可以先在dll中设置一下参数,比如说:VB窗口句柄、初始化的消息号等等参数设置;然后当Authorware程序启动的时候,它首先会到dll中将这些参数读取出来,(如果说这些消息号不是我们初始化的消息号,那么就说明了一件事情——不是由VB程序启动)接着保存VB窗口中句柄。然后我们要给VB发回应消息,只要使用第二中所说的方法就可以了,同一时间也要传递自己的窗口句柄等参数。

  第五、接下来,当我们有了对方的窗口句柄之后,给对方发消息,就可以直接的使用第一、第二中的方法。除此之外,我们还可以使用第三中的方法进行传递参数。这样做的话,双方之间就可以非常方便的响应对方的消息了,并还可根据参数的设置做出一些相匹配的动作。

  小编结语:

  今天的教程“运用Authorware制作多媒体课件的开发经验”就已经介绍完毕了,如果你也有这样的需要,那就赶快来学习一下吧。


带你攻破多媒体基础知识的重点和难点

同学们是否觉得多媒体的基本概念、声音的三要素、常见的声音文件格式、色彩三要素等等都是难点?不用怕,专业讲师带你深入了解“多媒体基础知识”重点和难点。

2018软考-多媒体基础知识:http://www.kokojia.com/course-5094.html

1536373341612199.gif

 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/gman/b-1771.html

评论