2012-10-20 146 views
2

我正在使用Skype API。当我的应用程序启动时,我检查一下Skype是否真的在运行。检查用户是否登录到Skype

foreach (Process p in System.Diagnostics.Process.GetProcessesByName("skype")) 
{ 
    return true; 
} 

现在我想检查用户是否已登录Skype。我怎样才能检查这个?

+0

呃......到目前为止,你并没有真正使用Skype API中的任何东西。您是否检查过文档或API中公开的内容? – LightStriker

+0

@pwn建立@马克的回答,使用这个'bool userLoggedIn = skype.CurrentUserStatus!= TUserStatus.cusLoggedOut;' – Nasreddine

回答

4

下载Skype API以检查...因为好奇心。其实惊讶有多少东西是暴露的。

Skype skype = new Skype(); 
// Return true if Skype is running. 
if (!skype.Client.IsRunning) 
    return; 

// User is not logged in. 
if (skype.CurrentUserStatus == TUserStatus.cusLoggedOut) 
    return; 

// Friends 
foreach(User user in skype.Friends) 
{ 
    if (user.OnlineStatus == TOnlineStatus.olsOnline) 
    { /*Insert what you want...*/ } 

} 

请注意,Skype会首先询问您是否要让特定的插件访问它。

+0

@Jutras我想检查是否有人已经登录到Skype或不? – Pawan

+0

任何在...任何人在整个Skype数据库或您的朋友列表中的任何人?对不起,但我不明白你的问题。你能改述一下吗? – LightStriker

+0

@Jutras假设Skype正在计算机上运行,​​我想检查anypne是否登录到Skype,或者它没有任何人登录运行 – Pawan