2013-03-13 18 views
5

Przeglądam już od dawna interfejsy API Skype'a i chcę wiedzieć, czy istnieje sposób, dzięki któremu mogę się dowiedzieć, czy Skype wykonuje aktywne połączenie przez jakiś interfejs API .Jak sprawdzić, czy jest aktywne wywołanie skype na komputerze stacjonarnym

Skype.Client.IsRunning mówi, czy sama aplikacja Skype jest uruchomiona czy nie, a jest kilka innych apisów, które znają różne rzeczy, takie jak historia połączeń itd., Ale nie mogłem znaleźć sposobu na sprawdzenie, czy jest połączenie z Skype aktywne obecnie.

każda pomoc byłaby bardzo doceniana.

+1

IIRC, skype ma konkretny port, z których korzysta, można powąchać na to (myślę Wireshark), aby zobaczyć, czy jest aktywność – KevinDTimm

+0

skype losowo wybiera port powyżej 1024 do podłączenia . https://support.skype.com/en/faq/FA148/which-ports-need-to-be-open-to-use-skype-for-windows-desktop – Sumant

+0

'Podczas instalacji skype wybierany jest losowy port dla połączeń przychodzących' - więc gdy już poznasz ten port, możesz podsłuchiwać połączenia przychodzące. – KevinDTimm

Odpowiedz

1

ponieważ nie określono, w jakim języku próbujesz acomplish że jestem delegowania próbki w C#:

using System; 
using System.Windows.Forms; 
using SKYPE4COMLib; 

namespace SkypeTest 
{ 
    public partial class Form1 : Form 
    { 
     private ISkype _skype; 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      _skype = new SkypeClass(); 

      var events = (_ISkypeEvents_Event) _skype; 
      events.CallStatus += (call, status) => 
      { 
       System.Diagnostics.Debug.WriteLine(call.PartnerHandle); 

       Action<object, object> a = (partner, sta) => 
       { 
        textBox1.Text = partner.ToString() + " " + sta.ToString(); 
       }; 
       textBox1.Invoke(a, call.PartnerDisplayName, status.ToString()); 
      }; 
      _skype.Attach(); 
     } 
    } 
} 

Należy pamiętać, że kod ten nie obejmuje żadnej oczyścić manipulację/błędzie.

Mam nadzieję, że to pomoże.

+0

niesamowite! to wszystko, czego potrzebowałem :) – Sumant

Powiązane problemy