C#でSkype API COM Wrapper プログラミング

  1. まず,ここhttp://www.geocities.com/skypeapi/?200415からzipで固まったdllをダウンロード.現状の最新は,http://www.geocities.com/skypeapi/SkypeAPI_1007.zipです.
  2. 解凍したSkypeAPI.dllをシステムディレクトリに移動.ここではC:\windows\system32\SkypeAPI.dllとします.
  3. dllをシステムに登録.
regsvr32 SkypeAPI.dll 

これで上のサイトにあるVBで作られたサンプルが動くようになります.

  1. csharpでプログラムを作成.ここではC:\scripts\csharp\skypeapi.csとします.
// skypeapi.cs
//   TlbImp \windows\system32\SkypeAPI.dll
//   csc /r:SKYPEAPILib.dll skypeapi.cs

using System;
using System.Text;
using SKYPEAPILib;

public class MyApp{

	public static void Main(string[] args){
		Access ao = new Access();
		ao.Connect();

		foreach (User user in ao.GetFriendList()){
			Console.WriteLine(user.DisplayName);
			Console.WriteLine(user.Handle);
			Console.WriteLine("{0:g}", user.LastOnline);
		}
	}
}
  1. 次に,C:\scripts\csharpで,COMタイプライブラリからマネージドアセンブリを作成します.
TlbImp \windows\system32\SkypeAPI.dll

(書いててよくわからないけど,

C#エッセンシャルズ 第2版

C#エッセンシャルズ 第2版

にそうある) すると,C:\scripts\csharp\SKYPEAPILib.dllというファイルができます.

  1. んで,cscを使ってコンパイル
csc /r:SKYPEAPILib.dll skypeapi.cs
<
します.これでskypeapi.exeができるので起動すると,コンタクトリストに載っているユーザが最後にオンライン状態になっていた時間を表示します.起動時にはskypeから「誰かアクセスしようとしてるけど,許可してよいのか?」みたいなメッセージが英語で出てくるので許可しておいてください.