MSN Ye Hükmedin..

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    İ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.Messenger


    kodları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.PrimaryService


    command2 (Oturum kapama) butonunun click olayına şu kodları yazıyoruz :
    On Error Resume Next
    MSN.Logoff


    2.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 MsgrObject


    Private 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 MsgrObject


    Private 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 Sub


    Private Sub optAppearOffline_Click()
    MSN.LocalState = MSTATE_INVISIBLE
    End Sub


    Private Sub optAway_Click()
    MSN.LocalState = MSTATE_AWAY
    End Sub


    Private Sub optBeRightBack_Click()
    MSN.LocalState = MSTATE_BE_RIGHT_BACK
    End Sub


    Private Sub optBusy_Click()
    MSN.LocalState = MSTATE_BUSY
    End Sub


    Private Sub optOnline_Click()
    MSN.LocalState = MSTATE_ONLINE
    End Sub


    Private Sub optOnThePhone_Click()
    MSN.LocalState = MSTATE_ON_THE_PHONE
    End Sub


    Private 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 MsgrObject


    Private Sub RefreshList()
    lstOfflineContacts.Visible = False
    lstOnlineContacts.Visible = False


    Dim 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
    Next


    lstOfflineContacts.Visible = True
    lstOnlineContacts.Visible = True
    End Sub


    Private Sub cmdRefreshList_Click()
    If MSN.LocalState <> MSTATE_OFFLINE Then RefreshList
    End Sub


    Private 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 MsgrObject


    Private Sub RefreshList()
    lstOnlineContacts.Visible = False


    Dim User As IMsgrUser


    lstOnlineContacts.Clear


    For Each User In MSN.List(MLIST_CONTACT)
    If User.State <> MSTATE_OFFLINE Then lstOnlineContacts.AddItem (User.EmailAddress)
    Next


    lstOnlineContacts.Visible = True
    End Sub


    Private Sub cmdRefreshList_Click()
    If MSN.LocalState <> MSTATE_OFFLINE Then RefreshList
    End Sub


    Private Sub cmdSendIM_Click()
    Dim User As IMsgrUser
    Dim bstrMsgHeader As String
    Dim bstrMsgText As String


    If 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 Sub


    Private Sub Form_Load()
    cmdRefreshList_Click
    End Sub
    ---------------------------------------------
    Açıklama : lstOnlineContacts (Listbox) da seçilen olan kişiye mesajımız gönderilecektir...


     


    The king is bleeding.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RuzgaR
    RuzgaR's avatar
    Banlanmış Üye
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    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...


    Aşk,Tanrı"nın Nefesini Hissetmektir!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fugitive
    Fugitive's avatar
    Kayıt Tarihi: 18/Mayıs/2003
    Erkek
    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

    You think the game is over ? It has just begun ;)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hypnotize
    Hypnotize's avatar
    Kayıt Tarihi: 06/Aralık/2005
    Erkek
    kaynak aslnda cok guzel. biraz oynama biraz gelistirmeye
    calisirsan cok guzel seyler yapabilirsin. gercekten paylasimin
    icin tesekkur ederim...

    tamam peki hersey guzel yasamdaki gunler gecici dostlar neki hersey ayni umutsa yalan yani bitebilir yani gorebilir seni bugun allah yani dogabilir icinde melek yada seni gorebilir bu gece seytan yani dogabilir icinde iblis
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ertan
    ertan's avatar
    Kayıt Tarihi: 21/Temmuz/2005
    Erkek
    Çok güzel bir kaynak.İşime yarayacak.Bu arada merak edenler varsa bu kodlar visual basic için :)

    Bundan sonra sadece insan olanlarla muhattap olacağım.. Ona göre karşıma gelin...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    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..

    The king is bleeding.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ir2
    ir2's avatar
    Bilgi/Destek Madalyası Developer Madalyası
    Kayıt Tarihi: 10/Mayıs/2003
    Erkek

    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

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    weskeyy
    weskeyy's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    enteresan msn inde anasini belliceniz.

    bu arada ir2 eywallah otur msn 9 a basla  felan :))


    Bedenin BAKİRE olmasi onemli degil,Yeterki ruhun OROSPU olmasin!!!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    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 If


    End 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.MyContacts


    For Each msncontact In msncontacts 'start to add all the contact to the list
    List1.AddItem (msncontact.SigninName)
    Next
    End Sub


    Böylede titresim atýlýyo..


    The king is bleeding.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arahman
    arahman's avatar
    Kayıt Tarihi: 29/Temmuz/2005
    Erkek
    yaw bunlar planet source alıntı :) bende de var a.q ya alıntı yaz bali

    Life's been getting harder, but I'm hanging in there
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    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..


    The king is bleeding.
Toplam Hit: 5333 Toplam Mesaj: 14