尽管Pocket PC短短几年已经得到了很大程度的普及,但是我们最常见的移动智能设备还是 Smartphone。
 工具与环境:VS2005,wm5 SDK,ActiveSync,Smartphone Emulator...
关键词:.Net Compact Framework, 托管API
移动设备上的开发有两个方面---本地代码(Native API)开发和托管代码开发。作为介绍 ,这里主要是涉及到简单高效的托管代码开发(C#)。 从最常见的只能手机的使用功能开始:
 1.打电话
2.发短信
 3.发邮件
4.任务与安排
而令人欣慰的是.Net CF2.0已经为我们把这写全都封装到位了,对应着有以下几个API:
 1.Microsoft.WindowsMobile.Telephony;(Wm5 新增)
 含唯一类Phone含唯一方法Call(string PhoneNumber)
 2.Microsoft.WindowsMobile.PocketOutlook.SmsMessage;
 调用方法:SmsMessage.Send()即可完成发送信息的功能。 3.Microsoft.WindowsMobile.PocketOutlook;
 这个命名空间功能十分强大,除了发送短消息,它还集成了诸如发Email,设置联系人, 设置任务,设置约会等功能,具体会在后面的例子中为大家介绍。

1).发送信息:
(见2) 2) .
发邮件:EmailMessage类  
3).设置约会或任务:这里涉及到一个OutlookSession对象,也是该命名空间下最主要 的对象。调用outlooksession.Appointments.Items.Add(apointment),outlooksession. Tasks.Items.Add(task)来添加约会(任务)。

 EXAXPLES:
 1.拨打电话 首先需要添加引用命名空间Microsoft.WindowsMobile.Telephony;
 代码如下:
 Phone phone = new Phone();
 phone.Talk ("13334567890");//数字字符串后面可以还,跟一个布尔值,表示是否需要做 一个对号码的确认。这里是默认为False
2.发送短信
 添加引用Microsoft.WindowsMobile.PocketOutlook ;
 代码如下:[code language="C#"]
 SmsMessage smsmesage = new SmsMessage();
 smsmessage.Body = "welcome to CCMTC!";
 smsmesage.To.Add(new Recipient("huang","13334567890")); //smsmessage.RequestDeliveryReport = true;用来设置是否需要发送回应 smsmesage.Send();
3.发送Email
添加引用Microsoft.WindowsMobile.PocketOutlook;
代码如下:

EmailMessage emessage = new EmailMessage();
 emessage.Subject = "Title of the mail";
emessage.BodyText = "here is the content";
emessage.To.Add(new Recipient("huang","ccmtc@ccmtc.com"));
 emessage.Send("ActiveSync");

//PS:这里还提供有一个Attachment类可以用来设置绑定的附件,见下面的例子:

using Microsoft.WindowsMobile.PocketOutlook;
using Microsoft.WindowsMobile.Forms;
// ...
ChooseContactDialog contactDialog = new ChooseContactDialog();//这个对画框的用 法见下文
contactDialog.Title = "Select user to send message";
 if (contactDialog.ShowDialog() == DialogResult.OK) { EmailMessage message = new EmailMessage();
 message.To.Add(new Recipient(contactDialog.SelectedContact.Email1Address)); message.Subject = "picture";
message.BodyText = "This is My picture";
message.Attachments.Add(new Attachment(@"/My Do***ents/Myphoto.jpg"));
//绑定 附件
using (OutlookSessionsession = new OutlookSession())
{
session.EmailAccounts[0].Send(message);//指定发送的帐户
 }

4设置约会
 添加引用Microsoft.WindowsMobile.PocketOutlook ;
代码如下:
 OutlookSession os = new OutlookSession();
Appointment ap = new Appointment();
 ap.Subject = "dating with my GF";
 ap.Body = "it's the time of my appointment";
 ap.Start = DateTime.Now;
ap.Duration = new TimeSpan(02,00,00);//约会的持续时间 2小时
//ap.End = new DateTime(2007,2,13,20,30,0);
//ye可以直接设置约会的结束时间

os.Appointments.Items.Add(ap);

另外,还有一个常用的也是十分重要的namespace,就是Microsoft.WindowsMobile.Forms;
它里面主要是包含了3个常用的对话框:
 CameraCaptureDialog---照相机对话框
ChooseContactDialog---联系人对话框
SelectPictureDialog---选择图片对话框
EXAMPLES
ChooseContactDialog ccd = new ChooseContactDialog();
ccd.Title = "Choose Contact";
 ccd.ChooseContactOnly = true;
if(ccd.ShowDialog() == DialogResult.OK)
{
 texBox_to.Text = ccd.SelectedContent.EmailAddress; //从所选联系人获得其Email地址 }
SelectPictureDialog SPDialog = new SelectPictureDialog();
 //设置SelectPictureDialog的过滤器
SPDialog.Filter = "All files|*.*";
 //采用这样格式过滤图片:SPDialog.Filter="ImageFiles(*.BMP;*.JPG)|*.BMP;*.JPG"; ( 允许显示JPG和BMP的图片)
SPDialog.InitialDirectory = @"/Storage Card/Images";//设置初始文件夹
SPDialog.Title = "Select an image";
 SPDialog.CameraAccess = false;//设置是否照相机内容可选用,设为true时就可以从照相 机捕获文件
CameraCaptureDialog cameradlg = new CameraCaptureDialog();
cameradlg.Owner = this;
 cameradlg.Title = "using camera";
cameradlg.Mode = CameraCaptureMode.Still;//这里的模式Still是设为照相
//Mode属性可设置为捕获带有声音的视频记录:  (CameraCaptureMode.VideoWithAudio)。
 //Mode 属性也可以设置为捕获没有声音的视频: (CameraCaptureMode.VideoOnly)。
 if (cameradlg.ShowDialog() == DialogResult.OK && cameradlg.FileName.Length > 0)
{
Bitmap pic =new Bitmap(cameradlg.FileName);
pictureBox1.Image = Image.FromHbitmap(pic.GetHbitmap());
}
demo:http://newhost.byhh.net/f/DotNet/1172805474/smartphoneAPIDEMO.rar
PS:
 1).这里CameraCaptureDialog在模拟器上会有unkown error,要在设备上才行,所以我也 还没真正用过,大家有什么问题再说吧。
2).模拟器和sdk,以及ActiveSync可以去微软的官方网站下载,有困难者找我Q:386784329
 3).demo里面我没写注释了,有问题直接发问.

