Windows Mobile SDK例子浅析

来源:互联网 发布:宏编程鼠标怎么设置 编辑:程序博客网 时间:2024/05/26 12:02

 

SDK目录下提供了丰富的例子,开发中各方面的内容都有涉及,是开发者可充分利用的宝库。以windows mobile 5.0 Pocket PC SDK和Windows Mobile 5.0 Smarphone SDK为例,简单介绍一下其提供的例子。需要说明的是,两者中有部分例子是相同的。

注:本人以Windows Mobile6.0为例~

                                               

1.AXSample

示例演示创建一个Activex控件以及如何在web页中访问该控件。

 

2.DvorakSIP

示例演示如何基于Pocket PC创建一个SIP输入法。示例是一个实现了IInputMethod接口的COM组件。当用户选择输入面板开始点击按键时,将发生下列事件:1) 系统调用dll,它实现了IInputMethod接口;2) Select方法被调用来创建输入窗口;3) 系统调用GetInfo获取IMINFO结构的信息,包括尺寸和其他的上下文信息;4) 改变输入法面板的尺寸,可使用IIMCallback::SetImInfo,而系统调用ReceiveSipInfo来获取输入法尺寸、位置信息;5) RegisterCallback将被调用,赋给输入法一个IMCallBack接口的指针,这个接口通常用于给应用程序发送按键消息;6)示例给出了一个位置索引,当用户点击键盘时,会对应到一个键值;7)IICallBack:SendVirtualKey可发送虚拟键值,比如回车、空格、删除等,如果要发送字符串,则使用IICallBack::SendString;8)Deselect方法被调用来销毁窗口。

 

3.MiniPIE

示例演示如何在应用程序中使用IE Mobile Web browser。示例使用了ATL。

 

4.Piehelper

示例演示如何创建一个浏览帮助对象(BHO),使用BHO,可实现上网监控。

 

5.CmHelper

示例演示连接管理函数的用法。相关函数与接口:

ConnMgrEstablishConnection

ConnMgrConnectionStatus

ConnMgrReleaseConnection

ConnMgrMapURL

ConnMgrProviderMessage

 

6.Notifymfc

示例演示了 Pocket PC的通知提醒函数的能力和选项。相关函数与接口:

SHNotificationAdd

SHNotificationUpdate

SHNotificationRemove

 

7.AddContactPicture

示例演示如何选择联系人和图片,并显示联系人的主题卡片。相关函数与接口:

ChooseContact

GetOpenFileNameEx

POOM IItem接口

 

8.Autorun

示例演示当扩展卡插入或拔出设备时如何管理自动运行通知。

 

9.Basicapp

示例演示使用主要的Shell API来适配Windows Mobile OS。相关函数与接口:

RegisterClass

CreateWindow

 SetForegroundWindow

SHCreateMenuBar

SHInitDialog

SHGetUIMetrics

SHHandleWMActivate

SHHandleWMSettingChange

 SHLoadImageResource

WM_HIBERNATE

 

10.Bluetooth

简单的蓝牙设备扫描程序。例子提供的列表框只列出发现的蓝牙设备名称,但也会检索设备的地址,地址可用于更多设备信息的查询。相关函数与接口:

Winsock

WSALookupServiceBegin

WSALookupServiceNext

WSALookupServiceEnd

 

11.Browse

示例演示了如何使用HTML Viewer控件,包括使用DTM_NABIGATE消息来触发控件从URL地址下载和显示内容。

 

12.Bthchat

示例演示如何基于蓝牙无线技术在两台设备之间创建P2P通信。

 

13.Calendaranddtp

示例演示如何使用日历和日期时间选择器控件。

 

14.Calendarview

示例演示如何在约会中使用POOM IItem接口。

 

15.Callingcard

示例演示直接从联系人界面呼叫一个电话。相关函数与接口:

PhoneMakeCall

QueryContextMenu

 

16.Cameracapture

示例提供了基础的视频截取功能,视频被截取并编码为WMV文件,图片被截取并编码为jpg文件。相关函数与接口:

ICaptureGraphBUilder2

 

17.Cecamera

示例演示使用摄像头拍照或录制视频。相关函数与接口:

SHCameraCapture

 

18.Ceinvoke

示例通过服务端和客户端两种方式演示如何使用CEInvoke API。

 

19.CeDialer

示例演示TAPI(Microsoft Telephony API)的使用。相关函数与接口:

lineInitialize

lineNegotiateAPIVersion

lineGetDevCaps

lineDrop,

lineDeallocateCall,

