如何在C#中实现Skype API以访问用户信息?
可能是重复问题:
C#中的Skype插件
更新:遗憾的是,文档已不再提供。但以下代码仍可能有效,但据我所知,Microsoft早已计划从Skype中删除对COM自动化的支持。
最简单的方法可能是下载并安装Skype API的COM包装器。
然后,您可以在Visual Studio项目的“添加引用”对话框中的COM选项卡中添加对此包装器的引用。
下面是一个简短的示例程序,说明如何搜索用户以及如何发送消息:
using System;
using SKYPE4COMLib;
class Program
{
static void Main(string[] args)
{
Skype skype = new Skype();
if (!skype.Client.IsRunning)
{
// start minimized with no splash screen
skype.Client.Start(true, true);
}
// wait for the client to be connected and ready
skype.Attach(6, true);
// access skype objects
Console.WriteLine("Missed message count: {0}", skype.MissedMessages.Count);
// do some stuff
Console.WriteLine("Enter a skype name to search for: ");
string username = Console.ReadLine();
foreach (User user in skype.SearchForUsers(username))
{
Console.WriteLine(user.FullName);
}
Console.WriteLine("Say hello to: ");
username = Console.ReadLine();
skype.SendMessage(username, "Hello World");
}
}
需要说明的是,下载Skype4COM.dll后,您可能需要使用regsvr32注册该dll文件。这样,在Visual Studio中,您就可以将.dll文件添加为已识别的COM组件!
regsvr32 C:\Windows\System32\Skype4COM.dll
希望这可以帮助您,
安德鲁
如果你想从ASP.NET访问特定用户的状态。
那么,你想知道那个人是否可用。在此URL中添加图像链接。
<img src="http://mystatus.skype.com/smallclassic/skypename" />
在此处的skyname是您想要显示状态的人。
为Skype个人资料创建链接
<a href="skype:skypename?userinfo">Joe Doe's Profile</a>
但是如果您想采用其他方式,例如Code-Behind,则此链接应该提供所需的所有示例 - https://developer.skype.com/Docs/Skype4COM/Example?action=show
IUserCollection iusercollection = skype.SearchForUsers("echo123");
if (iusercollection.Count > 0)
{
Console.WriteLine(iusercollection[0].FullName);
}