MSN Ye Hükmedin..
-
İlk önce şunu söliyim alıntıdır!!Snorstorm tarafından yazılmıstır..Güzel diye alıntıladım baya işe yarayan bi olay..
--BÖLÜM 1--
Bu kodlar ile messenger a hükmedebilirsiniz ;)
ilk olarak projemize messenger ı eklememiz gerek. " Projects > Preferences... "
menüsünden aşağıdakileri ekleyelim...Messenger Type Library (C:\Program Files\Messenger\msmsgs.exe)
Messenger API Type Library (C:\Program Files\Messenger\msmsgs.exe\3)
Messenger AddIns Type Library (C:\Program Files\Messenger\msmsgs.exe\4)
Messenger Private Type Library (C:\Program Files\Messenger\msmsgs.exe\2)daha sonra formumuzun genaral - decleration kısmına
Private MSN As New MsgrObject
Private MSNAPI As New MessengerAPI.Messengerkodlarımızı ekliyelim...artık kod yazarak messenger hesabımızdan online olmaya hazırız.
MESSENGER HESABIMIZDAN OTURUM AÇMA
İlk olarak formumuza 2 adet text box ve 2 adet command nesnesi ekliyelim.
///
text1 : Mail adresimiz için (abc@hotmail.com)
text2 : şifremiz için
command1 : Oturum açmak için
command2 : Oturum kapamak için
\\\command1 (Oturum açma) butonunun click olayına şu kodları yazıyoruz :
On Error Resume Next
MSN.Logon Text1.Text, Text2.Text, MSN.Services.PrimaryServicecommand2 (Oturum kapama) butonunun click olayına şu kodları yazıyoruz :
On Error Resume Next
MSN.Logoff2.bir msn iniz varsa programda kullandığınız mail hesabını listenize ekleyerek oturumun açılmış olduğunu görebilirsiniz ;)
arkası yarın...--BÖLÜM 2--
Bu kodlar ile messenger a hükmedebilirsiniz ;)
[Nickimizi değiştirme / Durumumuzu Değiştirme / Listemizdeki Kullanıcıları ListBox a ekleme / Listemizdeki Kullanıcılara Mesaj Gönderme]
Messenger ı kullanabilmek için ilk olarak messenger apilerini projemize ekliyelim (Nasıl yapacağınız ilk makalemizde yazıyor...)
MSN deki Nickimizi Değiştirelim
Formumuza;
1 adet Label (name : lblNewNickName)
1 adet TextBox (name : txtNewNickName)
1 adet CommandButton (name: cmdChangeNickName)
ekliyelim ve aşağıdaki kodları yazalım :
---------------------------------------------
Private MSN As New MsgrObjectPrivate Sub cmdChangeNickName_Click()
If MSN.LocalState = MSTATE_OFFLINE Then
MsgBox "You are not Signed In"
Else
MSN.Services.PrimaryService.FriendlyName = txtNewNickName.Text
txtNewNickName.Text = ""
End If
End Sub
---------------------------------------------
(Bu kodun detaylı açıklamasını ilk makeleden öğrenebilirsiniz...)MSN deki Durumumuzu Değiştirelim
Formumuza;
7 adet OptionButton (Name özellikleri : optOnline, optBusy, optBeRightBack, optAway, optOnThePhone, optOutToLunch ve optAppearOffline olarak ayarlıyalım).
ve aşağıdaki kodları yazalım :
---------------------------------------------
Private MSN As New MsgrObjectPrivate Sub Form_Load()
Select Case MSN.LocalState
Case MSTATE_ONLINE
optOnline.Value = True
Case MSTATE_BUSY
optBusy.Value = True
Case MSTATE_BE_RIGHT_BACK
optBeRightBack.Value = True
Case MSTATE_AWAY
optAway.Value = True
Case MSTATE_ON_THE_PHONE
optOnThePhone.Value = True
Case MSTATE_OUT_TO_LUNCH
optOutToLunch.Value = True
Case MSTATE_INVISIBLE
optAppearOffline.Value = True
End Select
End SubPrivate Sub optAppearOffline_Click()
MSN.LocalState = MSTATE_INVISIBLE
End SubPrivate Sub optAway_Click()
MSN.LocalState = MSTATE_AWAY
End SubPrivate Sub optBeRightBack_Click()
MSN.LocalState = MSTATE_BE_RIGHT_BACK
End SubPrivate Sub optBusy_Click()
MSN.LocalState = MSTATE_BUSY
End SubPrivate Sub optOnline_Click()
MSN.LocalState = MSTATE_ONLINE
End SubPrivate Sub optOnThePhone_Click()
MSN.LocalState = MSTATE_ON_THE_PHONE
End SubPrivate Sub optOutToLunch_Click()
MSN.LocalState = MSTATE_OUT_TO_LUNCH
End Sub
---------------------------------------------
Açıklama : MSN.LocalState bizim msn imizin durumunun gösterildiği bi kod parçasıdır.Burda bulunan değerler ;
MSTATE_AWAY
MSTATE_BE_RIGHT_BACK
MSTATE_BUSY
MSTATE_IDLE
MSTATE_INVISIBLE
MSTATE_LOCAL_CONNECTING_TO_SERVER
MSTATE_LOCAL_DISCONNECTING_FROM_SERVER
MSTATE_LOCAL_FINDING_SERVER
MSTATE_LOCAL_SYNCHRONIZING_WITH_SERVER
MSTATE_OFFLINE
MSTATE_ON_THE_PHONE
MSTATE_ONLINE
MSTATE_OUT_TO_LUNCH
MSTATE_UNKNOWN 'dır.Listemizdeki Kullanıcıları Görelim (Kullanıcıları ListBox'a Ekleme)
Formumuza;
2 adet Label (name : lblOnlineContacts ve lblOfflineContacts)
2 adet ListBox (name : lstOnlineContacts ve lstOfflineContacts)
1 adet CommandButton (name: cmdRefreshList)
ekliyelim ve aşağıdaki kodları yazalım :
---------------------------------------------
Private MSN As New MsgrObjectPrivate Sub RefreshList()
lstOfflineContacts.Visible = False
lstOnlineContacts.Visible = FalseDim User As IMsgrUser
lstOnlineContacts.Clear
lstOfflineContacts.Clear
For Each User In MSN.List(MLIST_CONTACT)
If User.State = MSTATE_OFFLINE Then
lstOfflineContacts.AddItem (User.EmailAddress)
Else
lstOnlineContacts.AddItem (User.EmailAddress)
End If
NextlstOfflineContacts.Visible = True
lstOnlineContacts.Visible = True
End SubPrivate Sub cmdRefreshList_Click()
If MSN.LocalState <> MSTATE_OFFLINE Then RefreshList
End SubPrivate Sub Form_Load()
cmdRefreshList_Click
End Sub
---------------------------------------------
Açıklama : Formumuz yüklenirken msn listemizdeki kullanıcıları listbox nesnesine eklicek...(Mail adresleri şeklinde.Siz isterseniz bunu kullanıcıların nickleri olarak değiştirebilirsiniz...)Listemdeki Kullanıcılar!Ben Burdayım! (Mesaj gönderme)
Formumuza;
1 adet Label (name : lblOnlineContacts)
1 adet ListBox (name : lstOnlineContacts)
2 adet CommandButton (name: cmdRefreshList ve cmdSendIM)
ekliyelim ve aşağıdaki kodları yazalım :
---------------------------------------------
Private MSN As New MsgrObjectPrivate Sub RefreshList()
lstOnlineContacts.Visible = FalseDim User As IMsgrUser
lstOnlineContacts.Clear
For Each User In MSN.List(MLIST_CONTACT)
If User.State <> MSTATE_OFFLINE Then lstOnlineContacts.AddItem (User.EmailAddress)
NextlstOnlineContacts.Visible = True
End SubPrivate Sub cmdRefreshList_Click()
If MSN.LocalState <> MSTATE_OFFLINE Then RefreshList
End SubPrivate Sub cmdSendIM_Click()
Dim User As IMsgrUser
Dim bstrMsgHeader As String
Dim bstrMsgText As StringIf MSN.LocalState = MSTATE_OFFLINE Then
MsgBox "Oturumunuz Açık Değil!"
Else
If MSN.LocalState = MSTATE_INVISIBLE Then
MsgBox "Durumunuzu Değiştirmeniz Gerekiyor!"
Else
Set User = MSN.CreateUser(lstOnlineContacts.Text, MSN.Services.PrimaryService)
bstrMsgText = InputBox("Lütfen Mesajınızı Giriniz : ?", "Mesaj Girişi", "Merhaba :)", Me.Left, Me.Top)
User.SendText bstrMsgHeader, bstrMsgText, MMSGTYPE_NO_RESULT
MsgBox "Mesajınız " & User.EmailAddress & " 'a " & bstrMsgText & " olarak iletildi."
End If
End If
End SubPrivate Sub Form_Load()
cmdRefreshList_Click
End Sub
---------------------------------------------
Açıklama : lstOnlineContacts (Listbox) da seçilen olan kişiye mesajımız gönderilecektir... -
abi karşımdaki lavuğun pc sini heykırlayabilecekmiyim bunlan

