SkypeのチャットメッセージをVB.NETで受信

投稿日 : 2008年12月2日 23:50

 とりあえず動くものを作ってみました。簡単ですがはまった……w

 Skype APIは更新されていないイメージですがどうなんでしょう。調べていません。とりあえず以下の内容でSkype3.8.0と合わせて動きました。

 まず、Docs/Skype4COM - Skype Developer Zone からSkype4COMをダウンロードします。バージョンは、1.0.28でした。

 VB.NETのプロジェクトでSkype4COM.dllの参照を追加します → Interop.SKYPE4COMLib.dllとしてコピーされる。

 コードにて、

Private WithEvents Skype As SKYPE4COMLib.Skype

Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Skype = New SKYPE4COMLib.Skype
    If Not Skype.Client.IsRunning Then
        ' 起動していない
    End If
    Skype.Attach(7, False)
End Sub

 こんな感じでオブジェクトを生成、利用。

 メッセージ受信時にはMessageStatusイベントが発生するようです。あとはフィーリングで。

Private Sub Skype_MessageStatus(ByVal pMessage As SKYPE4COMLib.ChatMessage, ByVal Status As SKYPE4COMLib.TChatMessageStatus) Handles Skype.MessageStatus

    If Status = SKYPE4COMLib.TChatMessageStatus.cmsReceived OrElse _
       Status = SKYPE4COMLib.TChatMessageStatus.cmsSending Then

        Dim line = String.Format("{0} {1} {2}: {3}", pMessage.Chat.FriendlyName, pMessage.Timestamp, pMessage.FromDisplayName, pMessage.Body)
        Console.WriteLine(line)
    End If
End Sub

 

 はまったところ。

  • ターゲットはx86を選択すること。
  • 管理者権限でVSを起動しない。

以上です。

コメントの入力
タイトル
 
名前
 
Url
コメント