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!

msne-add-in-yazalim-1

msne-add-in-yazalim-1

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(“https://zirvedekibeyinler.net”);
//Add-in eventlerini oluşturalım.
isyap.IncomingTextMessage += new EventHandler(MesajGeldi);
isyap.OutgoingTextMessage += new EventHandler(MesajGidiyor);
isyap.ShowOptionsDialog += new EventHandler(AyarlarAc);
isyap.StatusChanged += new EventHandler(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.

msne-add-in-yazalim-2

msne-add-in-yazalim-2

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