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

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

◎Vbs调用MsAgent组件,很有趣相关推荐

  1. 64位系统VBS调用32位COM组件

    64位系统VBS调用32位COM组件 标签: 32位, 64位, COM, COM组件, VB, VBS, VBScript 标题: 64位系统VBS调用32位COM组件 作者: Demon 链接:  ...

  2. 爬虫技术做到哪些很酷很有趣很有用的事情

    能利用爬虫技术做到哪些很酷很有趣很有用的事情? 准备学习python爬虫.各位大神都会用爬虫做哪些有趣的事情? 今天突然想玩玩爬虫,就提了这个问题.跟着YouTube上的一个tutor写了个简单的程序 ...

  3. 微软todo使用教程_Todo教程可能很有趣-但是,这是从头开始构建自己的项目的方法...

    微软todo使用教程 There are many great tutorials that walk you through creating apps, from simple todo list ...

  4. delphi 企业微信消息机器人_简单用VBS调用企业微信机器人发定时消息的方法

    去年在企业微信群当中突然看到多了一个叫多群机器人的东西: 企业微信群机器人 以为是升级了什么黑科技,看了下说明,原来目前功能是一个接收自定义消息的Webhook接口,可以通过调用接口把自定义消息推送到 ...

  5. php word组件使用方法,快速解决PHP调用Word组件DCOM权限的问题讲解

    下面小编就为大家分享一篇快速解决PHP调用Word组件DCOM权限的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1. 首先必须要在电脑上安装 Office 2. window ...

  6. react组件卸载调用的方法_React调用子组件方法与命令式编程误区

    本文将阐述以下内容: 调用DOM元素方法 调用React子组件方法的两种直接方案 自省组件结构设计是否合理 -- 探讨声明式编程与命令式编程在React开发中的问题 调用React子组件方法的最佳方案 ...

  7. vue 子页面调用父页面的参数_Flutter子组件调用父组件方法修改父组件参数

    子组件调用父级组件方法的主要实现是父组件给子组件传入一个方法,然后在子组件中调用父级方法来修改父级的参数.看一下效果图 父级组件实现 在父级组件中写一个_editParentText的方法来修改组件中 ...

  8. php 无法创建com组件,关于IIS php调用com组件的权限问题

    关于IIS php调用com组件的权限问题 1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑 ――DCOM配置――找到microsoft word 文档 3.点击属性 4.选择&q ...

  9. vbs调用c++dll_COM编程攻略(八 动态调用与IDispatch接口)

    上一篇我们实现了一个本地进程服务. Froser:COM编程攻略(七 COM跨进程组件开发实战)​zhuanlan.zhihu.com 这一篇,我们将对这个本地进程服务做一些修改,让它能支持如下VBS ...

  10. antd vue form表单 子组件调用父组件的方法没反应_前几天推了Vue,今天给React疯狂打call...

    在主流前端框架里,因为React的入门难度高而果断投入Vue怀抱的人绝不在少数.但我要告诉大家,如果你有一定的js基础,其实React没你想象中那么困难 任何库都要在「概念简洁」(自由度高)和「使用便 ...

最新文章

  1. PCL:超详细的基于法向量和曲率的区域生长算法原理以及源码解读
  2. 项目G2SVG.text转换
  3. nginx訪問php配置,thinkphp5配置nginx访问
  4. SAP CRM WebClient UI的搜索条件是怎么渲染出来的
  5. VS2010编译安装OpenCV2.4.3
  6. Pyechart:30分钟学会pyecharts数据可视化
  7. GridView - Batch Editing - How to cancel editing or disable the editor conditionally
  8. 华科新开源文本识别算法:ASTER与DeepLesion数据集百度云下载
  9. 蓝桥杯 ALGO-92 算法训练 前缀表达式
  10. python getattr用法_python自省函数getattr的用法
  11. java 三个点_Java Object定义三个点如何实现 Java Object定义三个点实现代码
  12. text函数--Matplotlib
  13. 吴恩达机器学习笔记七_应用机器学习的建议
  14. 动态规划实战14 leetcode-312. Burst Balloons
  15. 19个程序员接私活平台汇总升级版!你有技术就有钱!
  16. python+django+mysql校园二手书交易系统毕业设计毕设开题报告
  17. 蓝桥杯算法提高 盾神与条状项链
  18. 阿里云服务器租用费用清单表(CPU内存带宽磁盘)
  19. 华为云为基因检测保驾护航,助力健康行业发展
  20. TS与JS区别、优势

热门文章

  1. 小米路由器3潘多拉固件刷机教程
  2. 【Flutter 问题系列第 54 篇】Flutter 引入阿里矢量图标库的详细图文教程
  3. 身份证阅读器读卡器React网页方法实现身份证的读取
  4. jQuery源码分析(一)
  5. JAVA使用URLEncoder、URLDecoder编码解码
  6. aix如何查看日志策略_AIX系统日志学习笔记之一
  7. 喜马拉雅音频批量下载
  8. 喜马拉雅音频下载工具 - xmlyfetcher
  9. XeThru Sensors SW Module Connector-matlab
  10. [网络应用]winrar主题之Vista Ultimate篇