Skype API (Skype4COM) その03
Skype4COMで特定のユーザーオブジェクト取得は以下のようにして可能
// Skype接続 axSkype1.Attach(); // ユーザーオブジェクト取得 SKYPE4COMLib.User User= axSkype1.get_User("ユーザー名");
実際には以下のような使い方してみました。
○リストボックスから選択したユーザーの情報を表示する
using SKYPE4COMLib; public partial class Form1 : Form { public Form1() { // Skype接続 axSkype1.Attach(); } private void Form1_Load(object sender, EventArgs e) { //リストボックスにコンタクトリストを表示 foreach (User oUser in axSkype1.Friends) { listBox1.Items.Add(oUser.Handle); } } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { //選択されたユーザーの情報を表示 // リストボックスで選択されたユーザー取得 object oItem = listBox1.SelectedItem; if (oItem != null) { // ユーザーオブジェクト取得 User oSelectedUser = axSkype1.get_User(oItem.ToString()); // Skype名表示 label1.Text = ": " + oSelectedUser.Handle; // Skype表示名表示(コンタクトリスト表示名) label2.Text = ": " + oSelectedUser.FullName; // オンライン状態表示 switch (oSelectedUser.OnlineStatus) { case TOnlineStatus.olsUnknown: label3.Text = ": 不明"; break; case TOnlineStatus.olsOffline: label3.Text = ": オフライン"; break; case TOnlineStatus.olsOnline: label3.Text = ": オンライン"; break; case TOnlineStatus.olsAway: label3.Text = ": 一時退席中"; break; case TOnlineStatus.olsNotAvailable: label3.Text = ": 退席中"; break; case TOnlineStatus.olsDoNotDisturb: label3.Text = ": 取り込み中"; break; case TOnlineStatus.olsSkypeOut: label3.Text = ": SkypeOut"; break; case TOnlineStatus.olsSkypeMe: label3.Text = ": SkypeMe"; break; default: label3.Text = ": "; break; } } } }