Sending SMS on Pocket PC






2.86/5 (6 votes)
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);
}