![]() ![]() |
|
VisualBasic中调用MSNAPI函数 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/9 21:49:47 文章录入:杜斌 责任编辑:杜斌 | |
|
|
下面简单用VB具体说明怎么调用它: 首先当然是引用对象Messenger API Type Library了。 然后声明一个对象MessengerAPI.Messenger。 Private WithEvents oMSN As MessengerAPI.Messenger 我们需要的东西都在这里边,简单介绍几个: MyContacts:IMessengerContacts 对象 MyFriendlyName: 当前的昵称 MyGroups: IMessengerGroupss对象 MyPhoneNumber:返回电话号码 MyProperty:现在没有使用 MyServiceId :返回Service id应该是{9b017612-c9f1-11d2-8d9f-0000f875c541}] MyServiceName:返回Service name应该是 .net Messenger Service MySigninName:返回当前的签名,eMail地址 MyStatus:返回当前状态,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 ’已经登陆 End If End Sub 获取全部用户列表: 通过Messenger的MyContacts对象(它是只读的) 它其实就是一个IMessengerContacts对象,而IMessengerContacts类又是IMessengerContact类的一个集合,在IMessengerContact中保存联系人信息。 因此可以这样遍历联系人。 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 |
|
![]() ![]() |