新聞中心
運用了VB.NET開發(fā)語言,在工作中總結(jié)了一點方法,在這里呢和大家分享一下關(guān)于VB.NET操作MsAgent的具體實現(xiàn)步驟。

目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、靈壽網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
VB.NET操作MsAgent的具體實現(xiàn)步驟
由于" Microsoft Agent Control 2.0"是一個COM組件,COM組件是非托管代碼文件,
要在Visual Basic .Net中使用COM組件,必須實現(xiàn)其從非托管代碼組件到托管代碼組件的轉(zhuǎn)換。.Net框架把這種轉(zhuǎn)換過程叫"互操作"。在Visual Basic .Net集成開發(fā)環(huán)境下,實現(xiàn)"互操作"是非常容易的。在互操作完成之后,就可以像使用其他組件那樣使用轉(zhuǎn)換后的MsAgent組件了。下面通過一個示例來具體介紹一下,Visual Basic .Net集成開發(fā)環(huán)境是如何對COM組件進行互操作,和轉(zhuǎn)換后的MsAgent組件的使用方法。
1.啟動Visual Studio .Net。
2.選擇菜單【文件】|【新建】|【項目】后,彈出【新建項目】對話框。
3.將【項目類型】設(shè)置為【Visual Basic項目】。
4.將【模板】設(shè)置為【W(wǎng)indows應(yīng)用程序】。
5.在【名稱】文本框中輸入【vb.net使用MsAgent】。
6.在【位置】的文本框中輸入【E:\VS.NET項目】,然后單擊【確定】按鈕,這樣vb.NET使用MsAgent的項目文件就產(chǎn)生了。
7.把當前窗口切換到【Form1.VB [設(shè)計]】后,選擇【工具箱】|【W(wǎng)indows窗體】,點擊鼠標右鍵,在彈出的菜單中選擇【自定義工具箱】菜單。具體如圖01所示:
8.切換到【Form1.VB [設(shè)計]】窗口,并從【工具箱】中的【W(wǎng)indows窗體組件】中往窗體中拖入下列組件,并執(zhí)行相應(yīng)操作:
一個ComboBox組件,用以讓讀者選擇要出現(xiàn)的精靈名稱。
一個TextBox組件,用以輸入精靈朗讀的文字,由于程序中設(shè)定的精靈朗誦的語言為英語,所以這里輸入的是英文單詞。
一個MsAgent組件
二個Label組件
四個Button組件,名稱分別是Button1、Button2、Button3和Button4,用以實現(xiàn)和MsAgent組件相關(guān)的一些功能。并在這些組件加入到窗體后,分別在【Form1.VB [設(shè)計]】窗口中雙擊這四個組件,這樣Visual Basic .Net集成開發(fā)環(huán)境會自動產(chǎn)生這四個組件的Click事件對應(yīng)的處理代碼。
9.把Visual Basic .Net集成開發(fā)環(huán)境的當前窗口切換到Form1.vb的代碼編輯窗口,并在Form1.VB代碼中的InitializeComponent過程之前加入下列代碼:
- Dim PlayChar As AgentObjects.IAgentCtlCharacterEx
10. Visual Basic .Net中實現(xiàn)裝入精靈。
當程序中裝入精靈后,精靈就會顯示在Windows的狀態(tài)欄中,具體思路是把各個精靈先強制轉(zhuǎn)換成一個Object的對象,精靈對應(yīng)的擴展名是"acs",然后調(diào)用MsAgent組件的"Load"方法把對象加入就可以了,并根據(jù)裝入的精靈類型來初始化上面定義的一個AgentObjects.IagentCtlCharacterEx接口的實例,后面對精靈的操作就是通過這個實例中方法來實現(xiàn)的。具體實現(xiàn)方法是用下列的代碼替換Form1.VB中的Button1的Click事件的處理代碼:
- Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
- '根據(jù)使用者的不同選擇,裝入不同的精靈類型
- 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中實現(xiàn)精靈朗誦文字動作:
精靈實現(xiàn)朗誦文字是通過AgentObjects.IagentCtlCharacterEx接口中的Speak方法,在調(diào)用Speak方法的時候,必須注意二點:其一,Speak方法有二個參數(shù),第一個參數(shù)就是精靈朗誦的內(nèi)容,在調(diào)用Speak方法時,必須保證朗誦的內(nèi)容不為空;其二,在調(diào)用Speak方法朗誦之前,必須先調(diào)用其Show方法,把精靈顯示出來,否則雖然調(diào)用了Speak方法,由于沒有先顯示精靈,也依然無法通過精靈來朗誦。具體的實現(xiàn)方法是用下列代碼替換Form1.vb中的Button2的Click事件對應(yīng)的處理代碼:
- Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button2.Click
- PlayChar.LanguageID = 1033
- '設(shè)定精靈朗讀的語言種類對于地ID,1033是設(shè)定為英文
- PlayChar.Show ( False )
- '顯示精靈
- If TextBox1.Text.Length <> 0 Then
- '判斷TextBox1中是否有內(nèi)容
- PlayChar.Speak ( TextBox1.Text , "" )
- '開始朗誦TextBox1中的內(nèi)容
- PlayChar.Hide ( True )
- End If
- End Sub
12. 在Visual Basic .Net中實現(xiàn)精靈的思考動作:
精靈思考動作和朗誦動作非常類似,最大區(qū)別是思考動作沒有發(fā)出聲音,而朗誦動作是有聲的。實現(xiàn)精靈思考使用的是AgentObjects.IagentCtlCharacterEx接口中Think方法,Think方法后面有一個參數(shù),就是精靈思考的內(nèi)容。在調(diào)用Think方法的時候,所要注意的問題和Speak方法一樣,讀者可參閱上面調(diào)用Speak方法要注意的二個問題。具體的實現(xiàn)方法是用下列代碼替換Form1.VB中的Button3的Click事件對應(yīng)的代碼:
- Private Sub Button3_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button3.Click
- PlayChar.LanguageID = 1033
- '設(shè)定精靈朗讀的語言種類對于地ID,1033是設(shè)定為英文
- PlayChar.Show ( False )
- '顯示精靈
- If TextBox1.Text.Length <> 0 Then
- '判斷TextBox1中是否有內(nèi)容
- PlayChar.Think ( TextBox1.Text )
- PlayChar.Hide ( True )
- End If
- End Sub
13. 卸載裝入的精靈。
由于本程序可以在一個程序中使用多個精靈,但由于變量只設(shè)定了一個,所以在使用另外一個精靈的之前,必須先卸載掉已經(jīng)裝入的精靈,否則就會程序異常。卸載裝入的精靈使用的是Unload方法,Unload方法后面是已經(jīng)裝入的精靈對應(yīng)的名稱字符串。具體實現(xiàn)方法是用下列代碼替換Button4的Click事件對應(yīng)的處理代碼:
- 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
總結(jié):
本文全面介紹在VB.Net操作MsAgent的具體的實現(xiàn)方法,由于篇幅所限,并沒有完全介紹MsAgent中的精靈的全部動作,這些動作如"Wait"、"Listen"、"Move to"等,但是本文介紹的Speek,Show,Hide,Think動作是精靈使用的最為常用的動作,并且那些沒有介紹的動作的具體實現(xiàn)方法和本文介紹的動作實現(xiàn)方法相類似,讀者如使用本文沒有介紹的動作時,可參照本文介紹的Speek,Show,Hide,Think動作的地實現(xiàn)方法,相信會對你有很大啟發(fā)的
分享題目:一點通VB.NET操作MsAgent13步
鏈接地址:http://www.5511xx.com/article/cocojjg.html


咨詢
建站咨詢
