Microsoft Agent技术应用(7) BOOL agentAPISetName(LPCSTR sName); // 将角色卸载 BOOL agentAPIUnload(); // 显示角色 BOOL agentAPIShow(); // 隐藏角色 BOOL agentAPIHide(); // 显示或隐藏角色 BOOL agentAPIShowORHide(); // 停止角色表演 BOOL agentAPIStop(); // 角色表演(sAction动作名称) BOOL agentAPIPlay(LPCSTR sAction); // 角色讲话(sText句子) BOOL agentAPISpeak(LPCSTR sText); // 角色鞠躬(x,y 指方向) BOOL agentAPIGesAt(WORD x, WORD y); // 移动角色到指定的位置(x,y移动的坐标) BOOL agentAPIMoveTo(WORD x, WORD y); // 保存当前角色显示状态 BOOL agentAPISaveState(); // 恢复角色的状态 BOOL agentAPIRestoreState(); // 允许自动阅读 BOOL agentAPIEnableAutoRead(); // 禁止自动阅读 BOOL agentAPIDisableAutoRead(); 注意传递给AgentShell的数据长度不要超过1K(实际上一般不会大于1K)。 2) 使用接口 有了以上介绍的接口函数,对Agent的控制变的很简单,以下是一个简单的问候示例: // 启动AgentShell if( agentAPIRun(TRUE)) { // 保存当前Agent的状态 agentAPISaveState(); // 开始表演 agentAPIPlay(_T("Greet")); // 讲话 agentAPISpeak(_T("hello, my friend.")); // 表演结束 agentAPIPlay(_T("GreetReturn")); // 恢复原来状态 agentAPIRestoreState(); // 退出 agentAPIExit(); } AgentShell在笔者的免费软件"我的助手"中得到很好的利用,当然目前其仅涉及了Agent的一小部分内容,还有如语音识辨等,未做处理,还有待一步改进。以上程序在Visual C++ 6.0编译通过,源代码可到助手之家(http://www.helperHome.com)下载。