Aşağıdaki linkden Api Kütüphanesini indirin.İçerisinde çalışan exe de var.
http://www.tekkalem.com.tr/files/MsnApi.zip
kullanımı aşağıdadır..
Kod: Tümünü seç
Project ->import type library
TYPELIB_1.tlb
install
sırayla TYPELIB_7.tlb e kadar bütün dosyaları import edin.
Not : 5 te hata [ ] leri ( ) yaparsanız hatayı giderebilirsiniz.
--- MSN Durumunu Değiştirme
uses MessengerAPI_TLB;
procedure TForm1.Button3Click(Sender: TObject);
begin
MessengerAPI_TLB.CoMessenger.Create.MyStatus := MISTATUS_//;
end;
Kullanılabilir Durumlar :
MISTATUS_ONLINE (online)
MISTATUS_BE_RIGHT_BACK (be right back)
MISTATUS_BUSY (busy)
MISTATUS_AWAY (away)
MISTATUS_ON_THE_PHONE (on the phone)
MISTATUS_OUT_TO_LUNCH (out to lunch)
MISTATUS_INVISIBLE (appear offline)
MISTATUS_OFFLINE (not signed in)
MISTATUS_LOCAL_FINDING_SERVER
MISTATUS_LOCAL_CONNECTING_TO_SERVER
MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER
MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER
--- Bağlı Kullanıcının Bilgilerini Alma
uses MessengerAPI_TLB;
procedure TForm1.Button3Click(Sender: TObject);
var
MyFriendlyName: String;
MySigninName: String;
NumberOfEmails: Integer;
ReceivedFilesDir: String;
Status: String;
Messenger: IMessenger3;
begin
//Create the IMessenger component.
Messenger := MessengerAPI_TLB.CoMessenger.Create;
//Assign the correct values to the variables we created.
MyFriendlyName := Messenger.Get_MyFriendlyName;
MySigninName := Messenger.Get_MySigninName;
NumberOfEmails := Messenger.UnreadEmailCount[0];
case Messenger.MyStatus of
MISTATUS_ONLINE: Status := 'Çevimişi';
MISTATUS_INVISIBLE: Status := 'Çevrim Dışı';
MISTATUS_BUSY: Status := 'Meşgul';
MISTATUS_BE_RIGHT_BACK: Status := 'Hemen Dönecek';
MISTATUS_IDLE: Status := 'Meşgul';
MISTATUS_AWAY: Status := 'Dışarıda';
MISTATUS_ON_THE_PHONE: Status := 'Telefonda';
MISTATUS_OUT_TO_LUNCH: Status := 'Öğle Yemeğinde';
end;
memo1.clear;
memo1.lines.add('Görüntü İsmi : '+MyFriendlyName);
memo1.lines.add('Bağlantı İsmi : '+MySigninName);
memo1.lines.add('Mail Sayısı : '+inttostr(NumberOfEmails));
memo1.lines.add('Alınan Dosyalar Klasörü : '+ReceivedFilesDir);
memo1.lines.add('Durum : '+Status);
end;
--- Konuşma Penceresi Açma
uses MessengerAPI_TLB;
var
User: String;
begin
MessengerAPI_TLB.CoMessenger.Create.InstantMessage(User); //mail adresi
end;
--- Kullanıcı İleti Geçmişini Görüntüleme
uses MessengerAPI_TLB;
procedure TForm1.Button5Click(Sender: TObject);
var
User: String;
Messenger: IMessenger3;
MsgrIMWindow: ImessengerConversationWnd;
begin
memo2.Clear;
Messenger := MessengerAPI_TLB.CoMessenger.Create;
MsgrIMWindow:=IMessengerConversationWnd(Messenger.InstantMessage(User));
Memo2.Lines.add(MsgrIMWindow.History);
end;
--- Msn Api Olaylarını Kullanma
http://www.tycooneden.com/delphi/MessengerAPIEvents.zip -> Adresinden MessengerAPIEvents
Componentini indirerek yükleyin.
--- Kontak Listesini Alma
uses MessengerAPI_TLB;
procedure TForm1.Button6Click(Sender: TObject);
var
msnContacts : IMessengerContacts;
msnContact : IMessengerContact;
SignInList, FriendlyNameList: TStringList;
n : Integer;
begin
msnContacts := IMessengerContacts(MessengerAPI_TLB.CoMessenger.Create.MyContacts);
SignInList := TStringList.Create;
FriendlyNameList := TStringList.Create;
for n := 0 to msnContacts.Count - 1 do
begin
msnContact := IMessengerContact(msnContacts.Item(n));
SignInList.Add(msnContact.SigninName);
FriendlyNameList.Add(msnContact.FriendlyName);
end;
SigninList.Free;
FriendlyNameList.Free;
end;