March 26, 2007
@ 01:17 AM

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 ;)


 
Friday, February 06, 2009 3:59:02 PM (GTB Standard Time, UTC+02:00)
iyi günler güzel anlatım ve kodlama çok teşşekürler fakat Add-in sekmesini msn içinden açamıyorum regeditten tarif ettiklerinizi yapmama rağmen. Acaba bunun sebebi
Windows Live Messenger version 2009 ( Build 14.0.8050.1202 ) kullanmam olabilir mi. ama üst versiyon bir msnin alt versiyonddakileri de desteklemesi gerekmez mi. Aslında destekliyordur die tahmin ediyorum sadece regeditte bunu açacak olan anahtar sanıyorum eskisi ile aynı değil
Friday, February 06, 2009 4:37:09 PM (GTB Standard Time, UTC+02:00)
Selamlar Eyup Bey
Muhtemelen bahsettiginiz nedenlerden dolayidir.
Yeni surumleri ile ilgilenmedim :)
Eger cozum buldugunuzda burdan bizimle paylasirsaniz memnun olurum.
Friday, November 06, 2009 3:49:26 AM (GTB Standard Time, UTC+02:00)
Do you want to buy some sheepskin boots, please come to www.findugg.com.Full range of UGG boots for Men and Women to buy online. Fast and free shipping to worldwide, competitive price, high quality, and efficient service.

Read more:http://www.findugg.com
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):

Live Comment Preview