lineClose

 

20.Extapi

示例演示了ExTAPI的一些功能。注意:应用程序要使用ExTAPI需授权。相关函数与接口:

lineNegotiateAPIVersion

lineGetDevCaps

lineGetGeneralInfo

lineInitializeE

 

21.Extapiasync

演示ExTAPI的一些异步功能。注意:应用程序要使用ExTAPI需授权。相关函数与接口:

lineNegotiateAPIVersion

lineGetDevCaps

lineGetGeneralInfo

lineInitializeEx

lineNegotiateExtVersion

lineGetOperatorStatus

lineOpen

lineClose

lineShutdown

 

22.HelloSMS

示例演示简单的短信发送。相关函数与接口:

SmsSendMessage

 

23.HelloTAPI

示例演示简单的TAPI拨号。相关函数与接口:

tapiRequestMakeCall

 

24.Wdp_sms

示例演示经由无线数据协议(WDP)收发数据。相关函数与接口:

WapOpen

WapSend

WapRead

WapClose

 

25.Cfgclient

示例演示DMProcessConfigXML的调用。相关函数与接口:

DMProcessConfigXML

 

26.Crossword

DPI(Dot Per Inch)认知程序。相关函数与接口:

ChangeDisplaySettingsEx

WM_SETTINGCHANGE

WM_SIZE

GetDeviceCaps

GetSystemMetrics

SHGetUIMetric

 

27.Ctxmenu

示例演示如何实现一个上下文菜单扩展处理器。相关函数与接口:

IContextMenu

 

28.Customform

示例演示如何截取和处理SMS/EMS,并且在收件箱程序实现了一个自定义阅读格式。

 

29.Deviceinfo

示例演示IRAPI接口的用法。相关函数与接口:

IRAPIDesktop

EnumDevices

IRAPIDevice

IRAPIDevice::GetConnectionInfo

IRAPIDevice::GetDeviceInfo

 

30.Directx

示例演示Directx在Mobile上的用法。

 

31.Dirtree

示例演示浏览文件系统,显示所有目录和文件的名称。相关函数与接口:

FindFirstFile

FindNextFile

Tree控件

 

32.Dynamenu

示例演示了一些使用菜单句柄的技巧。相关函数与接口:

SHGetSubMenu

SHSetSubMenu

CheckMenuRadioItem

CheckMenuItem

InsertMenu

DeleteMenu

 

33.Filechangenotify

示例演示如何监听文件系统的改变。相关函数与接口:

SHChangeNotifyRegister

SHChangeNotifyDeregister

 

34.Fileclient

示例演示接受push消息。

 

35.FileDRM

示例演示文件Drm函数的调。DRM(Digital Rights Management,内容数字版权加密保护技术)。相关函数与接口:

FileDrmIsDRM

FileDrmShowLicenseInfo

FileDrmVerifyRights

FileDrmCreateFile

FileDrmGetMetric

FileDrmCommitRights

 

36.Gapiapp ???

示例演示GAPI(游戏API)的用法。

Getdeviceid

示例演示GetDeviceUniqueID的使用。

 

37.Getphonenumber

示例获取电话号码。

 

38.Handlesip

示例演示如何使用一些SIP函数。

 

39.Htmlhose

示例演示HTML视图控件的使用。

 

40.Hwnavigation

示例演示了当用户使用导航键时,对话框中焦点的移动。相关函数与接口:

WM_GETDLGCODE

DrawFocusRectColor

LVS_EX_DISJOINTFOCUS

 

41.Imaging

示例演示使用imaging.dll加载和显示一副图片。相关函数与接口:

IImage

IImagingFactory

 

42.Inboxmenuextensibility

示例演示为收件箱的菜单添加新项。该示例是一个dll,可被收件箱加载以扩展特定的菜单。相关函数与接口:

IContextMenu接口

IObjectWithSite接口

IMAPIFolder::DeleteMessages

IMAPIFolder::CopyMessages

 

43.Ink2

示例演示richink控件对于rtf和txt数据的处理。相关函数与接口:

RichInk控件

 

44.Inky

示例演示RichInk控件的能力。相关函数与接口:

RichInk控件

 

45.ListView

示例演示使用ListView控件的一些技巧。相关函数与接口:

ListView控件

 

46.Mailset

使用IMsgStore::GetProps和IMsgStore::SetProps检索和设置消息存储。相关函数与接口:

IMAPISession

IMAPITable

IMsgStore::GetProps

IMsgStore::SetProps

 

47.MapiRule

实现一个MAPI Rule客户端,能够处理过滤新短信。相关函数与接口:

IMailRuleClient

IMailRuleClient::ProcessMessage

IMailRuleClient::Initialize

IMsgStore

IMsgStore::OpenEntry

IMessage

IMessage::GetProps

 

48.Medicalhistory

示例往联系人卡片添加菜单扩展项,允许添加医疗信息包括健康保险公司、血型、血压、过敏症状。相关函数与接口:
    POOM自定义属性

IPOutlookApp2接口

IItem接口

菜单扩展

IContextMenu接口

IObjectWithSite接口

 

49.Memwatcher

创建一个自定义今日屏幕项。相关函数与接口:

今日插件

 

50.Menu

示例演示添加、创建、插入菜单子项。

 

51.VisAdm

示例演示如何使用消息队列(MSMQ)。

 

52.Mybacklight

示例演示在PPC设备上创建一个简单的控制面板程序。相关函数与接口:

CPlApplet

 

53.Owneralistview ???

示例演示如何实现一个自绘的ListView控件以及如何使用不同的ListView通知事件。

 

54.Picturedialer

示例将电话号码和图片关联到网格中的数字,按下数字将拨打电话号码。

 

55.Pimexprovider

联系人和日历。

 

56.PoomMaster

演示使用POOM API。相关函数与接口:

IPOutlookApp

IPOutlookCollection

ITask

IContact

IAppointment

Listview控件

Datetime控件

 

57.Powermanager

示例演示电源管理API的使用。相关函数与接口:

RequestPowerNotifications

StopPowerNotifications

SetPowerRequirement

ReleasePowerRequirement

GetSystemPowerState

SetSystemPowerState

 

58.ProjectEnumeration

演示项目文档和文件操作的API。

 

59.PViewCE

设备进程查看器。相关函数与接口:

CreateToolhelp32Snapshot

 

60.Raip ???

PC端程序例子,用于ActiveSync与终端同步。

 

61.ReadViewMenuExt

使用默认的电子邮件账户回复邮件。相关函数与接口:

菜单扩展

IContextMenu

IObjectWithSite

MailComposeMessage

 

62.Regviewer

一个Pocket PC注册表查看程序。相关函数与接口:

RegOpenKeyEx

RegQueryInfoKey

RegEnumValue

RegEnumKey

 

对于不同分辨率终端在程序安装过程中资源图片的处理,示例给出了方案。

 

63.Resolve

示例演示如何将一个域名(类似www.microsoft.com)解析成IP地址,或者IP地址解析成域名。相关函数与接口:

gethostbyaddr

gethostbyname

 

64.Reversi

示例实现了掌上电脑黑白棋游戏。包括绘图,游戏逻辑和算法。

 

65.SendMail

演示一些CEMAP函数的用法。通过使用这些函数,程序可实现多联系人发送邮件。相关函数与接口:

MapiLogonEx

SRowSet

IMapiSession::GetMsgStoresTable

IMapiSession::OpenMsgStore

IMapiTable::QueryRows

IMsgStore::OpenEntry

IMsgStore::GetProps

IMapiFolder::CreateMessage

IMessage::SubmitMessage

MAPIFreeBuffer

FreeProws

 

66.Setupdll

在CAB包安装和写在过程中,用户可实现一些自定义操作,setupdll将起到此作用。

 

67.ShellApiDemo

演示了一些Shell API。比如,如何显示/隐藏任务栏、菜单和Sip按钮,以及SHInitDialog、SHCreatemenuBar的用法。相关函数与接口:

SHInitDialog

SHDoneButton

SHSetNavBarText

SHFullScreen

SHGetAutoRunPath

SHCreateMenuBar

SHEnableSoftkey

 

68.SocketApp

SocClient是一个Win32桌面组件,演示了使用套接字与Windows Mobile设备通信。第一步,应用程序使用IRAPI接口来获得通过ActiveSync连接的移动设备IP;第二步,它发送一个Hello字符串,并侦听设备返回。相关函数与接口:

IRAPIDesktop

EnumDevices

IRAPIDevice

IRAPIDevice::GetConnectionInfo

 

69.Spintest

示例演示自定义控件(SpinCube)的使用。

 

70.Syncmanager

演示ActiveSync API的用法。相关函数与接口:

ActiveSyncStart

ActiveSyncStop

IsCradled

IsSynchronizing

 

71.Tasktree

在tree视图显示任务对象,允许用户添加新的任务项。

 

72.Transportdemo

