您的位置:首页 > 理论基础 > 计算机网络

开发MSN插件http://blog.csdn.net/Red_angelX/archive/2006/12/26/1462781.aspx

2007-11-16 16:09 666 查看
MSN8.0开放了一些接口,使得我们能很方便的再它限定的范围内进行插件开发操作.
开发环境:VS 2005 .NET 2.0 MSN 8.0

再MSN安装目录下有个MessengerClient.dll的文件,要建立插件就要引用这个东西

注册表 SoftWare/MicroSoft/MSNMessager下新建一个DWORD:AddInFeatureEnabled值为1 启用插件功能

新建一个工程,引用MessengerClient.dll,可以看到内部的一些构造有个IMessagerAddIN的通用接口,我们写插件就扩展这个接口,重写里面的函数void Initialize(Microsoft.Messenger.MessengerClient messenger).

里面的事件和方法不多,事件也就是收到消息,发送消息,状态改变事件,方法呢,就是发文字,发闪屏一些的,想来想去,MS给我们这个框架接口除了能让我们写机器人Robot聊天,还能干什么-_-#!!!

DLL里面操作限制也很严格,不能访问本地文件,不能用MemoryStream分配内存...,要想自己画个图,只能用GDI+画.....

本来想写个自动换头像插件的,结果发现接口没提供这个东西...,不过还是把一个最简单的Sample的例子放出来,依照这个架构扩展自己的插件就可以了




using System;


using System.Drawing;


using System.Collections.Generic;


using System.Text;


using Microsoft.Messenger;




namespace Red_angelX.MSNPlusIn




...{




/**//// <summary>


/// MSN头像自动更换插件


///


/// @Author: Red_angelX


/// </summary>


public class AutoChangeFace : IMessengerAddIn




...{


MessengerClient msn;


public void Initialize(MessengerClient messager)




...{


msn = messager;




msn.AddInProperties.Creator = "Red_angelX";


msn.AddInProperties.Description = "CopyRight (C) 2006-2009 Red_angelX";


msn.AddInProperties.FriendlyName = "头像自动更换插件";


msn.AddInProperties.Url = new Uri("http://blog.csdn.net/Red_angelX");


msn.AddInProperties.Status = UserStatus.Online;




msn.AddInProperties.UserTile = RandImage();


}




private Image RandImage()




...{


//Font ft = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));


Bitmap bm = new Bitmap(48, 48);


Graphics g = Graphics.FromImage(bm);


g.Clear(Color.Black);


g.DrawString("Red", new Font("", 16, FontStyle.Italic), Brushes.Red, 0, 10);


return bm;


}


}


}



再MSN菜单的工具->选项->加载项里面加载这个DLL,MSN对插件的文件名也有要求,那就是NAMESPACE+CLASS+DLL,也就是我这个DLL必须命民为:Red_angelX.MSNPlusIn.AutoChangeFace.dll才能正常试用,如果这些接口能实现什么有意思的功能而不是聊天机器人的话,那多令人兴奋-_-#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