Implementation of Skype API [duplicate]

UPDATE: Unfortunately, the documentation is no longer available. There is a chance though, that the below code still works, but afaik Microsoft has long planned to remove support for COM automation from Skype.


It is probably easiest to download and install the Skype API COM Wrapper.

Then you can simply add a reference to this wrapper from the COM tab of the Add References dialog in your Visual Studio project.

Below is a short sample program illustrating how to search for a user and how to send a message:

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

Just to point out here. After downloading the Skype4COM.dll you will probably need to use regsvr32 to register the dll, that way inside Visual Studio you can add the .dll as a recognised COM Component!

regsvr32 C:\Windows\System32\Skype4COM.dll

for example, you will get a popup indicating it successfully registered it, and now back in your IDE, inside the Add Reference under the COM Tab you will see the Skype Library.

Hope this helps,

Andrew