用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 程序开发教程 > Visual Basic教程 > Visual Basic开发技巧 > 文章正文
VB中调用MSN 6.2 API函数
iTbulo.COM 2006-8-14 天极Yesky()
了解这方面内容的起因是早上有位朋友让我看一段关于MSN开发程序,现在无法运行,我打开工程发现是针对4.7编写的,而他的计算机安装的6,2,因为我也用6.2所以我在VB中查看了一下,发现是缺少Messenger Type Library。但是多了Messenger API Type Library,可能是做为Messenger Type Library的替代,但是发现它的功能不如以前的Messenger Type Library 全面,起码我现在就发现它不能修改本地的MyFriendlyName,不明白为什么把它弄成只读的,MyStatus是可写。

  下面简单用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

 

[1] [2] 下一页

文章搜索
相关资讯
相关文章 相关下载
利用VB6.0实现五线谱作曲工具
VB中数据集合对象的应用
使用.NET2.0编写COM组件供VB调用
VB实现动态调用含DateTime类型存储过程
借用VB的My,C#照样条条大路通罗马
焦点信息