65.9K
CodeProject is changing. Read more.
Home

Sending SMS on Pocket PC

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.86/5 (6 votes)

May 22, 2007

CPOL
viewsIcon

43061

downloadIcon

763

Easy way to send a message using C#.

Introduction

This is a sample for using Pocket PC to send SMS.

Background

I tried to solve a problem that uses Pocket PC to send SMS in my projects. I downloaded Microsoft SDK and found this sample. Now I hope that it can be useful for other programmers.

Using the Code

using Microsoft.WindowsMobile.PocketOutlook;
using Microsoft.WindowsMobile.Telephony;
private OutlookSession outlookSession;

public ContactSelector()
{
    this.outlookSession = new OutlookSession();          
}

        private void NewButton_Click(object sender, System.EventArgs e)
        {                   
            // Add contact to the contacts folder. 
            // Just do an update once the information has been entered.
            contactToSelect = new Contact();                        
            this.outlookSession.Contacts.Items.Add(contactToSelect);
            
            // Edit the newly created contact.
            ContactEditor contactDialog = new ContactEditor();
            contactDialog.Edit(ref contactToSelect);    
         
            this.InitializeListBox();
        }
        /// <summary>
        /// This event handler gets called when the "Edit" button is pressed.
        /// It sets contactToSelect as the contact selected on the ListBox.         
        /// </summary>
        /// <param name="sender">Sender of the event.</param>
        /// <param name="e">Event arguments.</param>
        private void EditButton_Click(object sender, System.EventArgs e)
        {            
            if (this.listBox1.SelectedItem != null)
            {
                contactToSelect = (Contact)this.listBox1.SelectedItem;
            } 
            
            ContactEditor contactDialog = new ContactEditor();
            contactDialog.Edit(ref contactToSelect);
        }
        /// <summary>
        /// This will send an SMS Message.
        /// </summary>
        /// <param name="sender">Sender of the message</param>
        /// <param name="e">Event arguments.</param>
        private void SendSmsButton_Click(object sender, System.EventArgs e)
        {
           try
           {
                contactToSelect = (Contact)this.listBox1.SelectedItem;
                if (outlookSession.SmsAccount == null)
                    throw new ArgumentException("The account is not initialized");
                MessageBox.Show("Transport:"+outlookSession.SmsAccount.Name);
                SmsMessage s = new SmsMessage(contactToSelect.MobileTelephoneNumber, 
                    this.smsText.Text);
                s.Body = this.smsText.Text; //Create some input.
                s.Send();
           }
           catch (NullReferenceException except)
           {
                MessageBox.Show(except.ToString());
           }
        }
        
        /// <summary>
        /// Call BusinessTelephoneNumber
        /// </summary>
        /// <param name="sender">Sender of event.</param>
        /// <param name="e">Event Arguments</param>
        private void CallWorkButton_Click(object sender, System.EventArgs e)
        {
           contactToSelect = (Contact)this.listBox1.SelectedItem;
            Phone p = new Phone();
            p.Talk(contactToSelect.BusinessTelephoneNumber);
            
        }