在VB.NET中应用Agent技术

原创 2004年10月24日 14:08:00
在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
    End Sub

关于Agent 角色代理使用(整理)

使用控件:Microsoft Agent Control 2.0Private Sub VbAcs_Click()                    菜单 VbAcs单击事件    Dim Gen...
  • adminlhb
  • adminlhb
  • 2006年05月09日 08:03
  • 597

Microsoft Agent技术简介

话题686854的标题是: 谁知道如何创建类似office2000助手模样的窗体? (100分)分类:图形图象 Blackdell (2001-10-23 10:26:00)  就是只显示一幅透明的图...
  • flyloafer
  • flyloafer
  • 2006年04月23日 15:13
  • 3130

Microsoft Agent技术应用

Microsoft Agent技术应用                                      --AgentShell的实现原理介绍[摘要]    本文介绍了如何应用Agent的以...
  • myhelper
  • myhelper
  • 2000年08月09日 17:23
  • 522

计算机视觉及模式识别技术在农业领域的应用

计算机视觉及模式识别技术在农业领域的应用 高 华、周 林 (山东农业大学信息技术与工程学院 山东 泰安 201018) 摘要:计算机视觉技术在农业各个领域的应用研究得到了广泛开展,并随着相关技术...
  • myouki
  • myouki
  • 2013年06月28日 14:13
  • 2319

Agent简化云应用与企业内部部署应用之间的集成

本文将介绍Oracle集成云Agent的基础架构,所包含的组件,和如何连接云与OP应用。...
  • steelren
  • steelren
  • 2016年07月21日 11:22
  • 4205

AR在未来商店中的应用

随着电商的快速发展,实体店以及零售店面临经营惨淡的状况,而且很多实体店都已经关门了,比如北京中关村的电脑城等。首先是电子产品,接下来可能会是其他一些实体产品。所以一些品牌的实体店经营者必须要想办法留住...
  • ggtaas
  • ggtaas
  • 2015年02月13日 16:49
  • 1670

Agent插件浅析

Agent插件浅析      使用过office xp、金山毒霸和瑞星杀毒软件的朋友,一定会对程序中的人性化的动画角色留下深刻印象,这完全归功于微软推出的Agent(“代理”)技术,Agent采用CO...
  • fengyepiaoling
  • fengyepiaoling
  • 2004年09月19日 07:22
  • 2369

红外热成像技术的应用与发展

一、红外热成像技术 红外线是一种电磁波,具有与无线电波和可见光一样的本质。红外线的发现是人类对自然认识的一次飞跃。利用某种特殊的电子装置将物体表面的温度分布转换成人眼可见的图像,并以不同颜色显示物体...
  • lifan_3a
  • lifan_3a
  • 2014年12月02日 10:43
  • 1063

3S技术在全球变化监测中有哪些用处

全球变化与对地观测研究的技术支撑是遥感技术、地理信息系统技术、全球定位技术与高速数字通讯网。遥感技术提供了地球上环境与资源动态变化信息,地面卫星接收站与数字通讯网分别实现天地之间通讯传输与地球不同区域...
  • u010687924
  • u010687924
  • 2014年04月09日 11:15
  • 923

在VB.NET中应用SQLDMO

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许...
  • jelink
  • jelink
  • 2006年09月23日 20:36
  • 521
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在VB.NET中应用Agent技术
举报原因:
原因补充:

(最多只允许输入30个字)