运用了VB.NET开发语言,在工作中总结了一点方法,在这里呢和大家分享一下关于VB.NET操作MsAgent的具体实现步骤。
目前创新互联建站已为近千家的企业提供了网站建设、域名、虚拟主机、网站托管、企业网站设计、灵寿网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
VB.NET操作MsAgent的具体实现步骤
由于" Microsoft Agent Control 2.0"是一个COM组件,COM组件是非托管代码文件,
要在Visual Basic .Net中使用COM组件,必须实现其从非托管代码组件到托管代码组件的转换。.Net框架把这种转换过程叫"互操作"。在Visual Basic .Net集成开发环境下,实现"互操作"是非常容易的。在互操作完成之后,就可以像使用其他组件那样使用转换后的MsAgent组件了。下面通过一个示例来具体介绍一下,Visual Basic .Net集成开发环境是如何对COM组件进行互操作,和转换后的MsAgent组件的使用方法。
1.启动Visual Studio .Net。
2.选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3.将【项目类型】设置为【Visual Basic项目】。
4.将【模板】设置为【Windows应用程序】。
5.在【名称】文本框中输入【vb.net使用MsAgent】。
6.在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样vb.NET使用MsAgent的项目文件就产生了。
7.把当前窗口切换到【Form1.VB [设计]】后,选择【工具箱】|【Windows窗体】,点击鼠标右键,在弹出的菜单中选择【自定义工具箱】菜单。具体如图01所示:
8.切换到【Form1.VB [设计]】窗口,并从【工具箱】中的【Windows窗体组件】中往窗体中拖入下列组件,并执行相应操作:
一个ComboBox组件,用以让读者选择要出现的精灵名称。
一个TextBox组件,用以输入精灵朗读的文字,由于程序中设定的精灵朗诵的语言为英语,所以这里输入的是英文单词。
一个MsAgent组件
二个Label组件
四个Button组件,名称分别是Button1、Button2、Button3和Button4,用以实现和MsAgent组件相关的一些功能。并在这些组件加入到窗体后,分别在【Form1.VB [设计]】窗口中双击这四个组件,这样Visual Basic .Net集成开发环境会自动产生这四个组件的Click事件对应的处理代码。
9.把Visual Basic .Net集成开发环境的当前窗口切换到Form1.vb的代码编辑窗口,并在Form1.VB代码中的InitializeComponent过程之前加入下列代码:
- Dim PlayChar As AgentObjects.IAgentCtlCharacterEx
10. Visual Basic .Net中实现装入精灵。
当程序中装入精灵后,精灵就会显示在Windows的状态栏中,具体思路是把各个精灵先强制转换成一个Object的对象,精灵对应的扩展名是"acs",然后调用MsAgent组件的"Load"方法把对象加入就可以了,并根据装入的精灵类型来初始化上面定义的一个AgentObjects.IagentCtlCharacterEx接口的实例,后面对精灵的操作就是通过这个实例中方法来实现的。具体实现方法是用下列的代码替换Form1.VB中的Button1的Click事件的处理代码:
- Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
- '根据使用者的不同选择,装入不同的精灵类型
- Select Case ComboBox1.Text
- Case "Genie"
- Dim myObject As Object = CType ( "genie.acs" , Object )
- '装入吉利
- AxAgent1.Characters.Load ( "genie" , myObject )
- PlayChar = AxAgent1.Characters ( "genie" )
- Case "MerLin"
- Dim myObject As Object = CType ( "merlin.acs" , Object )
- '装入莫林
- AxAgent1.Characters.Load ( "merlin" , myObject )
- PlayChar = AxAgent1.Characters ( "merlin" )
- Case "Robby"
- Dim myObject As Object = CType ( "robby.acs" , Object )
- '装入罗比
- AxAgent1.Characters.Load ( "robby" , myObject )
- PlayChar = AxAgent1.Characters ( "robby" )
- Case "Peedy"
- Dim myObject As Object = CType ( "peedy.acs" , Object )
- '装入彼得
- AxAgent1.Characters.Load ( "peedy" , myObject )
- PlayChar = AxAgent1.Characters ( "peedy" )
- End Select
- Button1.Enabled = False
- Button2.Enabled = True
- Button3.Enabled = True
- Button4.Enabled = True
- End Sub
11. 在Visual Basic .Net中实现精灵朗诵文字动作:
精灵实现朗诵文字是通过AgentObjects.IagentCtlCharacterEx接口中的Speak方法,在调用Speak方法的时候,必须注意二点:其一,Speak方法有二个参数,第一个参数就是精灵朗诵的内容,在调用Speak方法时,必须保证朗诵的内容不为空;其二,在调用Speak方法朗诵之前,必须先调用其Show方法,把精灵显示出来,否则虽然调用了Speak方法,由于没有先显示精灵,也依然无法通过精灵来朗诵。具体的实现方法是用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码:
- Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button2.Click
- PlayChar.LanguageID = 1033
- '设定精灵朗读的语言种类对于地ID,1033是设定为英文
- PlayChar.Show ( False )
- '显示精灵
- If TextBox1.Text.Length <> 0 Then
- '判断TextBox1中是否有内容
- PlayChar.Speak ( TextBox1.Text , "" )
- '开始朗诵TextBox1中的内容
- PlayChar.Hide ( True )
- End If
- End Sub
12. 在Visual Basic .Net中实现精灵的思考动作:
精灵思考动作和朗诵动作非常类似,最大区别是思考动作没有发出声音,而朗诵动作是有声的。实现精灵思考使用的是AgentObjects.IagentCtlCharacterEx接口中Think方法,Think方法后面有一个参数,就是精灵思考的内容。在调用Think方法的时候,所要注意的问题和Speak方法一样,读者可参阅上面调用Speak方法要注意的二个问题。具体的实现方法是用下列代码替换Form1.VB中的Button3的Click事件对应的代码:
- Private Sub Button3_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button3.Click
- PlayChar.LanguageID = 1033
- '设定精灵朗读的语言种类对于地ID,1033是设定为英文
- PlayChar.Show ( False )
- '显示精灵
- If TextBox1.Text.Length <> 0 Then
- '判断TextBox1中是否有内容
- PlayChar.Think ( TextBox1.Text )
- PlayChar.Hide ( True )
- End If
- End Sub
13. 卸载装入的精灵。
由于本程序可以在一个程序中使用多个精灵,但由于变量只设定了一个,所以在使用另外一个精灵的之前,必须先卸载掉已经装入的精灵,否则就会程序异常。卸载装入的精灵使用的是Unload方法,Unload方法后面是已经装入的精灵对应的名称字符串。具体实现方法是用下列代码替换Button4的Click事件对应的处理代码:
- Private Sub Button4_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button4.Click
- Select Case ComboBox1.Text
- Case "Genie"
- AxAgent1.Characters.Unload ( "genie" )
- Case "MerLin"
- AxAgent1.Characters.Unload ( "merlin" )
- Case "Robby"
- AxAgent1.Characters.Unload ( "robby" )
- Case "Peedy"
- AxAgent1.Characters.Unload ( "peedy" )
- End Select
- Button1.Enabled = True
- Button2.Enabled = False
- Button3.Enabled = False
- Button4.Enabled = False
- End Sub
总结:
本文全面介绍在VB.Net操作MsAgent的具体的实现方法,由于篇幅所限,并没有完全介绍MsAgent中的精灵的全部动作,这些动作如"Wait"、"Listen"、"Move to"等,但是本文介绍的Speek,Show,Hide,Think动作是精灵使用的最为常用的动作,并且那些没有介绍的动作的具体实现方法和本文介绍的动作实现方法相类似,读者如使用本文没有介绍的动作时,可参照本文介绍的Speek,Show,Hide,Think动作的地实现方法,相信会对你有很大启发的
网站标题:一点通VB.NET操作MsAgent13步
当前网址:http://www.shufengxianlan.com/qtweb/news38/110188.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联