MSN'e Add-in Yazalım

Yazdır Geri Düşür Yükselt

MSN' e Add-In Yazalım

                           MSN'de Options penceresinde ADD-ins tab sekmesini görebilmeniz için Windows'un Registry sine yeni bir kayıt eklememiz gerekiyor. Aksi taktirde Add-ins tab sekmesini göremezsiniz!

   

Run> regedit diyelim ve Registry Editor'u açalım.

HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger

altında yeni bir String Value oluşturalım ve ismine AddInFeatureEnabled ve değerine 1 diyelim.

Bu işlemden sonra Msn Messenger'ınızda Options penceresinde Add-ins tab sekmesini görebilirsiniz.

Şimdi gelelim Kendi Add-in'imize.

Visual Studio'da yeni bir class uygulaması oluşturalım ve ismine SNNMsnAddIn diyelim. Sonra bu uygulamaya Add-In yazmamızı sağlıyacak assembly'i referans olarak ekleyelim.

Project>Add Reference diyelim ver bu ekranda Browse tab sekmesine gelelim.

ProgramFiles\Windows Live\Messenger\MessengerClient.dll dosyasını seçelim.

Bu aşamadan sonra yazdığımız Class'ın MSN Add-in'i olduğunu belirmemiz için eklediğimiz assembly içerisinde bulunan IMessengerAddIn interface'inden kalıtım alması gerekiyor. Böylece bu interface içerisinden tanımlanmış methodları override ederek kendi Add-in'imiz için kullanabileceğiz.

 

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Messenger;
using System.Windows.Forms;
 
namespace SNNMsnAddIn
{
    public class Eklenti : IMessengerAddIn
    {
        MessengerClient isyap;
        public void Initialize(Microsoft.Messenger.MessengerClient messenger)
        {
            isyap = messenger;
            //Oluşturduğumuz Add-in için gerekli bilgileri girelim.
            isyap.AddInProperties.Creator = "Sinan Uçar";
            isyap.AddInProperties.FriendlyName = "SNN";
            isyap.AddInProperties.PersonalStatusMessage = "Bu Add-in Sinan Uçar tarafından kodlanmıştır!";
            isyap.AddInProperties.Status = UserStatus.OnThePhone;
            isyap.AddInProperties.Url = new Uri("http://www.zirvedekibeyinler.net");
            //Add-in eventlerini oluşturalım.
            isyap.IncomingTextMessage += new EventHandler<IncomingTextMessageEventArgs>(MesajGeldi);
            isyap.OutgoingTextMessage += new EventHandler<OutgoingTextMessageEventArgs>(MesajGidiyor);
            isyap.ShowOptionsDialog += new EventHandler(AyarlarAc);
            isyap.StatusChanged += new EventHandler<StatusChangedEventArgs>(DurumDegisti);
        }
 
        void DurumDegisti(object sender, StatusChangedEventArgs e)
        {
            MessageBox.Show("Durum Değişti");
        }
 
        void AyarlarAc(object sender, EventArgs e)
        {
          
            //Msn'de options pencesinden Add-ins tab sekmesine geldiğiniz zaman
            //kendi Add-in'inizi kullanıcı seçip Setting butonuna basarsa sizin burada yazdığınız kod
            //çalıştırılacaktır. Siz dilerseniz burada projenize Windows Form ekleyip Kullanıcı Setting
            //dugmesine bastığında kendi Add-in'iniz için oluşturduğunuz formu açabilirsiniz.
 
        }
 
        void MesajGidiyor(object sender, OutgoingTextMessageEventArgs e)
        {
            string mesaj, kullanici;
            mesaj = e.TextMessage;
            kullanici = e.UserTo.FriendlyName;
            if (MessageBox.Show(mesaj + "\nBu Mesajı " + kullanici + " göndermek istediğine eminmisin?", "", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                e.Cancel = true;
            }
        }
        void MesajGeldi(object sender, IncomingTextMessageEventArgs e)
        {
            MessageBox.Show(e.UserFrom.FriendlyName + " arkadaşınızdan\n" + e.TextMessage + "\nMesajı geldi");
        }
    }
}
 

 Yapmamız gereken son düzenleme Project>SNNMsnAddIn Properties diyelim ve Application kısmından Assembly Name'ine SNNMsnAddIn.Eklenti yazalım. Bunun sebebi MSN Assembly ismini bizden AssemblyAdı.ClassAdı şeklinde istiyor olması. Aksi halde Add-in i Msn'e eklerken hata mesajı alırsınız.

Şimdi Add-in imizi deneyebiliriz.MSN'iniz ile oturum açın ve Options>Add-ins tab sekmesinde  Add To Messenger diyerek oluşturduğumuz SNNMsnAddIn.Eklenti.dll'i seçin.

 

Artık Add-in imizi aktif hale getirelim ve sonucu görelim.

 

Sinan UÇAR

MCP , MCAD, MCSD.NET, MCDBA

 

Zirvedeki Beyinler | MSN'e Add-in Yazalım