2016-08-20 6 views
0

나는 skypebot을 짓고 있어요 그리고 난이에 대한두 번

 private void Form1_Load(object sender, EventArgs e) 
    { 
     client = new Skype(); 
     client.MessageStatus += Client_MessageStatus; 
     AttachToSkype(); 
    } 
     private void Client_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status) 
    { 
     MessageBox.Show(pMessage.Sender.Handle + " Says: " + pMessage.Body); 
    } 

감사를 사용하여 코드의 메신저가 2 배

메시지를 수신하고있어 왜 내가 알아낼 수 없습니다 이봐 당신 time -Tristan

+0

어떻게 든'MessageStatus' 이벤트는 여러 번 구독한다고 생각합니다. 어떤 일이 있어서는 안된다. 작업이 끝나면이 이벤트를 '탈퇴'해보십시오. – Venky

+0

"AttachToSkype"기능이란 무엇입니까? – Jauch

+0

@Jauch 그것은 skype가 열려 있는지 확인하고 첨부하려고합니다. – Tristan

답변

0

MessageStatus 이벤트는 메시지의 상태가 변경 될 때마다 호출됩니다.
TChatMessageStatus를 확인해야합니다. cmsReceived이어야합니다.

private static void Skype_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status) 
{ 
     if (Status != TChatMessageStatus.cmsReceived) return; 

     MessageBox.Show(pMessage.Sender.Handle + " Says: " + pMessage.Body); 
}