转载windows mobile 6.5应用开发环境搭建

Windows Mobile 6.5开发环境搭建以及变化<iframe style=”position: absolute; top: 0px; left: 0px” id=”google_ads_frame1″ height=”90″ marginheight=”0″ src=”http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-7685635382855681&output=html&h=90&slotname=3565306459&w=728&lmt=1262774941&flash=10.0.32.18&url=http%3A%2F%2Fwww.itstrike.cn%2FHome%2FArticle%2FWindows-Mobile-6.5-development-environment-as-well-as-changes-in-structures&dt=1262774941028&correlator=1262774941028&frm=0&ga_vid=2036562937.1262774941&ga_sid=1262774941&ga_hid=2078566224&ga_fc=1&u_tz=480&u_his=0&u_java=1&u_h=768&u_w=1366&u_ah=768&u_aw=1366&u_cd=32&u_nplug=0&u_nmime=0&biw=1149&bih=645&ref=http%3A%2F%2Fweb.gougou.com%2Fsearch%3Fsearch%3Dwindows%2520mobile%25206.5%25E5%25BC%2580%25E5%258F%2591%26page%3D1%26id%3D10000001%26cf%3D&fu=0&ifi=1&dtd=210&xpc=ETRxSvvlla&p=http%3A//www.itstrike.cn” frameborder=”0″ width=”728″ allowtransparency=”allowtransparency” name=”google_ads_frame” marginwidth=”0″ scrolling=”no”> vote up 0 vote down star

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

→安装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版本320×240屏幕的模拟器,高亮的一项的是真机,当你需要在真机上调试时使用这项,可见6.5版本的开发工具包并没有带真机调试项:
clip_image002
—————————————————————————————————-

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

Today Plug-in

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

6.5版本改变的部分是:现在不允许把你自己编写的插件的Type设为5,当你设置为5的时候,系统会把你改回成4。
关于4和5在6.5以前版本差距还是很大的,请看我的笔记:
HKEY_LOCAL_MACHINESoftwareMicrosoftTodayItems下的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版本优化了这个问题。下图就是优化之后的当横竖屏切换时系统发送的消息截图:
clip_image002[1]
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]
—————————————————————————————————-

说到为什么使用蜂窝式菜单,记得我以前看过一篇文章有介绍^^,因为正六边形可以使触摸面积最大(相连的)。
image
“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:

<gesture.h>

<GesturePhysicsEngine.h>

<WindowAutoGesture.h>

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 SDKPocket PC folder. Samples that make use of these APIs are installed into the Windows Mobile 6.5 Developer Too
l KitSamples
folder.(在第3部分会详细介绍。)
—————————————————————————————————-

内核以及驱动开发部分没 有太多变化,因为它仍然是基于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

更多细节我将在以后的文章中介绍,如果您也能博客中补充更多的东西,将very kind of you^^

【转】PC端WM模拟器

PC端WM模拟器
技术 | 评论(3) | 浏览(29265)

微软近期发布了Device Emulator V3版本和WM6.1正式版本,于是下载安装后在Q群上到处骗人,看有些朋友颇感兴趣,并有尝鲜需求,特将相关文件上传到mofile网络空间,并在此做必要说明。

下载地址:http://pickup.mofile.com/8576713398965987

压缩包结构
由上到下依次是WM6中文Q与非Q,WM6.1英文Q与非Q,WM5Q与非Q

另外vs_emulatorV3.exe是模拟器安装程序,直接安装即可。
几个批处理分别启动相应的rom,可顾名思义,并按照自己需要修改。连接加载.bat是HOTTO老大的注册文件,如果模拟器安装后不能正常工作,可以尝试在模拟器所在目录C:Program FilesMicrosoft Device Emulator1.0执行这个文件。

大致解释一下批处理文件中命令的含义,大家可以据此修改。以WM6.BAT为例
cd “C:Program FilesMicrosoft Device Emulator1.0”
c:                                                                                                                   进入模拟器工作目录
DeviceEmulator.exe                                                                                         启动模拟器主程序
“E:MobileSmartphoneDeviceemulation�804SP_CHS_GSM_VR.bin”           要加载的镜像所在目录及名称名称
/memsize 256                                                                                                 设定“手机”的内存大小
/s “E:MobileSmartphoneDeviceemulation�804WM6.dess”                          设定保存手机状态的路径及文件名(这个很重要,不然“手机”一关所有的新装的软件都没有啦,只有保存了这个文件,下次就不用批处理启动了,只需要运行C:Program FilesMicrosoft Device Emulator1.0dvcemumanager.exe并打开这个文件就可以还原到上次退出的状态)
/skin “E:MobileSmartphoneDeviceemulationsmartphoneSmartPhone.xml 设定手机的外观文件

“手机”和电脑同步的设置,在手机已经启动的情况下,运行dvcemumanager.exe,打开设备仿真管理器,可以看到以一串数字命名的“手机”,在其上点击右键,选择插入底座即可。如果没有反应,请将ACTIVESYNC或者windows设备中心(vista)中的连接设置设为DMA连接

这样就和真实手机插入电脑的效果一样了,如果仅为尝鲜,建议不要同步,只选择“不设置设备就连接”即可,此时已经可以通过“手机”上网。

关于“存储卡”,在模拟器设置里叫做共享文件夹,大家找到后随便指定一个电脑上的目录即可,就不多说了。

下面给几张图,呵呵。有未尽问题请跟帖,我这人老爱忘事,不过您要是提出,我就能想起了

WM6.1正式版新增加的Getting Started功能,类似于VISTA欢迎中心,方便快速设置。

在WM6中让MSN联系人显示在桌面

微软近期发布了Device Emulator V3版本和WM6.1正式版本,于是下载安装后在Q群上到处骗人,看有些朋友颇感兴趣,并有尝鲜需求,特将相关文件上传到mofile网络空间,并在此做必要说明。

下载地址:http://pickup.mofile.com/8576713398965987

压缩包结构
由上到下依次是WM6中文Q与非Q,WM6.1英文Q与非Q,WM5Q与非Q

另外vs_emulatorV3.exe是模拟器安装程序,直接安装即可。
几个批处理分别启动相应的rom,可顾名思义,并按照自己需要修改。连接加载.bat是HOTTO老大的注册文件,如果模拟器安装后不能正常工作,可以尝试在模拟器所在目录C:Program FilesMicrosoft Device Emulator1.0执行这个文件。

大致解释一下批处理文件中命令的含义,大家可以据此修改。以WM6.BAT为例
cd “C:Program FilesMicrosoft Device Emulator1.0”
c:                                                                                                                   进入模拟器工作目录
DeviceEmulator.exe                                                                                         启动模拟器主程序
“E:MobileSmartphoneDeviceemulation�804SP_CHS_GSM_VR.bin”           要加载的镜像所在目录及名称名称
/memsize 256                                                                                                 设定“手机”的内存大小
/s “E:MobileSmartphoneDeviceemulation�804WM6.dess”                          设定保存手机状态的路径及文件名(这个很重要,不然“手机”一关所有的新装的软件都没有啦,只有保存了这个文件,下次就不用批处理启动了,只需要运行C:Program FilesMicrosoft Device Emulator1.0dvcemumanager.exe并打开