C#MSN插件開發(fā)實(shí)例解析
C#MSN插件開發(fā)實(shí)例是什么呢?我們在互聯(lián)網(wǎng)上經(jīng)常見到一些利用MSN開發(fā)的個(gè)性軟件,比如說聊天機(jī)器人,事務(wù)提醒阿等等。其實(shí)用C#開發(fā)MSN插件程序(比如聊天機(jī)器人),常見實(shí)現(xiàn)有以下兩種開發(fā)思路:
C#MSN插件開發(fā)1、直接調(diào)用MSN遠(yuǎn)程服務(wù)
Net開發(fā)環(huán)境下最出名的要算DotMSN開發(fā)庫(開源)。 DotMSN是一款獨(dú)立的開源類庫,它不需要和官方的MSN Messenger交互,因此不必安裝MSN Messenger就可以使用DotMSN和MSN Messenger服務(wù)通信.DotMSN是C#編寫的,所以.NET環(huán)境支持的語言都能夠使用.DotMSN類庫使用簡單而且實(shí)現(xiàn)方便。它靈活,堅(jiān)固,輕量級利于整合到任何應(yīng)用系統(tǒng).使用DotMSN的應(yīng)用系統(tǒng)能實(shí)現(xiàn)從創(chuàng)建消息機(jī)器人到自定義客戶端等各種不同的功能.
如果你的應(yīng)用程序需要和Messenger服務(wù)通信,DotMSN是一個(gè)不錯(cuò)的工具.
C#MSN插件開發(fā)2、調(diào)用MSN的組件開發(fā)
主要功能來自引用MessengerClient.dll。下面是摘自一網(wǎng)友的文章。共同學(xué)習(xí)一下:
開發(fā)MSN插件
MSN8.0開放了一些接口,使得我們能很方便的再它限定的范圍內(nèi)進(jìn)行插件開發(fā)操作.
開發(fā)環(huán)境:VS 2005 .NET 2.0 MSN 8.0
再M(fèi)SN安裝目錄下有個(gè)MessengerClient.dll的文件,要建立插件就要引用這個(gè)東西
注冊表 SoftWare\MicroSoft\MSNMessager下新建一個(gè)DWORD:AddInFeatureEnabled值為1 啟用插件功能
新建一個(gè)工程,引用MessengerClient.dll,可以看到內(nèi)部的一些構(gòu)造有個(gè)IMessagerAddIN的通用接口,我們寫插件就擴(kuò)展這個(gè)接口,重寫里面的函數(shù)void Initialize(Microsoft.Messenger.MessengerClient messenger).
里面的事件和方法不多,事件也就是收到消息,發(fā)送消息,狀態(tài)改變事件,方法呢,就是發(fā)文字,發(fā)閃屏一些的,想來想去,MS給我們這個(gè)框架接口除了能讓我們寫機(jī)器人Robot聊天,還能干什么-_-#!!!
DLL里面操作限制也很嚴(yán)格,不能訪問本地文件,不能用MemoryStream分配內(nèi)存...,要想自己畫個(gè)圖,只能用GDI+畫.....
本來想寫個(gè)自動(dòng)換頭像插件的,結(jié)果發(fā)現(xiàn)接口沒提供這個(gè)東西...,不過還是把一個(gè)最簡單的Sample的例子放出來,依照這個(gè)架構(gòu)擴(kuò)展自己的插件就可以了
C#MSN插件開發(fā)實(shí)例演示:
- using System;
- using System.Drawing;
- using System.Collections.Generic;
- using System.Text;
- using Microsoft.Messenger;
- namespace Red_angelX.MSNPlusIn
- ...{
- /**////
- /// MSN頭像自動(dòng)更換插件
- ///
- /// @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 = "頭像自動(dòng)更換插件";
- 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;
- }
- }
- }
再M(fèi)SN菜單的工具->選項(xiàng)->加載項(xiàng)里面加載這個(gè)DLL,MSN對插件的文件名也有要求,那就是NAMESPACE+CLASS+DLL,也就是我這個(gè)DLL必須命民為:Red_angelX.MSNPlusIn.AutoChangeFace.dll才能正常試用,如果這些接口能實(shí)現(xiàn)什么有意思的功能而不是聊天機(jī)器人的話,那多令人興奮-_-#
C#MSN插件開發(fā)的實(shí)例基本情況就向你介紹到這里,希望對你了解和學(xué)習(xí)C#MSN插件開發(fā)有所幫助。
【編輯推薦】