Windows Mobile 6.5开发环境搭建以及变化

移动开发
本文将介绍Windows Mobile 6.5开发环境搭建以及变化,虽然微软发布了Windows Phone 7操作系统,但是Windows Mobile 6.5系统仍然有很大的市场占有量,对开发者来说同样很重要。

搭建开发环境,按照以下顺序安装。

◆安装Visual Studio 2008(我安装的试用的Team Suite版:VS2008TeamSuite90DayTrialCHSX1429243.iso)

◆安装Microsoft ActiveSync 4.5.msi

◆安装Windows Mobile 6 Professional SDK Refresh.msi(如果需要6.0版本的中文模拟器,需要安装中文包:Windows Mobile 6 Professional Images (CHS).msi)

◆安装Windows Mobile 6.5 Professional Developer Tool Kit (CHS).msi

如下图,第一项QVGA即是6.5版本320x240屏幕的模拟器,高亮的一项的是真机,当你需要在真机上调试时使用这项,可见6.5版本的开发工具包并没有带真机调试项:

模拟器

2.让我们来看下Windows Mobile 6.5 Professional在开发方面的变化。

Today Plug-in

你为6.5以前版本编写的今日插件,仍然可以在6.5版本使用,6.5的策略让默认方案与其它子项互斥,当你选中自己的插件时,默认方案前面的勾将自动去掉。右下图显示的即是默认方案。

默认方案

默认方案

6.5版本改变的部分是:现在不允许把你自己编写的插件的Type设为5,当你设置为5的时候,系统会把你改回成4。

关于4和5在6.5以前版本差距还是很大的,请看我的笔记:

HKEY_LOCAL_MACHINE\Software\Microsoft\Today\Items下的Type为DWORD类型。

If the value of Type is 4, a custom plug-in is added to the Today Screen.

If the value of Type is 5, the plug-in is a custom pinned plug-in.

我自己编写的插件设置为5的时候就解决了横竖屏切换太慢问题,慢的原因是Type为4的插件,每次横竖屏切换,系统都会发送4次WM_PAINT消息!微软在6.5版本优化了这个问题。下图就是优化之后的当横竖屏切换时系统发送的消息截图:

横竖屏切换

Type另外还有以下值:

If the value of Type is 0, it indicates a reserved plug-in that displays the device owner information is added to the Today Screen.

If the value of Type is 1, it indicates a reserved plug-in that displays the Appointments is added to the Today Screen.

If the value of Type is 2, it indicates a reserved plug-in that displays the Mail is added to the Today Screen.

If the value of Type is 3, it indicates a reserved plug-in that displays the Tasks is added to the Today Screen.

If the value of Type is 6, the plug-in is a custom permanent pinned plug-in.

clip_image002[8]

说到为什么使用蜂窝式菜单,记得我以前看过一篇文章有介绍,因为正六边形可以使触摸面积最大(相连的)。

蜂窝式菜单

  “A grid is the most efficient method to pack as many squares into an area as possible, but not for circles. The mathematically most efficient method to arrange non-overlapping circles - a problem called “sphere packing” - is actually and as you might have guessed by now, hexagonal. ”

Windows下面并不能实现真正的窗口透明,目前我们开发的应用程序都是采用将下一个窗口的DC先在当前窗口绘制一遍,实现透明按钮也是这个道理,其实都是伪透明,那么任何实现真正透明的窗口?这个问题我的继续思考,不知读者您能否解答^^

Gesture(手势) APIs

A new set of APIs is being introduced that will enable application developers to take advantage of the new Windows Mobile 6.5 touch gesture framework. The gesture APIs allow an application to handle touch gesture input and provide a visually consistent experience with the rest of the device UI.

The APIs are defined in the following header files:

Note that the gesture APIs are only available on the Windows Mobile Classic and Professional SKUs. The headers and libraries are installed in the Windows Mobile SDK\Pocket PC\ folder. Samples that make use of these APIs are installed into the Windows Mobile 6.5 Developer Tool Kit\Samples\ folder.

 

