2013-02-13 46 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