<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      在VB.NET中應用Agent技術

      [摘要]在OFFICE幫助文件,金山毒霸,瑞星殺毒軟件中有一個助手的功能,用來給用戶提出幫助信息或建設。在Visual Basic .Net中使用Microsoft Agent Control 2.0組件能...
      在OFFICE幫助文件,金山毒霸,瑞星殺毒軟件中有一個助手的功能,用來給用戶提出幫助信息或建設。在Visual Basic .Net中使用Microsoft Agent Control 2.0組件能輕松實現這一功能。
      一、添加Agent組件
      啟動Visual Studio .NET2003,新建一個Visual Basic .Net應該程序。在Visual Basic .Net中右擊工具箱,選擇“添加/移除項(I)…”或者在工具欄中選擇工具菜單,在下拉菜單中選擇“添加/移除工具箱項(X)…”,在彈出的“自定義工具箱”中選擇COM頁面,選擇中“Microsoft Agent Control 2.0”組件,如下圖1所示:
      圖1: 添加Agent組件

      點擊“確定”后,會在工具箱中新增加一個“Microsoft Agent Control 2.0”組件,如
      圖2所示:

      圖2:添加Agent組件成功
      二、設計程序界面
      添加三個Button組件,讓用戶操作助手的不同功能。
      一個ComboBox組件,讓用戶選擇助手的動作。
      一個TextBox組件,讓用戶輸入助手朗讀的文字。
      一個Agent組件
      兩個Label組件
      運行界面圖3所示:

      圖3:運行界面
      三、編寫代碼
      1、加載助手
      要使用Agent必須先把助手加載到程序中,可以使用AxAgent1.Characters.Load方法來加載助手,并加助手ID賦給事先定義好的助手類型objAgent,后面就是通過objAgent操作助手,實現代碼如下:
      '定義助手類型
      Dim objAgent As AgentObjects.IAgentCtlCharacterEx
      Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Try
      '加載助手
      AxAgent1.Characters.Load("merlin", "C:\WINNT\msagent\chars\merlin.acs")
      objAgent = AxAgent1.Characters("merlin")
      '顯示助手
      objAgent.Show()
      Button2.Enabled = True
      Button3.Enabled = True
      Label1.Enabled = True
      Label2.Enabled = True
      ComboBox1.Enabled = True
      TextBox1.Enabled = True
      Button1.Enabled = False
      Catch ex As Exception
      MessageBox.Show(ex.Message)
      End Try
      End Sub
      按F5測試程序,就可以加載并顯示助手了,所圖4如所示:

      圖4:加載并顯示助手
      2、實現助手動作
      加載助手后就可以讓助手執行指定的動作了。
      主要通過Play方法執行助手動畫, Play方法有一個參數Animation,表示指定動作。 AxAgent組件提供了幾十種動助手動作,下面給出一些常用的助手動作:
      參數 動作
      RestPose 恢復初始狀態
      Acknowledge 承認
      LookDown 向下看
      Sad 悲傷
      Alert 警告
      LookDownBlink 向下看眨眼
      Search 尋找
      Announce 聲明
      LookUp 向上看
      StartListening 開始聆聽
      Blink 眨眼
      LookUpBlink 向下看眨眼
      StopListening 停止聆聽
      Confused 迷惑
      LookLeft 向左看
      Suggest 建議
      Congratulate 祝賀
      LookLeftBlink 向左看眨眼
      Surprised 吃驚
      Decline 拒絕
      LookRight 向右看
      Think 思考
      DontRecognize 不承認
      LookRightBlink 向右看眨眼
      Wave 揮動
      Explain 解釋
      MoveDown 向下移動
      Write 書寫
      GestureDown 向下姿勢
      MoveUp 向上移動
      Processing 計算
      GestureUp 向上姿勢
      MoveRight 向右移動
      Reading 閱讀
      GestureLeft 向左姿勢
      MoveLeft 向左移動
      Searching 尋找
      GestureRight 向右姿勢
      Pleased 高興
      Writing 書寫
      GetAttention 獲得注意
      Read 閱讀
      Greet 問候
      我們選取幾種常用的動作參數舉例
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      ComboBox1.Items.Add("顯示")
      ComboBox1.Items.Add("問候")
      ComboBox1.Items.Add("隱藏")
      ComboBox1.Items.Add("移動")
      ComboBox1.Items.Add("朗讀")
      ComboBox1.Items.Add("思考")
      ComboBox1.Items.Add("閱讀")
      ComboBox1.Items.Add("書寫")
      ComboBox1.Items.Add("高興")
      ComboBox1.Items.Add("祝賀")
      ComboBox1.SelectedIndex = 0
      End Sub
      '根據用戶不同的選擇,執行不同的動作
      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      Try
      Select Case ComboBox1.SelectedIndex
      Case 0
      objAgent.Show()
      Case 1
      objAgent.Play("Greet")
      Case 2
      objAgent.Hide()
      Case 3
      objAgent.MoveTo(Me.Width, Me.Height)
      Case 4
      If TextBox1.Text <> "" Then
      objAgent.Speak(TextBox1.Text)
      End If
      Case 5
      If TextBox1.Text <> "" Then
      objAgent.Think(TextBox1.Text)
      End If
      Case 6
      objAgent.Play("Reading")
      Case 7
      objAgent.Play("Write")
      Case 8
      objAgent.Play("Pleased")
      Case 9
      objAgent.Play("Congratulate")
      End Select
      Catch ex As Exception
      MessageBox.Show(ex.Message)
      End Try
      End Sub
      運行效果如圖5所示:

      圖5:助手的朗讀動作
      3、卸載助手
      可以使用AxAgent1.Characters.Unload方法來卸載助手,實現代碼如下:
      Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
      Try
      AxAgent1.Characters.Unload("merlin")
      Button2.Enabled = False
      Button3.Enabled = False
      Label1.Enabled = False
      Label2.Enabled = False
      ComboBox1.Enabled = False
      TextBox1.Enabled = False
      Button1.Enabled = True
      Catch ex As Exception
      MessageBox.Show(ex.Message)
      End Try
      En


      日韩精品一区二区三区高清