Windows Mobile 5中的新特性
Mobile 5的应用程序,平台类型可以是Pocket PC或Smartphone。为了使用Microsoft.WindowsMobile.Forms类库,我们需要首先添加引用。我们在解决方案资源管理器里右击项目名称,在右键菜单中选择添加引用。我们在添加引用对话框中,我们选择“Microsoft.WindowsMobile.Forms”。

我们在菜单的响应函数中添加ChooseContactDialog的使用。
private void menuItem1_Click(object sender, EventArgs e)
{
ChooseContactDialog contactPicker = new ChooseContactDialog();
contactPicker.Title = Choose a Contact below:;
contactPicker.ChooseContactOnly = true;
contactPicker.ShowDialog();
}
其实我们看到ChooseContactDialog的方法十分简单,只需要设置Title后,调用ShowDialog方法就可以显示出下边的对话框。


下边我们来添加对SelectPictureDialog的引用。
SelectPictureDialog pickerDialog = new SelectPictureDialog();
pickerDialog.Filter = Image Files(*.BMP;*.JPG)|*.BMP;*.JPG;
pickerDialog.InitialDirectory = @\My Device\My Images;
pickerDialog.Title = Select an image file;
pickerDialog.ShowDialog();
我们首先来设置SelectPictureDialog的过滤器,允许显示JPG和BMP的图片;然后设置初始文件夹;最后调用ShowDialog方法。
下边是SelectPictureDialog显示的效果。

电话、短信和电子邮件
在Windows Mobile 2003中,如果要在.NET程序中拨打电话的话,就需要通过P/Invoke来调用API。到了Windows Mobile 5中,Microsoft.WindowsMobile.Telephony类库为我们提供了拨打电话的功能。
在使用这个功能之前,我们必须添加Microsoft.WindowsMobile.Telephony引用。调用电话功能的代码如下:
Phone phone = new Phone();
phone.Talk(1234567);
程序运行效果如下:

Phone类的方法只有一个Talk方法,所以也只能简单的进行电话拨打。我们如果想实现一些复杂的功能,比如监视拨入的电话等,还需要去调用TAPI来实现。
发送短信息和发送电子邮件都需要Microsoft.WindowsMobile.PocketOutlook类库的支持。PocketOutlook是一个很复杂的命名空间,包括对很多系统功能的支持,而支持发短信的类是SmsMessage。
public void SmsMessageSend()
{
SmsMessage smsMessage = new SmsMessage();
//Set the message body and recipient.
smsMessage.Body = Would you like to meet for lunch?;
smsMessage.To.Add(new Recipient(John Doe, 2065550199));
smsMessage.RequestDeliveryReport = true;
//Send the SMS message.
smsMessage.Send();
return;
}
我们可以看到SmsMessage的Body属性是SMS短信的内容,而To属性,则是收件人的姓名和电话号码,因为支持多个收件人,所以在添加收件人的时候需要调用To属性的Add方法。RequestDeliveryReport属性是一个Bool值,设置是否要求得到发送报告。最后调用SmsMessage的Send方法。
发送Email的代码与发送短信息的代码大致相似,但是需要使用的是EmailMessage类。
public void EmailSend()
{
EmailMessage message = new EmailMessage();
message.Subject = The picture you requested;
message.BodyText = Attached is the picture we discussed;
Recipient client = new Recipient(John,john@test.com);
message.To.Add(client);
Attachment image = new Attachment(\test.jpg);
message.Attachments.Add(image);
message.Send(ActiveSync);
}
EmailMessage的Subject属性是电子邮件的标题,BodyText属性是邮件正文。To属性中可以添加收件人的名称和地址。我们还可以在Attachments属性中添加附件。最后我们调用Send方法。
联系人、约会和任务
Windows Mobile中有三个很重要的程序:联系人、约会和任务。我们可以使用Microsoft.WindowsMobile.PocketOutlook类库,来调用系统中的联系人、约会和任务信息。我们可以通过自己的程序添加信息。
我们先来看一下Microsoft.WindowsMobile.PocketOutlook命名空间中很重要的一个类OutlookSession。该类的一个对象就表示了一个Pocket Outlook 对象模块,以前我们需要调用POOM实现的功能,现在可以通过PocketOutlook来实现。
| 属性 | 说明 |
|---|---|
| Appointments | 得到约会(Calendar)目录的信息。 |
| Contacts | 得到联系人目录信息。 |
| EmailAccounts | 得到Email帐号的集合。 |
| SmsAccount | 得到SMS帐号的信息。 |
| Tasks | 得到任务目录信息的集合。 |
在使用OutlookSession的时候要先创建一个OutlookSession的对象,然后创建相应的对象并添加到OutlookSession相应属性中去。我们来看下
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
