我一直在浏览Skype dev API,并且想知道是否有一种方法可以让我知道Skype是否正在通过某些API运行活动呼叫。
Skype.Client.IsRunning告诉Skype应用程序本身是否正在运行,还有其他几个api知道不同的东西,如通话记录等,但我找不到办法知道是否有Skype通话目前。
任何帮助将不胜感激。
答案 0 :(得分:1)
因为您没有指定您尝试使用哪种语言来表示我在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();
}
}
}
请注意,此代码不包含任何清理/错误处理。
希望这有帮助。
答案 1 :(得分:1)
另一个选择是使用skype命令:http://dev.skype.com/desktop-api-reference#OBJECT_CALL
答案 2 :(得分:0)