Windows Messebger 5.1API开发
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文件,每行是一个邮箱名称
(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的后台库不公开,只有出此下策拉。