内核以及驱动开发部分没 有太多变化,因为它仍然是基于Windows CE 5.x系统。当Windows Mobile 7.0推出时,因为是基于Windows CE 6.0系统,所以驱动编写也将发生大的变化。Windows CE发生的两次大的内核变化,一次是Windows CE 3.0,一次就是现在的Windows CE 6.0。下面讨论的是Windows Mobile 6.5带来的部分新功能。

3.Windows Mobile 6.5 Developer Tool Kit自带的Samples,全部都是介绍Gesture的使用。

第一个例子

Code Sample Name: Gesture Metrics Sample

Feature Area: Touch

Description:

This sample demonstrates how to use the Gesture APIs. More specifically, it

demonstrates:

- use of RKGetGestureMetrics

- handling WM_GESTURE GID_HOLD, GID_SELECT and GID_DOUBLESELECT messages

This sample was designed to show how to use RKGetGestureMetrics and interpret

its results.

This example also shows how to handle GID_HOLD, GID_SELECT and GID_DOUBLESELECT

messages.

Relevant APIs/Associated Help Topics:

RKGetGestureMetrics

RKGetGestureInfo

GESTUREMETRICS

WM_GESTURE

第二个例子

Code Sample Name: Code Sample Name: Physics Engine Sample

Feature Area: Touch

Description:

This sample demonstrates how to use the Gesture APIs. More specifically, it

demonstrates:

- use of Physics Engine

- handling WM_GESTURE GID_PAN, GID_SCROLL and GID_END

This example shows how to handle gesture scrolling and how to properly use

Physics Engine.

Relevant APIs/Associated Help Topics:

RKCreatePhysicsEngine

RKQueryPhysicsEngine

RKDestroyPhysicsEngine

RKGetGestureInfo

PHYSICSENGINESTATE

PHYSICSENGINEINIT

WM_GESTURE

第三个例子

Code Sample Name: WAG Sample

Feature Area: Touch

Description:

This sample demonstrates how to use the Gesture APIs. More specifically, it

demonstrates:

- use of Window Auto Gesture API

This example shows how to handle gesture scrolling using Window Auto Gesture API.

Relevant APIs/Associated Help Topics:

RKSetWindowAutoGesture

RKGetAnimateMessageInfo

WAGINFO

ANIMATEMESSAGEINFO

【编辑推荐】

  1. Windows Mobile 6.5 Widgets开发初体验
  2. Windows Mobile 6.5定于10月6日发布
  3. 微软发布Windows Mobile 6.5开发工具包
  4. Windows Mobile 6.5:新主题、新插件、新个性
责任编辑:佚名 来源: googleads
相关推荐

2010-05-23 10:29:29

Widget开发

2009-06-23 10:06:03

2011-09-08 10:04:07

Windows MobWidget

2009-05-18 09:06:37

微软WMWindows Mob

2009-05-19 10:44:23

微软Windows mob移动OS

2011-04-25 17:17:55

Gesture APIWindows Mob

2012-02-09 17:07:50

Titanium MoTitaniumWindows 7

2009-06-04 14:18:44

Windows Mob工具包

2009-06-01 08:48:44

微软Windows Mob移动OS

2009-04-28 09:47:44

WM6.5Windows Mob智能手机

2009-03-12 08:34:54

2010-03-26 09:13:00

Windows Mob系统更新

2009-02-17 10:41:38

Windows Mob操作高清照片

2010-02-02 17:04:38

Windows MobWindows Mob下载

2009-02-17 09:54:34

2011-09-08 10:18:09

Windows MobWidgets

2011-06-07 11:35:38

Windows Pho

2013-07-31 12:50:39

搭建Windows PWindows Pho

2009-02-22 09:04:51

WM 6.5SoftKey改进

2009-04-20 08:43:49

Windows Mob微软移动OS
点赞
收藏

51CTO技术栈公众号