【发布时间】:2011-02-23 22:16:58
【问题描述】:
有什么方法可以让所有用户朋友都使用带有 C# 的 Skype? 还有我怎样才能活跃起来(在线朋友)。
【问题讨论】:
有什么方法可以让所有用户朋友都使用带有 C# 的 Skype? 还有我怎样才能活跃起来(在线朋友)。
【问题讨论】:
首先您必须在项目的 COM 引用选项卡中的 SKYPE4COMLib 处添加一个引用,然后确保您的应用程序将构建为 x86 最后尝试使用此代码 sn-p:
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();
}
}
}
希望这会有所帮助。
【讨论】:
我在使用@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);
}
【讨论】: