Pocket Outlook对象使用:访问短消息服务

来源:互联网 发布:mac改用户名丢失管理员 编辑:程序博客网 时间:2024/04/28 00:07
使用POOM中的SmsAccount类可以方便地完成短信息的发送。SmsAccount类提供了一个名为Send的方法,这个方法的原型如下面的代码所示,它接收唯一的一个参数message

public void Send(SmsMessage message);

       message参数的类型是SmsMessage,表示一条SMS消息,当调用了Send方法后,该消息将被发送。因此,在发送短消息之前,还需要构造SmsMessage的对象。

       SmsMessage类提供了三个实例构造器,其中最有用的一个就要算下面提到的这个了。使用该构造器可以构造一个完全可以直接发送的SMS消息对象。

public SmsMessage(

    string recipientPhoneNumber,

    string message

);

       其中recipientPhoneNumer参数为字符串形式的收信方电话号码,message参数就是用户需要发送的消息主体了。

       下面的例子演示了如何使用SmsAccount对象来完成发送短信息的任务。

       首先创建一个基于Windows Mobile 5.0 Pocket PCDevices项目,然后为项目添加对Microsoft.WindowsMobile.PocketOutlook.dll程序集的引用,并为窗体添加一个OutlookSession类型的私有域(名为m_outlookSession),同时分别在窗体的构造器和Dispose方法中对其进行创建和释放。

       构造如1所示的用户界面。其中上面的“Receiver Number”文本框名为m_txtReceiver,用于输入接收方的手机号码。下面的“Message”文本框名为m_txtMesage,用于输入要发送的消息内容,其Multiline属性为true,用于输入多行文字。最下面的按钮名为m_btnSend,用来发送填写好的短信息。

 1 SMS消息发送程序界面
 。


       Send按钮的Click事件添加如下所示的事件处理方法,完成短信息的发送。

private void m_btnSend_Click(object sender, EventArgs e)

{

    try

    {

       // 构造短信息对象

       SmsMessage msg = new SmsMessage(

           m_txtReceiver.Text,

           m_txtMesage.Text);

 

       // 使用OutlookSession中的SMS帐户进行发送

       m_outlookSession.SmsAccount.Send(msg);

 

       // 向用户提示发送成功的信息

       MessageBox.Show(

           "Your message has been sent.",

           "Send",

           MessageBoxButtons.OK,

           MessageBoxIcon.Asterisk,

           MessageBoxDefaultButton.Button1);

 

       // 清空两个文本框,以备填写下一条消息

       m_txtReceiver.Text = String.Empty;

       m_txtMesage.Text = String.Empty;

    }

    catch (Exception ex)

    {

       MessageBox.Show(

           String.Format("Error: {0}", ex.Message),

           "Send",

           MessageBoxButtons.OK,

           MessageBoxIcon.Hand,

           MessageBoxDefaultButton.Button1);

    }

}

       因为SMS消息的发送过程可能会出现异常(如接收方号码填写不正确等),因此整个过程被放入了一个try-catch语句块中。

       在这里首先使用前面提到过的SmsMessage类的构造器,构造一个具有指定接收方电话号码和指定内容的SMS消息对象,然后通过调用SmsAccount类的Send方法完成发送。

       这里的SmsAccount对象来自于OutlookSession对象,当然SmsMessage类自身也提供了一个Send方法,因此还可以避开使用OutlookSession对象,但效果是同样的。

       运行这个程序,并填写对方号码和一些文字。单击“Send”按钮后,当出现表示发送成功的对话框后,稍待片刻接收方的手机便会收到这里发送的消息。

       如果在这里实现对m_txtMessage文本框中的文字进行处理,还可以提供更多功能,例如为消息体添加签名等

 

来自:http://www.winbile.net/BBS/1001389/ShowPost.aspx

原创粉丝点击