`
addday
  • 浏览: 67927 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

ppc 程序,实现邮件收发及短信收发

阅读更多

这篇文章主要讲述:Microsoft.WindowsMobile.PocketOutlook命名空间下的五个类:
1.OutlookSession
2.AppointmentCollection, Appointment
3.ContactCollection, Contact
4.SmsMessage
5.EmailMessage

该命名空间主要针对PocketOutlook中的所提供的Appointment(约会), Task(计划), Contact(联系人), 短信, 邮件的操作。
注:在WM5.0系统中已提供该命名空间,即CF2.0下也提供支持。

下面就开始逐个介绍。首先运行下程序效果。


OutlookSession是取得PocketOutlook中的所有信息的一个对象, 该对象提供访问PocketOutlook对象模型的一个入口。通过该对象, 可以操作PocketOutlook所提供的所有操作。

当点击Appointments时, 取得已存在的Appoint, 并添加一个新的Appoint.
通过OutlookSession.Appointments.Item得到AppointmentCollection(所有集合). 该集合内存放所有Appointment.
这些Appointment按照时间的顺序排列. 当然, 你也可以指定按什么排序. 使用Sort方法, 并指定排序字段即可.
AppointmentCollectionAddNew方法:在集合对象中创建一个新Appointment, 并将该对象返回, 类似于DataRow.
返回新对象后, 对该对象的属性进行赋值后, 通过该对象的Update方法, 就能自动更新集合内信息.

代码如下:

 1            OutlookSession session = new OutlookSession();
 2

 3            foreach (Appointment app in
 session.Appointments.Items)
 4            
{
 5                this.listBox1.Items.Add("ItemId: " +
 app.ItemId);
 6                this.listBox1.Items.Add("Subject: " +
 app.Subject);
 7                this.listBox1.Items.Add("AllDayEvent: " +
 app.AllDayEvent.ToString());
 8                this.listBox1.Items.Add("Body: " +
 app.Body);
 9                this.listBox1.Items.Add("BusyStatus: " +
 app.BusyStatus.ToString());
10                this.listBox1.Items.Add("Location: " +
 app.Location);
11                this.listBox1.Items.Add(""
);
12            }

13
14            Appointment appAdd =
 session.Appointments.Items.AddNew();
15            appAdd.Subject = "Add Now"
;
16            appAdd.Location = "Shanghai"
;
17            appAdd.Start = System.DateTime.Now.AddHours(1
);
18            appAdd.End = System.DateTime.Now.AddHours(2
);
19            appAdd.BusyStatus =
 BusyStatus.Busy;
20            appAdd.Update();

效果如下:

Appoint没有添加时的效果.

Appointment与AppointmentCollection也有很多事件, 这里举一个AppointmentCollectionListChanged事件.
AppointmentCollection集合中的任一Appoint发生变化(新增, 修改, 删除)时, 该事件即会被触发.
代码如下:
 1        void Items_ListChanged(object sender, ListChangedEventArgs e)
 2        
{
 3            //this.listBox1.Items.Add("Type Name: " + sender.GetType().FullName);

 4            AppointmentCollection appCol = (AppointmentCollection)sender;
 5            if (e.ListChangedType ==
 ListChangedType.ItemChanged)
 6            
{
 7                this.listBox1.Items.Add("ItemId: " +
 appCol[e.NewIndex].ItemId);
 8                this.listBox1.Items.Add("Subject: " +
 appCol[e.NewIndex].Subject);
 9                this.listBox1.Items.Add("AllDayEvent: " +
 appCol[e.NewIndex].AllDayEvent.ToString());
10                this.listBox1.Items.Add("Body: " +
 appCol[e.NewIndex].Body);
11                this.listBox1.Items.Add("BusyStatus: " +
 appCol[e.NewIndex].BusyStatus.ToString());
12                this.listBox1.Items.Add("Location: " +
 appCol[e.NewIndex].Location);
13                this.listBox1.Items.Add(""
);
14            }

15        }

效果如下:

Subject为Add Now为添加的Appoint.

Contact对象, 通过OutlookSessionContacts.Items得到ContactCollection.
访问方法与Appoint一致.在此, 只演示代码.
 1        private void menuItem7_Click(object sender, EventArgs e)
 2        
{
 3            OutlookSession session = new
 OutlookSession();
 4

 5            foreach (Contact contact in
 session.Contacts.Items)
 6            
{
 7                this.listBox1.Items.Add("File As: " +
 contact.FileAs);
 8                this.listBox1.Items.Add("Email1Address: " +
 contact.Email1Address);
 9                this.listBox1.Items.Add(""
);
10            }

11
12            Contact contactAdd =
 session.Contacts.Items.AddNew();
13            contactAdd.FileAs = "Test Man"
;
14            contactAdd.FirstName = "Test"
;
15            contactAdd.LastName = "Man"
;
16            contactAdd.Email1Address = "Test@abs.com"
;
17
            contactAdd.Update();
18        }

效果如下:


Task, TaskCollection:看过上述的Appoint与Contact后, 相信大家也一定能够使用Task的. 使用方式完全一致.
Appoint, Contact, Task. 在OutlookSession中唯一标识符为ItemId. 可以在集合中通过ItemId来取得你需要的某一个内容.
并且它们可以创建除ItemId以外, 内容完全一致的对象, 这是完全存在的.



SmsMessage:短信对象.可以在构造函数时传入要发送的号码及内容, 也可以在创建完对象后对其属性进行修改.
该对象提供Send方法, 用于发送短信. 当然, 也可以通过OutlookSession的SmsAccount.Send方法发送, 这都是一样的.
注:短信不支持彩信功能, 只能发送文字信息. 当程序自己发送消息完后, 发送的消息并不会出现在短信的已发送栏里.这和邮件发送不一致的地方, 需了解. 另外, 微软的IDE(VS2008)中存在一个BUG, 就是访问SmsMessage对象的Body时, 显示提示居然说是只读的, 但其实是读写都可以的.

应该改为Gets Or Sets the SMS message's text body.
代码如下:
 1        private void menuItem4_Click(object sender, EventArgs e)
 2        
{
 3            SmsMessage smsMessage = new
 SmsMessage(strContract, strMessage);
 4            smsMessage.RequestDeliveryReport = false
;
 5            //smsMessage.Send();

 6
 7            OutlookSession session = new OutlookSession();
 8            this.listBox1.Items.Add("SmsAccount Name: " +
 session.SmsAccount.Name);
 9            //this.listBox1.Items.Add("ItemID: " + smsMessage.ItemId.ToString());

10            session.SmsAccount.Send(smsMessage);
11

12            SmsMessage sms = new
 SmsMessage();
13            sms.Body = "Test"
;
14            sms.To.Add(new
 Recipient(strContract));
15
            session.SmsAccount.Send(sms);
16        }
通过Call Emulator工具,取得短信.


EmailMessage:发送邮件对象.
如果没有设置好EmailAccounts, 是无法正常发送Email的.
代码如下:
 1        private void menuItem5_Click(object sender, EventArgs e)
 2        
{
 3            EmailMessage mail = new
 EmailMessage();
 4            mail.To.Add(new Recipient("appleseeker@gmail.com"
));
 5            mail.Importance =
 Importance.High;
 6            mail.Subject = "It is test mail"
;
 7            mail.BodyText = "It is test mail"
;
 8            mail.Attachments.Add(new Attachment(@"\flower.jpg"
));
 9

10            OutlookSession session = new
 OutlookSession();
11            if (session.EmailAccounts.Count > 0
)
12                mail.Send(session.EmailAccounts[1
]);
13        }
OutlookSession.EmailAccount中, 我访问集合中第2个元素的理由:
因为当前是模拟器开发,所有该EmailAccounts中第1个元素是模拟器.只有后面的才是在模拟器上说设置的Mail帐户.
效果如下:

没有发送邮件时.

EmailMessage对象调用Send后,邮箱的邮件情况.

本文就PocketOutlook中的一些基本操作内容讲述完毕,改天会对如何操作PocketOutlook.MessageInterception命名空间作一下讲述,该空间提供消息拦截,起到过滤效果.

代码下载:SmartDeviceOutlookDemo_2008_03_24.rar

分享到:
评论

相关推荐

    TCP消息收发程序 ppc pc

    在这个“TCP消息收发程序 ppc pc”中,我们看到的是一个针对 PPC(个人数字助手,如早期的 Palm 或 Windows Mobile 设备)和 PC(个人计算机)之间进行TCP通信的示例程序。 这个程序包含了源代码,这意味着我们可以...

    PC管理PPC短信PocketMail

    PocketMail通过在PC上实现短信的收发,很好地解决了这些问题。用户可以利用PC的大屏幕和标准键盘,轻松处理短信,减少了操作上的不便。 从软件的开发角度来看,PocketMail的实现可能依赖于C#语言。C#作为一种成熟、...

    ppc手机与电脑连接软件

    PPC是Personal Digital Assistant(个人数字助手)的缩写,它允许用户进行电话通话、收发邮件、浏览网页、运行应用程序等多种功能。 在描述中提到的“智能手机PC端管理工具”,是指可以与PPC手机配合使用的计算机...

    91手机助手 For WM(PPC)软件

    【基本介绍】 智能手机PC端管理工具-For Windows Mobile 您可以:海量的娱乐生活软件免费下载,繁杂的手机功能轻松设置,重要的手机资料... 资料管理:联系人管理、电脑收发管理短信、定制日程、管理任务 媒体娱乐:

    PPC上的USB切换代码

    USB在PPC设备中可以通过不同的驱动程序和配置来实现不同功能。USB串口模式允许PPC设备作为一个串行端口与电脑通信,这在进行数据交换或远程控制时非常有用。ActiveSync模式是微软提供的一个同步工具,使PPC设备能与...

    电脑模拟PPC

    使用这个仿真器,用户可以在电脑上体验WM6的所有特性,包括浏览网页、收发邮件、使用Office文档等。 在进行PPC模拟时,需要注意以下几点: 1. 硬件需求:确保电脑配置足够运行模拟器,因为模拟过程会消耗大量CPU和...

    windows mobile 6.0模拟器使用

    Windows Mobile 6.0 模拟器可以实现邮件直推功能,使移动设备随时随地与 Exchange 服务器通信,收发电子邮件。实现邮件直推功能有两种配置方法: 1. 在移动设备上直接配置与 Exchange 服务器同步。 2. 将移动设备...

    PPC的基础常识及Windows Mobile系统注册表的解释与修改

    PPC Phone Edition,即具备电话功能的Pocket PC,它结合了PPC的计算能力和手机的通信功能,用户可以通过触摸屏进行通话、互联网接入和电子邮件收发。 4. PIM(个人资讯管理): PIM是指用于组织和管理个人信息的...

    ppc手机管理imolo_d1011

    6. **网络配置**:管理无线网络连接,设置GPRS/EDGE/3G连接,进行网页浏览和电子邮件收发。 7. **硬件控制**:如控制内置摄像头、GPS模块等,进行拍照、导航等操作。 8. **多媒体管理**:播放和管理音频、视频文件...

    串口精灵(PPC版)

    《串口精灵(PPC版):无线通信与设备调试的得力助手》 在信息技术领域,串口通信是设备间进行数据交换的一种基础方式,尤其在嵌入式系统和工业自动化领域应用广泛。"串口精灵(PPC版)"正是针对这种需求而设计的一款...

    ppc 6850繁体中文说明书

    2. **操作系统**:PPC通常运行在Windows Mobile操作系统上,这是一款专为移动设备设计的系统,支持各种应用程序的安装和运行,包括邮件、日历、联系人管理、Office套件等。 3. **触摸屏操作**:说明书会详细介绍...

    C# ppc gprs socket 源码

    标题中的"C# PPC GPRS Socket源码"指的是一种利用C#编程语言,在PPC设备上实现GPRS连接的源代码示例。这个示例可能包括了如何配置和建立GPRS连接,以及如何通过Socket进行数据收发的功能。 描述中的“简单示例”...

    多路高速互连信息处理系统及其FPGA实现.pdf

    在文档中提到的多路高速互连信息处理系统实现中,采用了大量高速收发器,如Xilinx Virtex-7 FPGA 690T和PPC处理器,这些收发器集成了高速串行收发器模块,能够支持高速串行总线标准(如SRIO和PCIe)以及以太网等标准...

    TN4812_Ppc_mpc8xx_sdram_

    "TN4812_Ppc_mpc8xx_sdram_"文档是SDRAM制造商发布的应用笔记,详细介绍了MPC8XX系列处理器与SDRAM的兼容性、配置方法及注意事项,是设计者的重要参考资料。 总结,理解并熟练掌握MPC8XX系列处理器与SDRAM的交互,...

    91手机助手(WM PPC) 1.8.5.123

    资料管理:联系人管理、电脑收发管理短信、定制日程、管理任务 媒体娱乐:轻松编辑设置手机铃声、手机主题、壁纸 阅读管理:几十万免费电子书在线/本地化管理;新闻RSS订阅等 软件管理:本地软件管理;海量手机软件...

    如何判定手机是智能手机

    2. **功能多样性**:智能手机除了基础的通话和短信功能,还包括PDA的大部分功能,如个人信息管理、日程安排、任务提醒、邮件收发、文档编辑、网络浏览、GPS导航、多媒体播放、应用程序下载等。随着技术发展,智能...

    BU-61580芯片与PPC处理器的接口设计与分析.pdf

    它内部包含双收发器模块、协议处理部件、存储器管理部件,以及能与不同微处理器进行逻辑接口通信的能力。此外,它还集成了4k字节的共享RAM,使得在进行1553B总线通信时,主机只需初始化内部共享RAM的相关数据结构...

    基于FPGA技术的同步通信卡的设计与实现.pdf

    包括HDLC(High-Level Data Link Control)、UART(通用异步收发传输器)以及PCI-X(Peripheral Component Interconnect Extended)接口和DPRAM(双口随机存取存储器),从而实现了通信卡与数据服务器之间的高速数据...

Global site tag (gtag.js) - Google Analytics