.net使用精灵com

  • 工具箱中-选择项,com组件中选择microsoft agent control 2.0组件

将microsoft agent control控件添加到窗体上(在程序运行时是看不到窗体是的microsoft agent控件的,只有在设计界面时它才显示出来)

  • 增加using AgentObjects;添加全局private IAgentCtlCharacterEx Character;//这个就是我们要操作的对象咯
  • 不想多说,把自己的所有测试代码贴出来(win7已经不支持了要下载补丁)其他可以看http://blog.csdn.net/luyifeiniu/article/details/5646744挺好
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


using AgentObjects;


namespace win1
{










    public partial class Form1 : Form
    {
        private IAgentCtlCharacterEx Character;


        public Form1()
        {
            InitializeComponent();
            start();
        }


        private void start()
        {
            axAgent1.Characters.Load("Genie", (object)"merlin.ACS");//导入吉尼这个精灵 
            Character = axAgent1.Characters["Genie"];
            Character.LanguageID = 0x409;//把语言设置为英语,这里不能是中文 
          //  Character.LanguageID = 0x804;//把语言设置为英语,这里不能是中文 
            Character.Show(0);//显示精灵 
            Character.Speak("like", null);
            Character.Play("Wave");
            Character.Commands.Add("谢谢", "谢谢", "谢谢", true, true);
            Character.Commands.Add("退出", "退出", "退出", true, true);


            Character.AutoPopupMenu = false;


            Character.Commands.Add("Hello", "Hello", "Hello", true, true);
            Character.Commands.Add("Hellox", (object)"Say Hello", (object)"([say](hello | hi) | good (day | morning | evening))", (object)true, (object)true);
            Character.Commands.Add("Goodbye", (object)"Goodbye", (object)"(bye | goodbye | exit | close | quit)", (object)true, (object)true);


            Character.MoveTo(500, 500, 1);
            Character.Play("Restpose");
            Character.Play("Explain");
        }




        private void Form1_Load(object sender, EventArgs e)
        {


            //UserControl1 dd = new UserControl1();
            
        }


        private void axAgent1_ClickEvent(object sender, AxAgentObjects._AgentEvents_ClickEvent e)
        {
            if (e.button == 2)
            {
                // MessageBox.Show("测试");
                contextMenuStrip1.Show(MousePosition);
            }
            else
            {
                contextMenuStrip1.Hide();
            }
        }


        以下是定义右键的菜单的功能 
        private void axAgent1_Command_1(object sender, AxAgentObjects._AgentEvents_CommandEvent e)
        {
            IAgentCtlUserInput ui;
            ui = (IAgentCtlUserInput)e.userInput;
            if (ui.Name == "退出")
            {
                Character.Speak("goodbye", null);
                Application.ExitThread();
            }
            else
            {
                Character.Speak("please chouse the menu", null);
            }
        }


        private void axAgent1_Move(object sender, EventArgs e)
        {
            contextMenuStrip1.Hide();
        }


        private void 谢谢ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Character.Hide(1);
            Character.AutoPopupMenu = true;
        }


        private void 死ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.ExitThread();
        }


        private void 伤ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.ShowDialog();
        }


        private void 好ToolStripMenuItem_Click(object sender, EventArgs e)
        {
       //     Character.Speak("i like you,do you like me!", "d:\\sample.mid");//LoopyMusic.wav
            string str = System.Environment.CurrentDirectory;
            Character.Speak("do、do、do da da da !",str+"\\LoopyMusic.wav");//LoopyMusic.wav
        }


        private void 不好ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Character.Speak("谢谢", null);
        }    








    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值