Windows Messebger 5.1API开发

  一,在.net中添加API的引用

1, 在解决方案资源管理器中。右键单击属性,选择“添加引用”

2, 选择“com”选项卡,选择“Messenger API Type Library

3, 在引用的下面会出现“MessgerAPI”组件

二,添加用户列表(有两种方法)

1, 通过“文件”->“从已保存的文件中导入联系人”,文件格式为*.ctt,格式如下:

<?xml version="1.0"?>

<messenger>

 <service name="Microsoft RTC Instant Messaging">

    <contactlist>

      <contact>hxuedong@nmdsy.com</contact>

      <contact>cyaodong@nmdsy.com</contact>

      <contact>sjianli@nmdsy.com</contact>

      <contact>fdg@nmdsy.com</contact>

    </contactlist>

 </service>

</messenger>

遗憾的是,在这里不能建立分组。这也是推荐的方法。

2, 通过API函数添加,再辅以键盘函数实现

 1),建立一个txt文件,每行是一个邮箱名称

hxuedong@nmdsy.com

cyaodong@nmdsy.com

2)循环读取txt文件,并调用以下函数

MessengerAPI.MessengerClass g1=new MessengerAPI.MessengerClass();//.MessengerNativeClass();

g1.AddContact(0,邮箱名);

     System.Windows.Forms.SendKeys.Send('\r'.ToString());//调用键盘的API函数(相当于点击回车)

     System.Windows.Forms.SendKeys.Send('\r'.ToString());//调用键盘的API函数(相当于点击回车)

不推荐此种方法

二,通过API函数发信息

MessengerAPI.Messenger m1=new MessengerAPI.MessengerClass();//实例化API

MessengerAPI.IMessengerWindow m_Window;

object contact=m1.GetContact(目的邮箱名,"");//得到对方用户的Contact       

m_Window=(MessengerAPI.IMessengerWindow)m1.InstantMessage(contact);//打开通新对话窗口

              if(m_Window.IsClosed)

              {

                   m_Window.Show();

              }

                    

              System.Windows.Forms.SendKeys.Send("使用程序发的信息");//发信息

              System.Windows.Forms.SendKeys.Send('\r'.ToString());//模拟回车

            System.Windows.Forms.SendKeys.Send('\r'.ToString());//模拟回车

三,应用场合

       和应用系统结合,Server端通过Messenger向客户端发提示信息,缺点是在server端安装Windows Messenger,并且不能锁定键盘(因为必需模拟键盘)。由于Messger的后台库不公开,只有出此下策拉。

posted on 2006-12-08 17:34  网络小贩  阅读(1063)  评论(1编辑  收藏  举报

导航