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插件開發實例演示:
- using System;
- using System.Drawing;
- using System.Collections.Generic;
- using System.Text;
- using Microsoft.Messenger;
- namespace Red_angelX.MSNPlusIn
- ...{
- /**////
- /// MSN頭像自動更換插件
- ///
- /// @Author: Red_angelX
- ///
- 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; http://www.it55.com/
- 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才能正常試用,如果這些接口能實現什么有意思的功能而不是聊天機器人的話,那多令人興奮-_-#
C#MSN插件開發的實例基本情況就向你介紹到這里,希望對你了解和學習C#MSN插件開發有所幫助。
【編輯推薦】