C#MSN插件开发实例解析

开发 后端
C#MSN插件开发这里主要向你介绍一些实用性强的程序,比如聊天程序之类,那么具体的过程是什么呢?那么本文就向你介绍详细的过程。

C#MSN插件开发实例是什么呢?我们在互联网上经常见到一些利用MSN开发的个性软件,比如说聊天机器人,事务提醒阿等等。其实用C#开发MSN插件程序(比如聊天机器人),常见实现有以下两种开发思路:

C#MSN插件开发1、直接调用MSN远程服务

Net开发环境下最出名的要算DotMSN开发库(开源)。 DotMSN是一款独立的开源类库,它不需要和官方的MSN Messenger交互,因此不必安装MSN Messenger就可以使用DotMSN和MSN Messenger服务通信.DotMSN是C#编写的,所以.NET环境支持的语言都能够使用.DotMSN类库使用简单而且实现方便。它灵活,坚固,轻量级利于整合到任何应用系统.使用DotMSN的应用系统能实现从创建消息机器人到自定义客户端等各种不同的功能.

如果你的应用程序需要和Messenger服务通信,DotMSN是一个不错的工具.

C#MSN插件开发2、调用MSN的组件开发

主要功能来自引用MessengerClient.dll。下面是摘自一网友的文章。共同学习一下:

开发MSN插件

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的例子放出来,依照这个架构扩展自己的插件就可以了

C#MSN插件开发实例演示:

  1. using System;  
  2. using System.Drawing;  
  3. using System.Collections.Generic;  
  4. using System.Text;  
  5. using Microsoft.Messenger;   
  6.  
  7. namespace Red_angelX.MSNPlusIn  
  8. ...{  
  9. /**////   
  10. /// MSN头像自动更换插件  
  11. ///   
  12. /// @Author: Red_angelX  
  13. /// 
  14.  
  15. public class AutoChangeFace : IMessengerAddIn  
  16. ...{  
  17. MessengerClient msn;  
  18. public void Initialize(MessengerClient messager)  
  19. ...{  
  20. msn = messager;   
  21. msn.AddInProperties.Creator = "Red_angelX";  
  22. msn.AddInProperties.Description = "CopyRight (C) 2006-2009 Red_angelX";  
  23. msn.AddInProperties.FriendlyName = "头像自动更换插件";  
  24. msn.AddInProperties.Url = new Uri("http://blog.csdn.net/Red_angelX");  
  25. msn.AddInProperties.Status = UserStatus.Online; http://www.it55.com/   
  26.  
  27. msn.AddInProperties.UserTile = RandImage();  
  28. }   
  29. private Image RandImage()  
  30. ...{  
  31. //Font ft = new System.Drawing.Font(  
  32. "宋体", 14.25F, System.Drawing.FontStyle.Bold,   
  33. System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));  
  34. Bitmap bm = new Bitmap(48, 48);  
  35. Graphics g = Graphics.FromImage(bm);  
  36. g.Clear(Color.Black);  
  37. g.DrawString("Red"new Font("", 16,  
  38.  FontStyle.Italic), Brushes.Red, 0, 10);  
  39. return bm;  
  40. }  
  41. }  
  42. }   

再MSN菜单的工具->选项->加载项里面加载这个DLL,MSN对插件的文件名也有要求,那就是NAMESPACE+CLASS+DLL,也就是我这个DLL必须命民为:Red_angelX.MSNPlusIn.AutoChangeFace.dll才能正常试用,如果这些接口能实现什么有意思的功能而不是聊天机器人的话,那多令人兴奋-_-# 

C#MSN插件开发的实例基本情况就向你介绍到这里,希望对你了解和学习C#MSN插件开发有所帮助。

【编辑推荐】

  1. C#BinaryWriter的使用浅析
  2. C#缓存流的使用浅析
  3. C#内存流的使用实例探讨
  4. .NET写入文本文件的操作浅析
  5. C# MSN Messenger的窗口的实现浅析
责任编辑:仲衡 来源: IT技术网
相关推荐

2009-09-01 17:08:14

C#画线控件

2009-08-18 10:14:19

C#插件构架

2009-09-09 14:40:15

C# XML解析

2011-08-29 14:50:08

jQuery插件

2011-09-07 17:54:40

Android Wid开发

2013-02-20 15:29:00

JSONAndroid开发

2009-09-07 06:31:32

C#窗体移动

2009-08-26 12:14:44

C#打印设置

2009-09-04 16:55:09

C#DES算法解密

2009-08-31 18:17:32

C#接口编程

2009-08-19 16:09:15

C#操作Access

2009-08-18 10:47:40

C#枚举类型

2009-09-09 13:57:28

C# XML解析

2009-09-03 15:43:21

C#时间计算

2009-09-03 09:16:35

C#递归函数

2009-09-01 13:51:51

C#创建Word文档

2009-09-01 18:32:32

C#动态数组

2009-08-31 17:30:10

C#接口的作用

2009-09-04 13:37:44

C#货币格式

2009-09-14 14:25:53

C# Lambda EC# Lambda
点赞
收藏

51CTO技术栈公众号