zoukankan      html  css  js  c++  java
  • 给msn 添加addin, 制作msn机器人

    1。修改注册表,添加如下一项,(如果不修改,则在‘工具’-》‘选项’中不会有“加载项”这个选项。

    HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger\AddInFeatureEnabled   DWORD   1

    2。添加一个vs2005中的class library工程。
    3。工程中添加引用: C:\Program Files\MSN Messenger and choose 'MessengerClient.dll‘
    4。在自动生成的class1.cs中添加引用:'using Microsoft.Messenger'
    5。并设置Class1.cs继承于IMessengerAddIn
    6。添加代码到Class1中。

    MessengerClient m_client;

     // 初始化

                  void IMessengerAddIn.Initialize(MessengerClient client)

            {

                m_client = client;

                // 设置插件的属性

                m_client.AddInProperties.FriendlyName = "SmartTalker";

                m_client.AddInProperties.PersonalStatusMessage =  "Talk to me!";

                // 当接收到消息时触发事件
                m_client.IncomingTextMessage +=

                    new EventHandler<IncomingTextMessageEventArgs>            (this.OnIncomingMessage); 

            }

           / / 处理事件,发送一条自定义消息给发送人

                public void OnIncomingMessage(object sender,

                                    IncomingTextMessageEventArgs args)

            {

                m_client.SendTextMessage("Hello " +

                    args.UserFrom.FriendlyName +

                    ". Check back later and maybe I'll say something more interesting.",

                    args.UserFrom);

            }

    7。在工程的属性窗口中, 修改生成的DLL(程序集)名称为:工程名称.Class1
        DLL的名称必须与继承IMessengerAddIn的类的全称一致, 即:" 命名空间.类名.dll", 否则在MSN中加载时将报错.
    8。编译之后在"加载项"中选择这个生成的DLL即可。
    9。在MSN的状态下拉框中会发现“启用Smart Talker" 菜单项,选中之后。任何人发MSN消息过来即会被addin处理。

    扩充:
    上面只是一个简单的演示,你可以根据发送人的名称,单独处理,也可以从DB中取数据返回一些内容。

    另外,如果在addin类中调用了web serivice,则无法加载此DLL,没找到原因,看来还是使用dotmsn开发方便.

    ref:
    http://blogs.msdn.com/katieblanch/archive/2006/05/11/595765.aspx
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlive/html/messengeraddin_sdk.asp
  • 相关阅读:
    Nginx 部署多个 web 项目(虚拟主机)
    Nginx 配置文件
    Linux 安装 nginx
    Linux 安装 tomcat
    Linux 安装 Mysql 5.7.23
    Linux 安装 jdk8
    Linux 安装 lrzsz,使用 rz、sz 上传下载文件
    springMVC 拦截器
    spring 事务
    基于Aspectj 注解实现 spring AOP
  • 原文地址:https://www.cnblogs.com/margiex/p/571091.html
Copyright © 2011-2022 走看看