VB中調(diào)用MSN6.2API函數(shù)

字號:

下面簡單用VB距離說明怎么調(diào)用它:
    首先當然是引用對象Messenger API Type Library了。
    然后聲明一個對象MessengerAPI.Messenger:
    Private WithEvents oMSN As MessengerAPI.Messenger
    我們需要的東西都在這里邊,簡單介紹幾個:
    MyContacts:IMessengerContacts 對象
    MyFriendlyName: 當前的昵稱
    MyGroups: IMessengerGroupss對象
    MyPhoneNumber:返回電話號碼
    MyProperty:現(xiàn)在沒有使用
    MyServiceId :返回Service id應(yīng)該是{9b017612-c9f1-11d2-8d9f-0000f875c541}]
    MyServiceName:返回Service name應(yīng)該是 .NET Messenger Service
    MySigninName:返回當前的簽名,eMail地址
    MyStatus:返回當前狀態(tài),MISTATUS枚舉值
    其實本地屬性和通過PrimaryService得到的一樣
    做幾個簡單的演示:
    首先是登陸演示,使用MessengerAPI.Messenger的 SignIn 或者AutoSignin方法:
    Public Sub SignIn(ByVal bAuto As Boolean, Optional ByVal sSignInName As String,   Optional ByVal sPassword As String)
    On Error GoTo ErrorHandle
    If bAuto = True Then
    oMSN.AutoSignin
    Else
    ManualSignIn:
    oMSN.SignIn 0, sSignInName, sPassword
    End If
    Exit Sub
    ErrorHandle:
    Dim MConstants As MSGRConstants
    MConstants = err.Number
    If MConstants = MSGR_E_FAIL Then
    GoTo ManualSignIn
    ElseIf MConstants = MSGR_E_ALREADY_LOGGED_ON Then
    ’已經(jīng)登陸
    End If
    End Sub
    獲取全部用戶列表:
    通過Messenger的MyContacts對象(它是只讀的)
    它其實就是一個IMessengerContacts對象,而IMessengerContacts類又是IMessengerContact類的一個集合,在IMessengerContact中保存聯(lián)系人信息。
    因此可以這樣遍歷聯(lián)系人。
    Dim oContacts As IMessengerContacts
    Dim oContact As IMessengerContact
    Dim iCount As Integer
    Dim i As Long
    Set oContacts = oMSN.MyContacts
    iCount = oContacts.Count
    For i = 0 To iCount - 1
    Set oContact = MsgrContacts.Item
    List1.AddItem MsgrContact.FriendlyName & vbTab & "(" & getStatusDesc(MsgrContact.Status) & ")"
    Next