演示如何创建一个自定义的收件箱传输。此示例传输实际上并不使用任何协议同步电子邮件。它只是说明了如何构造一个收件箱的传输,通过该传输,开发人员可以实现其所需的协议。

 

73.TrayApp

演示如何在今日页面上放置一个图标,以及如何点击图标弹出一个对话框。相关函数与接口:

Shell_NotifyIcon

 

74.TrayTaskList

演示如何获取运行任务列表。相关函数与接口:

Shell_NotifyIcon

CreateToolhelp32Snapshot

Process32First

Process32Next

 

75.Tty

示例演示如何打开,配置和关闭串行通信端口,并执行读/写一个tty终端仿真应用操作。

 

76.Tv_inbox

实现一个新的邮件类别。相关函数与接口:

IFormProviderEx

IMailRuleClient

 

77.VirtualListView

ListView的使用。相关函数与接口:

ListView_SetItemCount

ListView_SetExtendedListViewStyle

ListView_GetExtendedListViewStyle

ListView_SetImageList

ListView_InsertColumn

 

78.Back

演示如何检测返回按键被按下以及如何与之交互。相关函数与接口:

SHCMBM_OVERRIDEKEY

SHNavigateBack

 

79.CloseWindow

演示如何销毁子窗口。

 

80.Cmtime

演示如何与服务器同步时间。相关函数与接口:

ConnMgrReleaseConnection

ConnMgrEnumDestinations

ConnMgrEstablishConnection

TCP sockets

 

81.Currency

演示如何把一个PPC程序转化为Smartphone程序。

 

82.HomeScreen

该示例实现了Home插件和自定义Home插件的布局。相关函数与接口:

IHomePlugin

IPersistStream

IHomePluginEnvironment

 

83.Menudemo

创建和操作软键菜单。相关函数与接口:

SHCreateMenuBar

SHMENUBARINFO

 

84.Muihello

一个hello world示例的MUI版本。MUI是一种单独发行的Windows版本的代号。它的正式名字叫Windows多语种版(Windows Multilanguage Version)。在这个版本的Windows中,用户可以自己设定Windows界面中使用的语言。

 

85.Phoneime

演示如何创建Smartphone上的IME输入法(Input Method Editor)。相关函数与接口:

SHImeSetCustomInputIcons

SHImeSetModeIcon

SHImeOnKeyPress

SHImeGetClearMessage

 

86.Simmgr

演示如何添加和删除SIM卡的电话号码项。相关函数与接口:

SimInitialize,

SimGetDevCaps,

SimDeinitialize,

SimReadPhonebookEntry

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机中的高德地图打不开怎么办 大晚上挂了别人的车怎么办 手机不兼容高版本微信怎么办 绝地求生右下角小地图变大了怎么办 杯孕当月做了C丁怎么办 玩全军出击手机发烫就出现卡怎么办 不小心买了彩虹六号肝帝版本怎么办 微信游戏刺激战场电脑卡怎么办 电脑更新了以前的东西都没了怎么办 安装黑苹果鼠标键盘不能用怎么办 苹果开机卡在白底黑苹果怎么办 信长之野望14没有剧情触发怎么办 玩cf手游手机屏幕摩擦力大怎么办 网吧有战地1没有橘子平台怎么办 俩人打仗了对方想讹我怎么办 环世界模组装多了打不开怎么办 手机百度云视频播放画面太小怎么办 ps文件说数据似乎已经损坏怎么办 百度云中的压缩包下载的很慢怎么办 游戏压缩出现未知错误或损坏怎么办 百度云里的压缩包解压后损坏怎么办 联创打印时显示压缩文件失败怎么办 电脑的软件打开出现未知格式怎么办 图片只突出人物边上全黑怎么办 合金机兵存档密码忘了怎么办 手机网页验证码无法加载插件怎么办 绝地求生次激战场机型不支持怎么办 木茷生存中文版安装包损坏了怎么办 手机下载软件显示安装包损坏怎么办 不小心把qq图片删了怎么办 奶水不足宝宝不好好吸奶怎么办 膀胱切除前列腺切除阴茎不硬怎么办 小孩的睾丸睾丸碰肿了怎么办 怎么判断小孩子的睾丸没下来怎么办 怀孕39周腰酸屁股酸疼该怎么办 我儿子18岁睾丸筋鼓起来怎么办 去医院检查说精子跑的慢怎么办 多囊卵巢综合症引起屁股增大怎么办 蚊子咬了肿了挠破了流水怎么办 血糖高引发的睾丸一直烂怎么办? 被洪水淹过的猪后期怎么办