程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 在VC++中實現Microsoft Agent

在VC++中實現Microsoft Agent

編輯:關於VC++

用過Office97或Office2000的人會知道,Office軟件中有一個可愛的Office助手,能夠根據不同的操作作出一些有趣的提示與動畫,使用戶操作更人性化、有趣化。正象這Office助手“大眼俠”一樣,Microsoft提供了代理軟件開發技術,稱為“Microsoft Agent”,它能支持中文。有強大的交互功能與人性特點,不僅能給出有趣的提示信息,還能給出幽默的動畫效果,使用“Microsoft Agent”能讓您的程序增色不少。

“Microsoft Agent”是一套ActiveX控制,您可以到http://www.microsoft.com/msagent/default.asp下載其相關程序msagent.exe,安裝即可。Agent的動畫文件支持單結構角色文件(*.acs),也支持多結構角色文件(*.acf),本文介紹的是前者。執行效果如下:

本文程序中所演示的James角色,如果您沒有安裝,可以先到http://www.msagentring.org/chars.htm下載安裝。

實現辦法:

一、新建工程myagent:

建立基於對話框的VC++工程MyAgent;

二、在窗口中添加ActiveX組件:Microsoft Agent:

正確安裝了“Microsoft Agent”之後,系統中會新增該ActiveX控件可以使用,目前該ActiveX的最高版本是2.0,即“Microsoft Agent Control 2.0”;

三、開始使用"Microsoft Agent"

1、定義成員變量

利用ClassWizard為“Microsoft Agent”定義成員變量m_sysAgent,即:

CAgentCtlEx  m_sysAgent;

2、定義其他變量

首選在窗口的頭文件中增加引用如下頭文件,即:

#include "agentctlcharacters.h"
#include "agentctlcharacterex.h"
#include "agentctlrequest.h"

再定義保護變量:

CAgentCtlCharacters m_Characters;
CAgentCtlCharacterEx m_Ex;
CAgentCtlRequest m_Request;

3、開始使用:

可在初始化窗體進行動畫文件的載入,即在CMyAgentDlg::OnInitDialog()中加入如下代碼:

COleVariant iv("0");
m_Characters=m_sysAgent.GetCharacters();
m_Request=m_Characters.Load("Jame",COleVariant("C:\\WINDOWS\\msagent\\chars\\James.acs"));
m_Ex=m_Characters.Character("Jame");
m_Ex.Show(iv);

為在窗口關閉時對動畫文件進行卸載,在關閉窗口時可加入如下代碼:

m_Characters.Unload("Jame");

4、控制動畫文件:

在程序中可以完全控制該動畫文件來完成各種動作,如顯示、隱藏、文本提示、做動作,分別通過調用Show(),Hide(),Speek()以有Play()來完成。如想上動畫表示歡迎,則可使用如下命令:

m_Ex.Play("Greet");

具體的操作可參考控件的幫助文件,或浏覽http://www.microsoft.com/msagent/default.asp。

“Jame”動畫主要提供如下動作:

Acknowledge(承認)

Alert(警告)

Announce(聲明)

Blink(眨眼)

Confused(困惑)

Congratulate(祝賀)

Decline(拒絕)

Explain(解釋)

LookDown(向下看)

LookUp(向上移動)

MoveDown(向下移動)

MoveLeft(向左移動)

MoveRight(向右移動)

Greet(問候)

Read(讀)

Write(寫)

Search(查找)

RestPose(恢復初始狀態)

Think(思考)

……

動畫文件的下載及更詳細的信息請參考:http://www.msagentring.org/chars.htm

本文只提及了Agent的一小部分功能,讀者可自行實現其他功能,不足之處請指出。

注:示例程序在WindowsXP+Visual C++ 6.0環境下編譯通過。

Email:[email protected]

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved