2011-02-23 70 views

回答

6

首先你必須在從COM引用標籤在你的項目中添加一個參考SKYPE4COMLib,然後確保你的apllication將被建造爲86終於嘗試使用此代碼段:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using SKYPE4COMLib; 

namespace Example 
{ 
    class SkypeExample 
    { 
     static void Main(string[] args) 
     { 
      SkypeClass _skype = new SkypeClass(); 
      _skype.Attach(7, false); 

      IEnumerable<SKYPE4COMLib.User> users = _skype.Friends.OfType<SKYPE4COMLib.User>(); 

      users 
       .Where(u => u.OnlineStatus == TOnlineStatus.olsOnline) 
       .OrderBy(u => u.FullName) 
       .ToList() 
       .ForEach(u => Console.WriteLine("'{0}' is an online friend.", u.FullName)); 

      Console.ReadKey(); 
     } 
    } 
} 

希望這有助於。

1

我在@Ginkas代碼中遇到了一些問題。我發現下面的代碼here並且像魅力一樣工作。此外,如果我沒記錯的話,我實例化Skype()而不是SkypeClass()。如果你玩耍,你應該只有你的朋友狀態活躍。希望能幫助到你。

try 
    { 
     for (int i = 0; i < skype.HardwiredGroups.Count; i++) 
      if (skype.HardwiredGroups[i + 1].Type == TGroupType.grpAllFriends) 
      { 
       for (int j = skype.HardwiredGroups[i + 1].Users.Count; j > 0; j--) 
        Console.WriteLine(skype.HardwiredGroups[i + 1].Users[j].Handle); 

       break; 
      } 
    } 
    catch (Exception e) 
    { 
     Console.WriteLine("Display Friends Group Error- Exception Source: " + e.Source + " - Exception Message: " + e.Message); 
    }