2011-02-23 5 views

Répondre

6

Vous devez d'abord ajouter une référence à SKYPE4COMLib de l'onglet de référence COM sur votre projet, assurez-vous que votre apllication sera rebâtie comme x86 enfin essayer d'utiliser cet extrait de code:

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(); 
     } 
    } 
} 

Espoir CA aide.

1

J'ai eu quelques problèmes avec le code @Ginkas. J'ai trouvé le code ci-dessous here et fonctionne comme un charme. Aussi, si je me souviens bien, j'instancie Skype() au lieu de SkypeClass(). Si vous jouez autour de vous, vous devriez obtenir seulement vos amis avec le statut actif. J'espère que cela aide.

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); 
    }