在Vs.net中使用MSN即时通讯软件(下)

接收消息

判断有新消息的方法就是接收的内容是否为“text”类型,代码如下

private void OnTextRecieved(Messenger.IMsgrIMSession s,
Messenger.IMsgrUser u, string header, string text,
ref bool default)
{
if(header.IndexOf("Content-Type: text/plain") != -1 &&
u.FriendlyName != "Hotmail")
{
messageWindow.AppendText(u.FriendlyName + ": " + text + "\r\n");
CurrentUser = u;
default = false;
}
}

发送消息

将你要发送的消息输入到“编辑”框,然后点“发送”按钮,“编辑”框中的内容将由如下代码发送出去:

private static string header =
"MIME-Version: 1.0\r\nContent-Type: text/plain;" +
"charset=UTF-8\r\nX-MMS-IM-Format: " +
"FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0\r\n\r\n";

private void send_Click(object sender, System.EventArgs e)
{
CurrentUser.SendText(header, this.sendText.Text,
Messenger.MMSGTYPE.MMSGTYPE_ALL_RESULTS);

messageWindow.AppendText("You say: " + sendText.Text + "\r\n");
}

更新联系人的状态

我在ListView中使用了不同的图标来表示联系人相应的状态。当调用构造函数的时候,联系人的状态被第一次设置。当联系人状态改变的时候则调用OnUserStatusChanged() 事件,更新联系人的状态。

private void OnUserStateChanged(Messenger.IMsgrUser user,
Messenger.MSTATE state, ref bool default)
{
for(int i = 0; i < Users.Count; i++)
{
if(user == Users.Item(i))
{
ListViewItem item = userList.Items[i];
item.ImageIndex = GetStateImage(user.State);
}
}
}

小结

我希望大家会对这篇文章感兴趣,通过这篇文章我们也了解了MSN的一小部分功能。MSN还有很多其他的功能等我们去挖掘。Ok,现在我们知道了创建Vs.net外接程序其实是一件很容易的事情,你可以由此创建出更多富有创造性的外接程序。

时间: 2024-12-23 04:06:13

在Vs.net中使用MSN即时通讯软件(下)的相关文章

对QQ、msn等即时通讯软件(IM)的定性研究解密

此文资料分享出来想强调的是系统的设计逻辑,看到很多人都在这边那边大多特说,没有一个系统的设计逻辑,事实上心里面这些都要有谱的,相信qq也好.msn也好都会慢慢形成自己的体系的.而当今自己在做产品的时候,是不是仅仅觉得别人长了什么样,就去copy照样做成什么样呢?可谓有形没有形也是种杯具,更何况每个公司的战略不一样商业或利益侧重也不一样,这也需要产品经理去考虑和反思的. 一.引言 IM 主要被人们用于私人之间的日常交流和保持联系.除此以外,IM 被广泛地应用于办公领域,如讨论问题.协商工作日程等[

用AM即时通讯软件有效构建企业内部通讯平台

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   建立快捷.畅通.可控的企业内部通讯环境,已经成为现时很多大中型企业的基本任务.原先企业内部通讯大多采用:内线电话.内部邮件.公共消息系统QQ或MSN.随着通讯技术的发展与企业内沟通协同需求提升,有必要全面的来构架企业内部通讯平台. 企业内部通讯:传统的电话.邮件会继续被延续下去. 而企业内部通讯不太适合使用QQ或MSN 首先QQ和MSN对于企业内部控制不利,因工

中国即时通讯软件的数据

根据相关数据显示,2010年9月的时候,腾讯QQ每天的覆盖人数环比增长1.4%至1.6亿人,网民到达率高达73.6%,在即时通讯软件中具有绝对领先优势:阿里旺旺.飞信和MSN三者还是除腾讯QQ之外,用户较长使用的即时通讯软件.飞信日均覆盖人数环比增长6.4%至2140万人,是第三名. 艾瑞iUserTracker最新数据显示,2010年9月,腾讯QQ有效使用时间环比下降4.1%至28亿小时,占总有效使用时间的88%,稳居即时通讯软件首位.阿里旺旺.飞信有效使用时间分别环比增长0.4%和13.2%

启迪国信中标邮储银行即时通讯软件替代项目

近日,国际领先的企业安全移动解决方案提供商启迪国信宣布,成功中标中国邮政储蓄银行(以下简称:邮储银行)即时通讯软件替代项目.在该项目中,启迪国信NQSky BeTalk 企业移动协同通信平台将完成对邮储银行既有即时通讯软件的替代,为邮储银行十万用户提供移动协同能力的支撑.该项目为目前国内最大的私有化即时通讯平台. 邮储银行是中国领先的大型零售银行,定位于服务社区.服务中小企业.服务"三农",致力于为中国经济转型中最具活力的客户群体提供服务.目前,邮储银行拥有营业网点近四万个,服务个人客

即时通讯软件市场“换代”趋势明显

摘要: 即时通讯(IM)软件的始祖是ICQ,这是由三个年轻人开发出来的聊天软件,在推出来后很快赢得了全球用户的欢心.随后,雅虎.微软.腾讯等均推出了类似的产品.经过了16年的发展,即 即时通讯(IM)软件的始祖是ICQ,这是由三个年轻人开发出来的聊天软件,在推出来后很快赢得了全球用户的欢心.随后,雅虎.微软.腾讯等均推出了类似的产品.经过了16年的发展,即时通讯软件市场"换代"趋势明显.ICQ早已没落,MSN被微软舍弃,将在明年初与skype合并,仅在中国大陆残喘.腾讯QQ则有了近8亿

百度的即时通讯软件公测在即

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2月29日,一封外传的内部员工邮件揭开了百度即时通讯软件的神秘面目:名为"百度Hi"的IM已于近日开发完成,进入了内部测试阶段.百度即时通讯软件终于从谣言变成传言,再从传言变成了"Hi". [百度证实] Hi进入扫尾阶段 公测在即 "根据互联网软件的研发流程,新产品启动内测就说明软件的研发已经进入扫尾阶段,离正式公测的时间不远了".谈及"Hi"正式和公众的见面时间,百度方面不愿给

C++ Builder中如何保持控件的位置及大小

C++ Builder/Delphi是Inprise(原Borland)公司广受欢迎的可视化C++/Pascal开发工具,利用它可极大地加快应用程序的开发速度.但是,也正因为其是可视化编程工具,将控件拖放到Form后,控件的位置就固定死了.随着Form的大小或屏幕分辨率的改变,控件和Form本身的位置往往变得非常混乱.本文将介绍一些正确定位控件及Form的方法. 利用OnResize事件改变控件位置及大小 C++ Builder/Delphi中的Form控件有一个OnResize事件,Form的

Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断

问题描述 Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断 xAxis: { tickmarkPlacement: ""on"" type: 'datetime' tickInterval: [<%=num %>] categories: [<%=lastModifyTime %>] } xAxis中 categories数据会被截断的问题怎么解决 解决方案 ASP.NET中通过WebService获取数

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件 为什么会需要这样子的一种方法来实现隐藏或者显示一个cell中的某些控件呢? 其实,隐藏cell中某些控件可以直接在tableView:cellForRowAtIndexPath:方法中直接实现,我们需要判断外部变量比如bool值来决定是否显示这个控件,但需要额外的代码写在tableView:cellForRowAtIndexPath:方法当中,如果我们把bool值传递给该cell让其自己判断是否