Pocket PC C#相关推荐

  1. wince 微软服务器,大众拥抱微软 推出WinCE 4.0 Pocket PC

    大众计算机在手持无线装置的布局出现大转变,挥别过去力主的Linux平台,拥抱微软以.net为架构,在各领域推出的相关作业平台.大众在5日分别针对WinCE 4.0(.net).Pocket PC 20 ...

  2. VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题

    把VS2005工程有采用的Pocket PC 2003 SDK改为WINCE6.0 SDK,具体操作见链接 http://blog.csdn.net/loongembedded/article/det ...

  3. Pocket pc模拟器与PC机传输文件的方法

    将文件移到仿真器中的最简单方法是将它们包括为项目的一部分.使用这种方法的一个优点是,当在仿真器上执行强制重设时,只需重建项目即可恢复测试. 使用此方法的过程如下: 在 Visual Studio .N ...

  4. Pocket PC 2003 SE设备仿真器网络设置

    1.下载虚拟网卡驱动程序  2.在PC上安装虚拟网卡驱动  3.在Visual Studio 2005中配置仿真器启动参数  4.配置Pocket PC 2003 SE 设备仿真器网卡参数  5.配置 ...

  5. Pocket PC/Smartphone软件安装包之制作DIY

    Pocket PC/Smartphone软件安装包之制作DIY<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  6. 基于 Windows Mobile 的 Pocket PC 和 Smartphone 的开发工具简介

    Microsoft Corporation 2003 年 8 月 适用于:     Microsoft® eMbedded Visual Tools 3.0 - 2002 Edition     Mi ...

  7. 用.net 2003开发Windows CE应用,解决与pocket pc通讯的问题

    用.net 2003作Windows CE应用时,碰到一个问题.工程编译通过,但在部署到pocket pc时出现如下的错误: ------ 已启动部署: 项目: PDA, 配置: Debug Pock ...

  8. 【历史上的今天】4 月 19 日:摩尔定律被提出;微软发布 Pocket PC;第一个 FORTRAN 程序开始运行

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 4 月 19 日,在 1918 年的今天,克利福德·贝里(Clifford Berry)出生.他是世 ...

  9. Windows Mobile 5.0 SDK R2 for Pocket PC 安装错误解决方案

    Windows Mobile 5.0 SDK R2 for Pocket PC安装错误解决方案 错误: Error: Installation failed for component Windows ...

  10. 如何设置或配置pocket pc,才能让电脑ping通,实现虚拟设备和电脑在同一局域网内;

    如何设置或配置pocket pc,才能让电脑 ping 通,实现虚拟设备和电脑在同一局域网内:

最新文章

  1. 三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQL2005版本)
  2. mongo 改字段名_一日一技:修改MongoDB集合中的字段名
  3. Nature封面:脑机接口重大突破!意念手写字速度破纪录!
  4. job kettle 导出_kettle从hive2导出数据正常,但是用kettle manager启动就报错
  5. UA MATH571A 多元线性回归IV 广义线性模型
  6. JavaOne美国之行–走势篇
  7. 设置eclipse启动时使用的jdk
  8. 连续不等_第九讲 函数的连续性与函数的间断点
  9. Android--Facebook Login without LoginButton
  10. 不是吧!你还不懂DHT协议?
  11. 网络时间协议 --- 网络对时程序
  12. 【《系统集成项目管理工程师》必备100题】
  13. 第一章 嵌入式系统概述——ARM
  14. 巧用讯飞TTS进行文本合成语音(LINUX操作系统)
  15. Pandas 之DataFrame二维表基础操作及演示
  16. 简单正则^(?![^a-zA-Z]+$)(?!\D+$)[0-9a-zA-Z]{6,35}$
  17. sim7600ce 拨号上网测试_SIM7600CE应用程序调试流程
  18. Linuux-alsa-左右声道处理
  19. 【蓝桥系列】——十三届蓝桥杯PythonB组第五题E题蜂巢(AC代码)
  20. 【专题】莫比乌斯反演

热门文章

  1. 三创赛优秀作品_三创赛优秀作品.doc
  2. 注册一个域名需要多少钱_注册一个域名要多少钱?
  3. php怎么实现收藏夹功能,前端--收藏功能的实现
  4. 深入浅出了解AUTOSAR Adaptive平台
  5. c语言单片机实时闹钟,基于单片机的智能定时闹钟的设计
  6. linux-centos7解决视频无法看问题(安装Adobe flash player)
  7. The import com. cannot be resolved
  8. C++中的protected
  9. mac软件拖到dock,重启后显示问号?,的解决方法
  10. 【stm32单片机基础】按键状态机实现长按和短按