◎Vbs調用MsAgent組件,很有趣

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

 

本來代碼寫的就沒有什麼難度,可是寫完之後,每次可愛的小人總是一閃而過,屏幕上什麼也看不見,在網絡上查找也找不出原因,我實驗了好多次,終於發覺了加紅的那段代碼必不可少,程序異步執行,沒有最後的代碼,程序沒有執行完就退出了

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章