derlerse sana ve sen de bunun msn de şu an kullanabildiğin özelliklerden 1 cm bile farkı yok dersen olmaz şimdi.:)))))))
senın anlattıklarından anladıgım kadarıyla yenı bır msn arayuzu olusturmak oluyor kısısel ve arayuz de degılde wındowsu mouse yerıne calıstırdan kontrol etmek gıbı bır sey oluyor tabı bu kodlara da kıcını yırtarak yazdıgın ve normal msndekı ozellıklerın dısına cıkamadıgın cevapları alıyorsun...
-
aslında dediğin bir bakıma doğru msn özelliklerinin dışına çıkamazsın ama senin hayal gücün oranında şöyleki bir timer içine koyacağın durum kodları ile sürekli online offline olabilir karşı tarafta üst üste şu kullanıcı online oldu penceresi çıkartabilirsin olmadı şu kadar aralıkta nickini değiştiren program yazarsın oda olmadı winamptaki şarkı ismi değiştikçe nickin değişir yada gene bi timer bi buton bi text box ile karşı tarafa msj flood çekersin yani olay aslında senin hayal gücünle alakalı ama genel oalrak bakarsan evet msnin verdiği özellliklerin pekde dışına çıkamazsın
-
kaynak aslnda cok guzel. biraz oynama biraz gelistirmeye
calisirsan cok guzel seyler yapabilirsin. gercekten paylasimin
icin tesekkur ederim... -
Çok güzel bir kaynak.İşime yarayacak.Bu arada merak edenler varsa bu kodlar visual basic için :)
-
Bu arada kodları yazınca şifre geliyo sanmayıkn :))) bu kodlarla bilgisayardaki windows messengeri yönetebilirsiniz denemedim ama belki msnyide onun apilerini ekleyerrek yönetebilirsiniz..
-
kodlar güzel ama böyle kod yazmışın eline bişey geçmez yani... oturup msn9 protocolünü çözüceksin...
bu arada gelen mesajlaır falan almak için msn objesini Private WithEvents MSN As MsgrObject olarak açın... bunu yazan vb falan bilmio
-
enteresan msn inde anasini belliceniz.
bu arada ir2 eywallah otur msn 9 a basla felan :)) -
MSN 7 için titreþim gönderen program
alıntıdır(planet-source-code)
Public WithEvents msn As MessengerAPI.Messenger
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendNudge Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long 'can also be used to send a msg
Private Sub cmd_sendnudge_Click()
If List1.Text = "" Then 'if no contact selected on list then tell the user
MsgBox "Pick a contact first"Else 'if there is a contact selected then
IMWindowHWnd& = FindWindow("IMWindowClass", vbNullString) 'find the convo window
SendNudge IMWindowHWnd&, &H111, &H2B1, 0& 'use the sendnudge function (sends the nudge)
End IfEnd Sub
Private Sub Form_Load()
Set msn = New MessengerAPI.Messenger ' set msn as msnAPI
Dim msncontact As IMessengerContact 'contact stuff
Dim msncontacts As IMessengerContacts
Set msncontacts = msn.MyContactsFor Each msncontact In msncontacts 'start to add all the contact to the list
List1.AddItem (msncontact.SigninName)
Next
End SubBöylede titresim atýlýyo..
-
yaw bunlar planet source alıntı :) bende de var a.q ya alıntı yaz bali
-
arahman bunu yazdı:
yaw bunlar planet source alıntı :) bende de var a.q ya alıntı yaz bali
la yazdım ya en tepeye kocaman :) ii ikincisinede yazim bari..
