Vbs调用MsAgent组件,很有趣

Vbs调用MsAgent组件,很有趣MicrosoftAgent是微软公司发布的一项代理软件开发技术,我们知道,在Office帮助系统中有一种叫作Office助手的代理软件,但其只允许Office各个组件调用,Agent动画人物可由任何Windows程序调用;Agent支持文字气球和输入提示条,在输出语音的同时把文字输出至一个卡通式文字气球中。如果电脑系统中安装有Agent语音识别引擎,当用户可以通过声卡、麦克风与用户交谈…

大家好,又见面了,我是你们的朋友全栈君。Microsoft Agent是微软公司发布的一项代理软件开发技术,我们知道,在Office帮助系统中有一种叫作Office助手的代理软件,但其只允许Office各个组件调用,Agent动画人物可由任何Windows程序调用;

Agent支持文字气球和输入提示条,在输出语音的同时把文字输出至一个卡通式文字气球中。如果电脑系统中安装有Agent语音识别引擎,当用户可以通过声卡、麦克风与用户交谈。下午无事,就尝试着写了一段简单的代码调用MsAgent:

GenieID = “Genie”

GenieACS = “genie.acs”

ScriptComplete=0

Set AgentControl = WScript.CreateObject(“Agent.Control.2″,”agent_”)

AgentControl.Connected = True’连接控件

AgentControl.Characters.Load GenieID,GenieACS

Set Genie = AgentControl.Characters(GenieID)

Genie.LanguageID = &H409

Genie.MoveTo 900, 600

Genie.Show

Genie.MoveTo 900, 0

timespeak=”good ” & GetTimeOfDay()

Genie.Speak(timespeak)

Genie.Play “Acknowledge” ‘承认

Genie.Speak(“眨眼”)

Genie.Play “Blink” ‘眨眼

Genie.Speak(“i love you”)

Genie.Speak(“回复动作”)

genie.Play(“RestPose”) ‘回復动作

Genie.Speak(“向上”)

genie.Play(“GestureUp”) ‘向上

Genie.Speak(“向下”)

genie.Play(“GestureDown”) ‘向下

Genie.Speak(“伸出左手”)

genie.Play(“GestureLeft”) ‘ 伸出左手

Genie.Speak(“伸出右手”)

genie.Play(“GestureRight”) ‘ 伸出右手

Genie.Speak(“叹气”)

genie.Play(“Sad”) ‘嘆气

Genie.Speak(“惊奇”)

genie.Play(“Surprised”) ‘惊奇

Genie.Speak(“握掌”)

genie.Play(“Pleased”) ‘握掌

Genie.Speak(“喇叭”)

genie.Play(“Announce”) ‘喇叭

Genie.Speak(“眯眼”)

genie.Play(“Blink”) ‘瞇眼

Genie.Speak(“无奈”)

genie.Play(“Decline”) ‘无奈

Genie.Speak(“抓头”)

genie.Play(“Confused”) ‘抓头

Genie.Speak(“鼓掌”)

genie.Play(“Congratulate”) ‘奖盃

Genie.Speak(“回手”)

genie.Play(“Wave”) ‘挥手

Genie.Speak(“惊讶”)

genie.Play(“Alert”) ‘惊讶

Genie.Speak(“魔术棒1”)

genie.Play(“DoMagic1”) ‘魔术棒-1

Genie.Speak(“魔术棒2”)

genie.Play(“DoMagic2”) ‘魔术棒-2

Genie.Speak(“摊手”)

genie.Play(“Explain”) ‘摊手

Genie.Speak(“敲门”)

genie.Play(“GetAttention”) ‘敲门

genie.Play(“GetAttentionContinued”) ‘敲门-敲

genie.Play(“GetAttentionReturn”) ‘敲门-放下

genie.Play(“Greet”) ‘弯腰

genie.Play(“Idle2_1”) ‘观察魔术棒

genie.Play(“Idle2_2”) ‘两手在腹前交叉

genie.Play(“Idle3_1”) ‘打呵欠

Genie.Speak(“向上看”)

genie.Play(“LookUp”) ‘上看

genie.Play(“LookDown”) ‘下看

genie.Play(“LookLeft”) ‘左看

genie.Play(“LookRight”) ‘右看

genie.Play(“MoveUp”) ‘上移

genie.Play(“MoveDown”) ‘下移

genie.Play(“MoveLeft”) ‘左移

genie.Play(“MoveRight”) ‘右移

genie.Play(“Process”) ‘魔法调配

genie.Play(“Read”) ‘阅读

Do ‘此处存疑,高手请看最后

WScript.Sleep 1000

Loop Until ScriptComplete

Function GetTimeOfDay()

Dim TimeOfDay

Dim h

h = Hour(Now())

If h < 12 Then

TimeOfDay = “Morning”

ElseIf h < 17 Then

TimeOfDay = “Afternoon”

Else

TimeOfDay = “Evening”

End If

GetTimeOfDay = TimeOfDay

End Function

Sub agent_dblclick(ByVal CharacterID, ByVal Button, ByVal Shift, ByVal X, ByVal

Y)

Genie.StopAll

MsgBox “白白,再见了!”

WScript.Quit

End Sub

本来代码写的就没有什么难度,可是写完之后,每次可爱的小人总是一闪而过,屏幕上什么也看不见,在网络上查找也找不出原因,我实验了好多次,终于发觉了加红的那段代码必不可少,程序异步执行,没有最后的代码,程序没有执行完就退出了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149969.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月17日 下午5:46
下一篇 2022年6月17日 下午5:46


相关推荐

  • python执行测试用例_java随机数random

    python执行测试用例_java随机数random前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月28日
    24
  • 无人驾驶感知篇之超声波雷达

    无人驾驶感知篇之超声波雷达昨天上海又新增了快六千多例,早上醒来的第一眼都很关注,这个时候,在想如果无人驾驶送餐车在各个街道行驶送餐那该多好,希望这一天能早点到来,让无人驾驶遍布咱们生活的每个角落。OK,言归正传,首先讲讲什么是超声波雷达。1.什么是超声波雷达安装在汽车周边的超声波雷达,主要用于倒车时的防撞报警系统,又俗称倒车雷达。超声波是一种在弹性介质中的机械振荡,纵向分辨率较高,对色彩、光照、电磁场不敏感,因此超声波测距系统对于黑暗,有灰尘或者烟幕、有毒等恶劣环境有很强的适应能力。超声波测距…

    2025年10月27日
    4
  • 字符串分割方法代码

    字符串分割方法代码

    2021年8月24日
    73
  • 《OpenClaw龙虾养殖教程:从安装到卸载》

    《OpenClaw龙虾养殖教程:从安装到卸载》

    2026年3月13日
    6
  • win server服务器 关闭危险端口 135,137,138,139,445的方法

    win server服务器 关闭危险端口 135,137,138,139,445的方法转至:https://www.cnblogs.com/su-root/p/10988875.htmlWindows默认开放135、137、138、139和445五个端口,都与文件共享和打印机共享有关

    2022年7月2日
    30
  • python求点到面的距离

    python求点到面的距离使用方法 1 print getDistanceB 1 1 0 1 0 0 0 1 0 0 0 1 2 print getDistanceB 1 1 1 1 0 0 0 1 0 0 0 1 注 本代码考虑了点在面上的投影是否在面上的情况 不在的话转化为求点到线的距离 如果该点的投

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号