[C葃.NET][Skype]Skype COM APIを使ってメールを送る/電話をかける

12800 ワード

1.Skypeを設置するhttp://skype.pchome.com.tw/
2.Skype 4 COMをダウンロードするhttp://developer.skype.com/accessories
image
3.解凍後にSkype 4 COM.dllを登録し、ファイルのルートディレクトリの下でreg.batファイルを作成し、以下の内容を追加し、アーカイブ後にregsvr 32/s Skype 4 COM.Dll imageをダブルクリックして登録します.登録が成功すれば、VSの中でこの要素を引用することができます.この画面にSkype 4 COM 1.0 Type Libraryが表示されていない場合、image以下の要素が登録されていないということです.http://msdn.microsoft.com/zh-tw/library/hsy826az%28VS.80%29.aspx参照に成功した後、VSは自動的にInteropコンポーネントを構築します.これは特別なものです.NETコンポーネントはCOM型の他の中継資料を定義することができます.また、NETコンパイラ(Compler)COM物件の呼び出しを解析する.つまり、VSは、binファイルにInterop.SKYPE 4 COMLib.dllのメタダ対応のコンポーネントを生成してくれます.バージョンは全部1.0.0です.このコンポーネントは当時引用された要素バージョンを解析しました.もしこの特殊なコンポーネントを直接引用して、未来のSkype 4 COM.dll更新したら、あなたが引用したInterop.SKYPE 4 COMLib.dllは未来のバージョンがありません.Interop.SKYPE 4 COMLib.dll対応ファイルを再生成しなければならない.正確な方法はSkype 4 COM.dllを引用することで、引用ではなく、NETが生み出したInterop.SKYPE 4 COMLib.dll を参照することである.  image.Skypeメッセージ点数6を購入します.Win 7の下で引用が成功したら、設立案のVSに次のようなメッセージがあります.imageはプラットフォームをAnyCUPに変更してみてもいいです.image.Skype APIはSendMessage APIを利用してSkypeソフトウェアを制御します.許可されたアクセスを押すとスムーズに操作できます.image
前作業が完了したら、再度プログラムコードにこれらのAPIを引用して携帯電話のメッセージを送信することができます.この二つのイベントはSmsTarget Starts ChagedventhandlerとSmsMessage Status ChagedventHandlerがよく観察でき、メッセージの送信状況を確認するために使用されます.[cdata[
.csharpcode.csharpcode pre
{
font-size:small;
カラー:black
font-family:consosolas、「Courier New」、courier、monoospace;
background-カラー:菗菗ffff;
//white-space:pre;*/
)
.csharp code pre{margin:0 em;}
.csharpcode.rem{color=0000 ff}
.csharpcode.kwrd{color=0000 ff}
.csharpcode.str{color=red}
.csharpcode.op{color=0000 c 0}
.csharpcode.preproc{color=red}
.csharpcode.asp{background}
.csharrpcode.html
.csharpcode.atr{color=red}
.csharpcode.alt
{
background-彩色:〹f 4 f 4;
width:100%
magin:0 em;
)
.csharpcode.lnum{color=0000 ff}
電話をかける
private void button5_Click(object sender, EventArgs e)

{

    SKYPE4COMLib.SkypeClass skype = new SkypeClass();

    skype.SmsTargetStatusChanged += new _ISkypeEvents_SmsTargetStatusChangedEventHandler(skype_SmsTargetStatusChanged);

    skype.SmsMessageStatusChanged += new _ISkypeEvents_SmsMessageStatusChangedEventHandler(skype_SmsMessageStatusChanged);

    SmsMessage message = skype.CreateSms(TSmsMessageType.smsMessageTypeOutgoing, "      ");

    message.Body = "    ";

    message.Send();

}



void skype_SmsMessageStatusChanged(SmsMessage pMessage, TSmsMessageStatus Status)

{

    switch (Status)

    {

        case TSmsMessageStatus.smsMessageStatusComposing:

            break;

        case TSmsMessageStatus.smsMessageStatusDelivered:

            break;

        case TSmsMessageStatus.smsMessageStatusFailed:

            break;

        case TSmsMessageStatus.smsMessageStatusRead:

            break;

        case TSmsMessageStatus.smsMessageStatusReceived:

            break;

        case TSmsMessageStatus.smsMessageStatusSendingToServer:

            break;

        case TSmsMessageStatus.smsMessageStatusSentToServer:

            break;

        case TSmsMessageStatus.smsMessageStatusSomeTargetsFailed:

            break;

        case TSmsMessageStatus.smsMessageStatusUnknown:

            break;

        default:

            break;

    }

}



void skype_SmsTargetStatusChanged(SmsTarget pTarget, TSmsTargetStatus Status)

{

    switch (Status)

    {

        case TSmsTargetStatus.smsTargetStatusAcceptable:

            break;

        case TSmsTargetStatus.smsTargetStatusAnalyzing:

            break;

        case TSmsTargetStatus.smsTargetStatusDeliveryFailed:

            break;

        case TSmsTargetStatus.smsTargetStatusDeliveryPending:

            break;

        case TSmsTargetStatus.smsTargetStatusDeliverySuccessful:

            break;

        case TSmsTargetStatus.smsTargetStatusNotRoutable:

            break;

        case TSmsTargetStatus.smsTargetStatusUndefined:

            break;

        case TSmsTargetStatus.smsTargetStatusUnknown:

            break;

        default:

            break;

    }

}


發送聊天訊息

private void button6_Click(object sender, EventArgs e)

{

    SKYPE4COMLib.SkypeClass skype = new SkypeClass();

    skype.MessageStatus += new _ISkypeEvents_MessageStatusEventHandler(skype_MessageStatus);

    ChatMessage message = skype.SendMessage("  ", "  ");

}



void skype_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status)

{

    switch (Status)

    {

        case TChatMessageStatus.cmsRead:

            break;

        case TChatMessageStatus.cmsReceived:

            break;

        case TChatMessageStatus.cmsSending:

            break;

        case TChatMessageStatus.cmsSent:

            break;

        case TChatMessageStatus.cmsUnknown:

            break;

        default:

            break;

    }

}
<![cdata[
.csharpcode.csharpcode pre
{
font-size:small;
カラー:black
font-family:consosolas、「Courier New」、courier、monoospace;
background-カラー:菗菗ffff;
//white-space:pre;*/
)
.csharp code pre{margin:0 em;}
.csharpcode.rem{color=0000 ff}
.csharpcode.kwrd{color=0000 ff}
.csharpcode.str{color=red}
.csharpcode.op{color=0000 c 0}
.csharpcode.preproc{color=red}
.csharpcode.asp{background}
.csharrpcode.html
.csharpcode.atr{color=red}
.csharpcode.alt
{
background-彩色:〹f 4 f 4;
width:100%
magin:0 em;
)
.csharpcode.lnum{color=0000 ff}