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
  • 相关阅读:
    数字索引分页
    经典语录 cloud
    日常交际技巧经验总结100句(大全) cloud
    成大事必备9种能力、9种手段、9种心态 cloud
    浅谈服务器虚拟化
    使用mysqlard监控mysql服务器性能
    CentOS服务器iptables配置
    如何编写好的应用程序
    电子杂志新出路
    泸州老窖集团有限责任公司电子化职能化和网络化的管理新模式
  • 原文地址:https://www.cnblogs.com/margiex/p/571091.html
Copyright © 2011-2022 走看看