Msn'i biraz daha zevkli hale getirmek tamamen elimizdeymiş de haberim yokmuş ;) Peltek konuşmak mı yoksa karşıdaki size ne yazdı ise sizin de ona aynı cümlenin tersten yazılmışını göndererek sinir etmek mi istersiniz. ;) Ufak çaplı bir kod...
Projenize (ClassLibrary) öncelikle C:\Program Files\MSN Messenger\MessengerClient.dll 'i (Sevgili Özcan Değirmenci'nin geliştirdiği FOX Decompiler'i ile bu dll'i bir inceleyin derim) referans olarak ekliyorsunuz. Bir de geliştirdiğiniz AddIn'i Msn Messenger'e ekleyebilmek için -AddIn ekleme bölümü kapalı geliyor - Registry'deki HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger Key'ine AddInFeatureEnabled isimli DWORD Value ekleyip değerini 1 yapıyoruz.
using System;using System.Collections.Generic;using System.Text;using Microsoft.Messenger;public class Peltek:IMessengerAddIn{ MessengerClient m; public void Initialize(MessengerClient messenger) { m = messenger; m.AddInProperties.Creator = "Oğuz YAĞMUR"; m.AddInProperties.Description = "Peltek konuştuvuv"; messenger.OutgoingTextMessage += new EventHandler<OutgoingTextMessageEventArgs>(messenger_OutgoingTextMessage); messenger.IncomingTextMessage += new EventHandler<IncomingTextMessageEventArgs>(messenger_IncomingTextMessage); } void messenger_IncomingTextMessage(object sender, IncomingTextMessageEventArgs e) { //if (m.AddInProperties.Status == UserStatus.Busy) char [] ch = e.TextMessage.ToCharArray(); Array.Reverse(ch); string ters = new string(ch); //m.SendTextMessage("Sevgili " + e.UserFrom.FriendlyName + " şu anda meşgulüm. Lütfen daha sonra konuşalım ;",e.UserFrom); m.SendTextMessage(ters,e.UserFrom); } void messenger_OutgoingTextMessage(object sender, OutgoingTextMessageEventArgs e) { //e.Cancel = true; string text = e.TextMessage; string yeni = ""; foreach (string kelime in text.Split(new char[] { ' ' })) { yeni += kelime.Replace("r", "v").Replace("s", "ss") + " "; } m.SendTextMessage(yeni, e.UserTo); }}
Bu arada neden namespace'i yok bu projenin derseniz - ki namespace'siz olur mu? hani nerde global::Peltek demeyin sakın.Demek istediğim açık seçik ortada :) - Msn'e eklemeye çalıştığımda AddIn'i Class ismi ile dosya isminin (Peltek.dll) aynı olmadığını - Sanırım Reflection kullanıo :p - söyleyip kızıyordu. Ben de Msn'in Reflection kullandığını düşünüp - ki başka ne düşündüğümü sormayın - namespace i kaldırdığımda başarılı bir şekilde eklediğini gördüm :)Size çalışırsa ne diyeyim ben beceriksizmişim ;)
Remember Me