14

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

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

4

4 回答 4

24

更新:不幸的是,文档不再可用。虽然有机会,下面的代码仍然有效,但是微软长期以来一直计划从 Skype 中删除对 COM 自动化的支持。


下载和安装 Skype API COM Wrapper可能是最简单的。

然后,您可以简单地从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");
    }
}
于 2009-08-11T12:22:12.373 回答
5

只是在这里指出。下载 Skype4COM.dll 后,您可能需要使用 regsvr32 来注册 dll,这样您就可以在 Visual Studio 中将 .dll 添加为可识别的 COM 组件!

regsvr32 C:\Windows\System32\Skype4COM.dll

例如,您将看到一个弹出窗口,表明它已成功注册,现在回到您的 IDE,在 COM 选项卡下的添加引用中,您将看到 Skype 库。

希望这可以帮助,

安德鲁

于 2009-08-11T12:47:07.730 回答
4

主要的 Skype 下载站点不再存在,这是一个镜像:

https://sites.google.com/site/appanalyzecomponent/skype4com

于 2011-01-06T12:55:18.987 回答
3

如果您的意思是从 ASP.NET 访问特定用户的状态。

所以,你想知道那个人是否有空。将图片链接添加到此网址。

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

所有 IUser 界面的列表可以在https://developer.skype.com/Docs/Skype4COMLib/IUser找到

希望这可以帮助

于 2009-08-11T12:58:36.300 回答