【问题标题】:Implementation of Skype API [duplicate]Skype API 的实现 [重复]
【发布时间】:2025-11-26 21:35:01
【问题描述】:

可能重复:
Skype Addon in C#

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

【问题讨论】:

    标签: c# asp.net api skype


    【解决方案1】:

    更新:不幸的是,文档不再可用。虽然有机会,下面的代码仍然有效,但是微软早就计划从 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");
        }
    }
    

    【讨论】:

    • Skype API 这么好用吗? COM Wrapper 链接不起作用。是您唯一需要下载的东西吗?
    • @yannishristofakis:我更新了链接。请务必查看developer.skype.com 的开发人员文档,其中包含大量有用的信息和示例。
    • 感谢更新链接。伟大的代码示例供某人开始使用。您知道其他信息来源吗?
    • 适用于新版本的Skype - msn?
    • 太棒了,太棒了。你不仅拯救了我的一天,事实上你还拯救了我的 DAYS :)
    【解决方案2】:

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

    regsvr32 C:\Windows\System32\Skype4COM.dll
    

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

    希望这会有所帮助,

    安德鲁

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        <img src="http://mystatus.skype.com/smallclassic/skypename" />
        

        skyname 是您想要显示状态的人。

        为 Skype 的个人资料创建链接

        <a href="skype:skypename?userinfo">Joe Doe's Profile</a>
        

        但如果您想以其他方式进行操作,例如代码隐藏 - 那么这个链接应该提供你需要的所有例子 - 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界面的列表

        希望对你有帮助

        【讨论】: