折腾~关于windows mobile模拟器和开发环境……

前几天去看了一下某智能手机论坛,看了下无限今日有没有些好皮肤出来,发现倒是有不少,兴致盎然的下了一个,这一下倒是导致我这两天折腾的一塌糊涂……

就这么对无限今日皮肤的开发感上了兴趣,特执拗,想干一件事就死心眼搞下去,今天下午旷课在这边折腾,唉,还困得要死……不断在网上找着各种资料,可是就是没有现成的启动WM6.1中文版240*400的,最崩溃的是最后发现其实msdn官网下载是有的!只是貌似还要装虚拟网卡驱动,在某站下载后发现是有问题的所以最终还是用了一个bin文件然后自己用命令行启动了下,但是还是存在问题的,就是分辨率的问题,我天!期间还下了WM的SDK,以后想看看能不能来点WM的开发……悲催的事情就是我先前装的VS2010不支持WM的开发,还得下个vs2008,所以我总结了这种事情是不能赶时髦的,人家MS是标准!

总之是各种折腾,但是收获是有的,先看下emulator启动的命令行参考吧:

DeviceEmulator os_image_file_name [/a] [/c] [/f [featurevalue]]    [/flash [flash_file_name]] [/h] [/hostkey keyname]    [/language LangID] [/memsize size] [/n [macaddress]]    [/nosecurityprompts] [/p [macaddress]] [/r ROM_address]    [/rotate angle] [/s save-state_file_name]    [/sharedfolder directoryname] [/skin skin_file_name] [/tooltips         state] [/u0 serialport] [/u1 serialport] [/u2 serialport]       [/video <width>x<height>x<bit depth>] [/vmid {GUID}]    [/vmname name] [/z]

各项参数说明:

 

os_image_file_name

指定仿真程序要使用的内核映像的路径和文件名称(*.bin 或 *.nb0)。

除非使用 /s 开关启动,否则为必需的参数。

开关说明

/a

即使没有焦点,也使仿真程序窗口始终保持在最前面。

/c

创建并显示一个控制台窗口以显示 Windows CE 调试串行端口的输出内容,用户键入的击键正是传送到此控制台。该技术对于从 Platform Builder 观察调试输出和下载内核映像非常有用。

/f [featurevalue]

启用其他 CPU 功能,其中的可选 featurevalue 是一个表示零个或多个功能值之和的十进制数。

当前所支持的功能包括“添加 LDRD/STRD 指令支持”(featurevalue = 1) 和“添加 DSP 指令支持”(featurevalue = 2)。

/flash [flash_file_name]

启用闪存仿真,其中的可选 flash_file_name 指定要用作闪存存储的文件的名称。

/h

为网络数据包设置仅主机路由。影响 CS8900 和 NE2000 网卡。

/hostkey keyname

指定主机键,其中的 keyname(区分大小写)可以是 NoneLeft-AltRight-Alt

/language LangID

指定 UI 语言,其中的 LangID 为四位数字的十进制数。

/memsize size

设置仿真的 RAM 大小,其中 size 以 MB 为单位。有效值为从 64 到 256(含)。如果未指定有效值,则 size 默认为 64。

/n [macaddress]

启用 CS8900 网络适配器,其中可选的 macaddress 是一个十二位数字的十六进制数,指定卡将绑定到哪个主机适配器。

/nosecurityprompts

当保存状态文件使用网络连接、串行端口和文件夹共享时,禁用启用它们的提示。

安全注意:

只要使用文件夹共享功能,就会带来潜在的安全风险。例如,对于包含保密或敏感信息的目录,请不要启用共享。

/p [macaddress]

启用 NE2000 PCMCIA 网络适配器,其中可选的 macaddress 是一个十二位数字的十六进制数,指定卡将绑定到哪个主机适配器。

/r ROM_address

指定 ROM 文件基址,其中 ROM_address 可以是十六进制数或十进制数。

/rotate angle

按度数顺时针旋转显示屏,其中 angle 可以是 0、90、180 或 270。允许使用其他整数值,但是要四舍五入到最接近于 90 的整数倍数的值。

/s filename

启用保存状态支持,其中 filename 是保存状态文件的名称。

安全注意:

使用来自不受信任来源的保存状态文件会导致安全风险。

注意 /s 开关的以下行为:

  • 如果指定了 ROM 映像文件名但没有 /s filename,仿真程序会从 ROM 映像冷启动,并禁用保存状态。
  • 如果指定了 ROM 映像文件名和 /s filename,则仿真程序从 ROM 映像冷启动,并在退出时启用保存状态,将状态保存到指定的文件名。
  • 如果没有指定任何 ROM 映像,则必须有 /s filename,仿真程序将从指定的保存状态文件还原。当该仿真程序退出时,它会将新状态保存到保存状态文件的最前面。

/sharedfolderdirectoryname

将一个目录作为共享文件夹装入,其中 directoryname 为 Windows 目录。该目录被作为来宾“Storage File”装入,就像是一个存储卡。

/skin skin_file_name

加载指定的外观文件。

/tooltips state

启用或禁用工具提示,其中 state 为 ONOFF

/u0 serialport

将来宾串行端口 0(仿真程序 COM1)映射到 Windows serialport。

/u1 serialport

将来宾串行端口 1(仿真程序 COM2)映射到 Windows serialport。

/u2 serialport

将来宾串行端口 2(仿真程序 COM3)映射到 Windows serialport。

/video <width>x<height>x<bit-depth>

指定 LCD 窗口的屏幕大小和位深度,其中 width、height 和 bit-depth 为十进制值。例如:640x480x16。

/vmid {GUID}

指定要与仿真程序当前实例关联的 VMID GUID。VMID GUID 通常不在独立方案中传递。

如果没有 {GUID},则会在不进行提示的情况下为该会话创建一个。

/vmname name

指定窗口标题。注意以下行为:

  • 如果没有 /vmid 开关,而有 /skin,则由外观提供窗口标题。
  • 如果 /vmid 和 /skin 都没有,则“设备仿真程序”作为窗口标题出现。

/z

将显示窗口(外观和 LCD 窗口)放大为正常大小的 2 倍。

还有emulator外观文件的xml架构:

<?xml version="1.0" encoding="ISO-8859-1"?>

<skin>
    <view
        titleBar ="My Emulator skin"
        displayPosX="10"
        displayPosY="149"
        displayWidth="272"
        displayHeight="224"
        displayDepth="8"
        mappingImage="map.bmp"
        normalImage="up.bmp"
        downImage="down.bmp"

        <button
            toolTip="This is my ToolTip."
            onClick="  DOWN:Key_LeftShift
                       Key_Z
                       0x00000015
                       UP: Key_LeftShift
                       Key_A"
            onPressAndHold="Key_B"
            mappingColor="0x00FF00"
        />
    </view>
</skin>

代码说明

<skin> 标记

封装仿真程序外观的架构。每个 .xml 文件中只能使用一个 <skin> 标记。

<view> 标记

包含仿真程序外观的架构。每个 <skin> 标记只能使用一个 <view>

titleBar ="My Emulator skin" 标题栏元素

指定仿真程序的窗口标题。

displayPosX="10"displayPosY="149" 元素

指定用来定位仿真程序外观窗口中包含仿真程序显示屏的窗口的位置。若要使该显示屏不可见,请选择屏幕范围以外的坐标。

displayWidth="272"displayHeight="224" 元素

指定仿真程序显示屏的宽度和高度。对于宽度,选择一个介于 80 和 1024 之间而且是 8 的倍数的整数。对于高度,选择一个介于 64 和 768 之间的整数。

displayDepth="8" 元素

指定仿真程序的显示屏的颜色深度。对于颜色深度,选择 8、16 或 32。

normalImage="up.bmp" 元素

指定仿真程序外观的标准图片文件,该元素是必需项。标准图片文件用于指定仿真程序窗口的大小,以及仿真程序外观的外貌。

mappingImage="map.bmp" 元素

指定仿真程序外观的映射文件。映射文件是一种可选文件,用于定义仿真程序外观中被按钮占用的区域。

downImage="down.bmp" 元素

为仿真程序外观指定按钮被按下时的图片文件。按下按钮时的图片文件是一种可选文件,用于指定在按下按钮时仿真程序外观上按钮的外貌。

<button> 标记

包含对仿真程序外观上某个按钮的说明。

mappingColor="0x00FF00" 元素

在映射文件中指定按钮要用的 RGB 颜色。映射图像中具有此颜色的所有像素都表示仿真程序外观中可以为此按钮单击的区域。此区域可以用作屏蔽。在按下该按钮时,通过该屏蔽将显示按下按钮时的图片文件。

toolTip="This is my ToolTip." 元素

可选。指定指针移动到按钮上方时显示的文本。

onClick=" DOWN:Key_LeftShift

Key_Z

0x00000015

UP: Key_LeftShift

Key_A"

可选。指定按下按钮时要传递给引擎的键盘按键操作。使用与原始键盘扫描代码对应的十六进制或整数值。

onPressAndHold="Key_B" 元素

指定在按下仿真程序外观上某个按钮的同时要重复的键盘事件。此功能支持所有的键代码,但 Shutdown 键代码除外。

 

哈哈就是这样了,不管怎样还是学到东西的,就是课程又落下了些,昨天晚上断电没写成这博客,今天中午不上,等下继续看我的计算机三级,唉,考证是个苦差事!

昨天一天的流水账是这样的,7点半起床,上午昏昏沉沉上了两节课,在课堂上看了会三级,吃完饭急匆匆回来继续折腾,中午去团委填了个助学金申请单,我也不是啥贪钱和乱花钱的人,想法就是为了给爸妈减轻点负担,下午一直在折腾,期间帮某高中同学拿下快递,5点多匆匆扒了口饭回来继续折腾,直到晚上才搞差不多吧,现在还是用的240*320的分辨率,不过总算知道了怎么用240*400的,其实用命令行去调总是有问题的,因为每个分辨率的os估计都是有区别的吧!装好Windows Mobile 6.5 Professional Developer Tool Kit (CHS).msi这样才有了6.5版WQVGA的屏,然后就可以了,要做开发的话,要有VS2008和Windows Mobile 6 Professional SDK Refresh.msi(如果需要6.0版本的中文模拟器,需要安装中文包:Windows Mobile 6 Professional Images (CHS).msi) ,然后装个ActiveSync做同步测试,里面有emulator和cellure的工具,就是这样!晚上9点半搞定后去看了一小时三级,回来和依米花聊天一个小时,so 开心,就是这样……继续去看三级~周末考试不解释!

发表评论

电子邮件地址不会被公开。 必填项已用*标注