2013-02-13 50 views
4

我试图从Skype向我的C#应用​​程序显示未读聊天。我使用int msgCount=skype.MissedMessages.Count来获取未读消息的数量并尝试了给定的功能skype.MissedChats.ToString()skype.get_Message(msgCount).ToString()。但是它们显示“System._ComObject”。有什么建议么???使用C#在Skype上错过了聊天#

+0

“skype.MissedChats”属性的类型是什么? – antonijn 2013-02-13 07:00:00

+0

'ChatCollection'类型 – Sudix 2013-02-13 07:05:23

+0

我得到了答案。 .. 已在此处发布 – Sudix 2013-02-13 11:33:37

回答

4

其实答案很简单,我得到了如下..

  for (int i = 0; i < skype.MissedMessages.Count; i++) 
      { 
       if (skype.MissedMessages[i + 1].Type == TChatMessageType.cmeSaid) 
       { 
        string unreadMessage = skype.MissedMessages[i + 1].Body; 
       } 
      } 

它可以读取其他细节,如发件人姓名skype.MissedMessages[i + 1].Sender

1

我猜想,它会要求您使用索引器来实际显示某个特定聊天消息的内容。现在你将一个ChatCollection转换为一个字符串,我猜测他们没有实现,所以它只返回this.GetType().Name

我猜想,索引会的工作是这样的:

List<string> messages = new List<string>(); 
foreach (Char c in skype.MissedChats) 
{ 
    try 
    { 
     messages.Add(c.Name); 
    } 
    catch (COMException) { } // Invalid chat 
} 
+0

感谢您的回复... Infact MissedChats.Select不可用... – Sudix 2013-02-13 07:17:41

+1

我得到了答案。 。 它在这里发布 – Sudix 2013-02-13 11:34:02