在Vs.net中使用MSN即时通讯软件(下) 选择自 adonis2222 的 Blog

接收消息

     判断有新消息的方法就是接收的内容是否为“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外接程序其实是一件很容易的事情,你可以由此创建出更多富有创造性的外接程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值