Skype API的实现

14

如何在C#中实现Skype API以访问用户信息?

可能是重复问题:
C#中的Skype插件

4个回答

24

更新:遗憾的是,文档已不再提供。但以下代码仍可能有效,但据我所知,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");
    }
}

使用Skype API真的很容易吗?“COM Wrapper”链接无法使用。这是您唯一需要下载的东西吗? - giannis christofakis
1
@yannishristofakis:我更新了链接。确保也查看https://developer.skype.com/上的开发人员文档,其中包含大量有用的信息和示例。 - Dirk Vollmar
感谢您更新链接。这是一个很好的代码示例,适合初学者入门。您知道其他信息来源吗? - giannis christofakis
适用于新版本的Skype和MSN吗? - Kiquenet
我刚刚从https://skype.codeplex.com/releases/view/21482下载了该库。 - Jack
显示剩余5条评论

5

需要说明的是,下载Skype4COM.dll后,您可能需要使用regsvr32注册该dll文件。这样,在Visual Studio中,您就可以将.dll文件添加为已识别的COM组件!

regsvr32 C:\Windows\System32\Skype4COM.dll

例如,您将收到一个弹出窗口,指示它已成功注册,并且现在在您的IDE中,在“COM”选项卡下的“添加引用”中,您将看到Skype库。

希望这可以帮助您,

安德鲁


4

3

如果你想从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);
}

您可以在https://developer.skype.com/Docs/Skype4COMLib/IUser找到所有IUser界面的列表。
希望这能帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接