Microsoft Agent技术应用(1) Microsoft Agent技术应用 --AgentShell的实现原理介绍[摘要] 本文介绍了如何应用Agent的以及AgentShell的实现原理和几个重要的技术处理。[关键词] Agent,COM,角色,语音识别,语音合成。 对Agent编程的方法主要有使用VB,VC等语言进行ActiveX调用,除此之外还有直接通过VC进行COM编程调用。在VB中调用Agent是最简单不过了,但由于VB程序本身存在诸多缺陷,很难在实际中应用。而在VC中,由于Agent内部完全采用了UNICODE编码,同时还要处理各种繁杂的COM接口,从而也存在一定的问题。AgentShell是建立在Agent和应用程序之间的一个外壳程序,通过它可将Agent复杂的COM接口封装起来,转变为简单的函数调用,很好的实现对Agent的控制。同时AgentShell也作为一个独立的程序,可处理英文自动朗读等功能,本文将详细介绍其实现原理。 (一) 原理介绍 AgentShell和Agent Server的连接是通过COM调用来实现的,对于与应用程序的通信是通过WM_COPYDATA消息来实现的, 下图表示出AgentShell与其它程序的关系: [ Agent Server ] ¦ [ COM调用 ] ¦ [ AgentShell ] ¦ [ 消息 ] ¦ [ 应用程序 ] 将一个Agent控制加载相应的动画和语音码我们称之为“角色”,一般使用COM调用创建一个Agent角色,要经过以下几个过程: [ 初始化COM ] ¦ [ 连接Agent COM Sever,创建Agent控制 ] ¦ [ 注册Agent控制的消息反应器(Notify Sink) ] ¦