炯's profileS JPhotosBlogListsMore ![]() | Help |
S J闪亮的瞬间 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
关注Windows Mobile和Windows Embedded
|
April 23 梦想开启未来 对话克瑞格•蒙迪下午1点,在学校东门坐这次大会的专车,来到位于紫竹桥附近的香格里拉,参加这次MSRA组织的“梦想开启未来 对话克瑞格·蒙迪”活动。一来,是来看看克瑞格·蒙迪的风采;二来,也是为了参与现场的颁奖,因为我们的iHomecare项目在这次微软挑战赛中获得了三等奖。 获奖信息可以参考西电微软技术俱乐部的blog: 微软精英大挑战2009全国总决赛结果公布,内容如下:
微软精英大挑战2009全国总决赛结果公布
2009年04月21日 星期二 01:26
此次参赛的所有项目均体现了较高的技术水平和优秀的创意,经过评委们认真激烈的评选,现将结果公布如下:
微软亚洲研究院高校关系部 活动在下午3点准时开始,首先由负责UR的宋罗兰副院长讲述MSRA和各个高校建立的密切关系,并且这次比赛的一等奖项目和二等奖项目进行了现场演示。然后就由克瑞格·蒙迪和洪小文为我们获奖队伍颁奖,我从洪小文院长的手中接过了这次比赛的奖杯,和偶像的一次握手,我自己显得有点紧张,觉得手心出汗。接下来就是活动的主要部分,克瑞格·蒙迪为我们描述微软在做的研究,以及给人类带来的改变。他现场演示了Surface、Tablet PC和超薄的一块类似于Phone的东西(类似纸质),还播放了一段段很有意义的视频,当然也包括MSRA做的一些研究。克瑞格·蒙迪演讲完以后,和许多在场学生进行交流,当然也是Q&A形式的,提问大概持续到5点,就结束了。 会后,凭借反馈表,每人领了一个笔记本包。个人对这次活动的总体感觉还不错,组织的也很到位,会场布置的也很好,关键是拿到了那座水晶奖杯,真的不错。我们俱乐部的同学还一起合影留念,结束了这次香格里拉之行。发一些活动的图片上来。
April 02 Apr.2009 Microsoft MVP 昨天收到了微软的邮件,授予我2009年度4月份的 Microsoft MVP 奖,成为全球3000位MVP中的一员,我的领域是Windows Mobile,在MVP China的名单上,可以找到我了。另外,发现我们北邮微软技术俱乐部(MSTC@BUPT)前主席刘新军是2007年4月、2005年4月和2004年1月这三届的MVP。
感谢cnblogs站长dudu和微软嵌入式专业社区嘿木的推荐,以及论坛朋友马丹和黄季东的支持。当然,还得由衷地感谢老茉这么长时间来对我的宽容、支持和鼓励。 MVP(Most Valuable Professional)的精神就是分享和帮助,以后的道路还很长,我会继续努力和加油的。 March 17 Live Mesh - Synchronizing life 推荐 自从微软去年提出Live Mesh,直到现在的试用,差不多也有一年的时间了。很多人持不同的看法,褒贬不一。存储和计算是Azure的主要特点之一:Anytao的这篇文章《[漫步云端,Azure Services Platform]第三回》讲述了在live mesh中部署sliverlight应用;《小议云计算和Live Mesh、网络存储》这篇文章描述了Live Mesh的存储,及其与DropBox的比较。就我的试用来说,觉得Live Mesh毕竟给我们带来了很多便利,但是还有相当大的潜力可以挖掘。 1. 设备界面 我把实验室电脑、自己电脑、windows mobile的手机和一个测试用的Pocket PC都添加进了live mesh之中,如下图1所示。这个是在登陆live mesh之后才出来的界面,需要windows live ID。我们点击其中任何一个就可以访问了。
图1:设备界面图 2. 在线桌面 我把live desktop称为在线桌面,它具有5G的空间。在任何地方,我们都可以在计算机上通过windows live ID登陆,并访问其中的文件。
图2:live desktop 3. Mesh工具条 在打开一个live mesh中的文件夹时,mesh工具条会出现在该文件夹的右边,它可以帮助我们邀请其他具有live ID的朋友管理这个文件夹;目前有谁在使用这个文件夹;该文件夹的操作记录;同步的设置。如下图3所示:
图3:Mesh工具条 4. Mesh提醒 通过Notifier,我们可以看到live mesh中最近的活动和状态,它位于屏幕右下角,鼠标悬浮在它上面时,会自动显示,在文件夹同步时,它会显示一个动画效果,如下图4所示:
图4:Mesh提醒 5. Mesh消息 在Mesh工具条、Mesh提醒和现在桌面中,我们都可以看到这个Mesh消息。它主要是显示live mesh中的具体活动和活动的时间,或者是某人加入mesh以及离开。如下图5所示:
图5:Mesh消息 6. Mesh Mobile 移动设备 Live mesh的特色之一,就是在windows mobile上进行访问。不过,与Myphone相比,它只能同步移动设备上的照片,从live mesh的广告片上就可以看到,小孩跳水的瞬间,从手机上拍下来之后,被他的亲友同步看到,甚至家里床头的数码相框。在移动设备上的界面如下图6所示:
图6:移动设备上的Mesh界面 将移动设备上的图片和live desktop同步以后,我们可以进行slideshow,如下图7所示:
图7:Desktop上的slideshow
参考链接: Live Mesh:https://www.mesh.com/ Anytao:《[漫步云端,Azure Services Platform]第三回》 以及Youtube上的视频 February 21 Windows Mobile用户午餐会纪实响应老葛.NET俱乐部的号召,本身也是一个Windows Mobile的使用者和开发者,周六早上起来,赶往这次活动的地点-西扬威胡同。 以前没有在这一带溜达过,七拐八拐的盘旋在老北京的胡同里,确实有点晕,花了一点时间,终于找到了“四合红庭私家菜”。签到,进门,发现院子不大,但是充满了老北京的味道,据说还是清朝最后一个王爷住过的地方。和老葛打了个招呼,同时也见到了上次活动时认识的王淼。进屋一看,好家伙,三桌人已经满了,个个都摆弄着手里的设备,有WM5的,也有WM6的;有HTC的,T-Mobile的,Cingular的,当然也有china mobile的;有QVGA的,也有VGA的……各式各样,眼花缭乱,应有尽有。 今天的另一个主题是Shihui001产品应用介绍,该软件由微软亚洲工程院和请客800联合开发。我到了之后,就把机子和工作人员的本子同步,下载了cab包,安装也很顺利就完成了。过了一会儿,人越来越多,院子里摆的三桌也快要挤满了。 活动开始,首先由老葛同志简单介绍了北京.NET俱乐部的情况,然后由钟卫介绍了club of net这个在线开发者SNS的情况(其实club of net和开心网、校内或者facebook等性质差不多,无非club of net是开发人员的SNS,也是专门为开发人员而做,源代码开放,在codeplex上可以下载)。之后,“山羊胡”张欣给我们简单介绍了一下目前比较热的Windows Azure与mobile之间的关系,由于时间的关系,讲得比较快。最后就是Shihui001这款软件的介绍,我们还填写了反馈表,据说最后还有1000块钱的手机充值卡大奖。 “四合红庭私家菜”的饭菜还是偏重于南方口味,比较清淡,有一点比较遗憾,就是吃到最后连有些菜的名字都不知道。饭桌上一群人聊技术,聊现状。要放在平时,哪有这样的,人家旁边的人肯定以为我们是疯子,吃饭还讨论这种的。 大家吃完,又坐了一会儿,相互留了一些联系方式,各自散了,正好离南锣鼓巷也不远,有的就去那里逛去了。这里给出几张活动时的图片。
February 09 与朋友分享你的位置-Google Maps with Latitude![]()
我们可以直接在设备浏览器上去Google Maps for Windows Mobile下载并安装其应用程序。首先,我尝试了使用WM5的模拟器,与PC同步以后,键入其网址,下载.cab安装包到设备本地,接着进行安装。安装后,运行程序,使用最新的latitude服务,键入我的google账户,如下图1所示:
图1:在Google Maps上登陆Google账户 作为测试,向我的另一个google账户发送邀请,在邮箱中打开该邮件,并点击接收请求以后,就可以和朋友分享你的位置了,如下图2所示:
图2:在Google Maps上显示的Google账户列表 假设Jiong Shi目前在Chicago,我就可以看到他的位置,甚至通过卫星图片来看他所处的周围地理环境,如下图3所示:
图3:在Google Maps上显示朋友的具体位置 记得去年的越狱(Prison Break)其中一个场景,那个国土安全局的Don为了方便追踪Michal等人,给他们每个人在脚踝上安了一个GPS接收器,只要Michal他们跑进大楼,Don就没有办法看到他们的位置了。因为Google Maps支持基站定位和GPS定位,所以,在GPS无法接收到信号地方,同样可以用基站来定位。当然,这样一来,我们不是没有秘密可言了嘛。其实在Google Maps上,可以选择detect your location,也可以选择hide your location,完全取决于你自己的意愿,如下图4所示:
图4:在Google Maps上显示具体位置的选项 在模拟器上试用了一下以后,我决定安装在真实设备上试试。将刚才下载过来的GoogleMaps_compressed.CAB文件从模拟器的My Documents目录中拷贝到我的真实设备上进行安装。他们应该对安装文件做了本地化处理,因为在我的WM5中文版系统上,安装的应用程序字体是繁体的。因为我的设备没有Phone功能,恰好有GPS,所以就打开GPS,并且设置好实际的COM端口,如下图5所示:
图5:在GPS中设定硬件参数 或者通过Google Maps的设置,如下图6所示:
图6:在Google Maps上设定GPS硬件参数 果然,GPS定位以后,就在屏幕上看到我的位置信息了,如下图7所示:
图7:在Google Maps上看到我的位置 还可以看到北京地图和天安门,如下图8所示:
图8:在Google Maps上看到的地图和卫星图 我的设备是通过电脑来连接网络的,所以使用的时候有点尴尬,要跑上窗台去定位GPS,然后回来连上ActiveSync下载地图数据。大家有Wifi或者Phone功能的话,就方便多了。不过我只是做测试,能够证实好用就OK了。
参考链接: Microsoft:Live Search Mobile January 16 老大闪婚 妈哥将赴美从08年9月初相识到圣诞节领证,老大以惊人的速度完成了这件人生大事。妈哥将于今天赴美,继续留学深造。一群05级无线网络实验室的成员聚会,共同庆祝。 除了一对新人和妈哥以外,到场的嘉宾有大飞、老于、小武、治哥、刘博、小伙、Jacky、亮哥和我(排名不分先后)。感谢中国移动、中金、中兴、审协、Sun、阿尔卡特朗讯、伊莱比特对此次活动的支持。 December 25 冬至吃饺子 圣诞吃蛋糕December 10 Windows Mobile上的无线网络接入点扫描 不用我多说,相信大家对于Wifi在手机上的重要性都有所认识。大家都希望能够在小巧的移动设备上实现高速移动互联网,和桌面PC的差距越小越好。
上个月,通信世界网抛出了一个“中国电信CDMA+Wi-Fi战略分析”的消息,称中国电信将在未来三年陆续投资800亿元资金用于升级、改造、优化CDMA网络,并采用CDMA + WLAN的组合方式,充分发挥CDMA与WLAN的组合优势,提供无缝的移动无线宽带上网服务,帮助中国电信迅速打开移动宽带市场。中国电信在南方21省做了大量Wi-Fi部署,计划到年底完成2.5万个热点覆盖。目前上海电信已经建设了3000个热点、广东电信建了1400个Wi-Fi热点、武汉电信覆盖了500个热点场地,浙江电信将于年底前建成8000个热点,江苏电信已在全省布设了8000余个热点。对于公众来说,无线宽带网络的应用为人们之间的沟通提供了多元化的渠道和方式,人们可以在家里、娱乐场所、酒店、机场、绿地、会议中心等地,随时随地的享受无处不在的网络接入服务,真正实现数字化生活。 目前,很多windows mobile设备上都有Wifi芯片,系统也自带了无线接入管理软件。但是,大家是否会觉得自带的软件用起来比较麻烦呢。第一,哪些AP是需要密码的,哪些是不需要密码就能够接入的,这些不知道。第二,AP的信号强度如何,这也无从考察。特别是我们来到一个新的地方,想找个免费的、信号强度比较打的AP,实现Web接入,如果用自带无线管理软件的话,总觉得有点麻烦。 今天在codeproject上发现了一个比较好用的Wifi AP扫描程序,称为:Wifi scanner + custom MFC controls。用它能够扫描当前的无线环境,发现周围的AP接入点,显示他们的名字、MAC地址、信号强度(RSSI)、Wifi信道以及是否需要密码等信息,相当的专业啊。 最初,作者是将该程序运行于Pocket PC 2003se上的,下载过来代码以后编译,顺利通过,我将程序down到HP rx3715上,运行没有问题,运行的效果如下图1所示:
图1:HP rx3715运行Wifi Scanner 但是目前好多设备都是window mobile 6.x的操作系统了,如何将它的目标平台转换到window mobile 6上来呢。具体方法如下: 1.单击”Configuration Manger”,如下图2所示。
图2:Configuration Manger 2.在Active solution platform中选择new,如下图3所示:
图3:Active solution platform 3.在弹出的窗口中,将new platform选择为windows mobile 6 professional sdk,如下图4所示:
图4:New platform 4.Build solution。会发现弹出如下图5所示的错误信息:
图5:编译错误信息 5.在Project->Properties中,选择Linker中的Command Line,在Additional Option中,将“machine:ARM”改为“machine:THUBM”。如下图6所示:
图6:修改相关配置参数 6.OK,Rebulid Solution,就可以顺利编译通过了。下载到Cingular8125(已经刷成WM6.0的OS了)上运行,效果如下图7所示:
图7:Cingular8125上的运行效果 在图中,大家可以发现有一个可用的AP,name为Dlink,使用6信道。 为大家调试方面,还是附上源代码吧,PeekPocket_src.zip,运行环境为:Visual Studio 2005+windows mobile Pocket PC 2003 SDK.如果需要改到WM6.0下运行,需要安装windows mobile 6 professional sdk。
Good Luck! November 28 如果冬天November 05 MSRA Innovation Day 2008今天下午,我们北京邮电大学微软俱乐部(MSTC@BUPT)一行15人,来到位于紫竹桥的香格里拉酒店,参加MSRA在这里举办的Innovation Day 2008。 这次研究院给我们展示了近40个项目,涵盖了互联网、多媒体、搜索技术、移动设备、虚拟现实、人机交互等多个领域。每一个展台前,至少会有一个该项目的成员给你做Demo,讲述原理和机制。这些项目成员来自各个不同的国家,有些甚至还是在校的学生。由于时间有限,我和几个比较感兴趣的项目的成员做了一些交流。 Relaxed Internet Video Exploration and Discovery。Kit Thambiratnam为我们介绍并演示了该项目。该项目的关键是Speech/audio-based content analysis,从Internet video中,进行语音识别,达到搜索效果,最后显示在television上,用Remote Control来控制。 Beep Beep。这个项目也是我看到的唯一一个在Windows Mobile做Demo的。Beep Beep是一个精准的声音测距系统,而且是纯软件的测距方案。在Demo中,用两个普通的手机可以在10m范围内达到2cm的测量精度。关于这个项目的详细情况,大家可以访问该project在MSRA上的主页。另外,他们根据Beep Beep的实现原理,实现了一个Throw2Share的应用场景,个人感觉,提供了一个比较不错的用户体验。
Engkoo。第一眼看上去,觉得没有什么亮点。后来仔细盘问,才发现其中奥妙。虽然也是Internet词典,但是Engkoo加入了按词性、搭配等检索语句、按分类对例句进行过滤(如口语、书面语、简单、高级)等功能,使得它和目前市面上的Internet词典又技高一筹。期待它的上线。 Deolife。地图人生。我们可以随身带一个GPS,将一天的轨迹存下来,然后将白天拍的照片一并上传到server,制作一天的经历。这是一种以GPS数据为中心的、基于电子地图的应用。 AutoCollage。一种先进的计算机视觉与图像处理软件,可以自动融合图片,制作拼图。作者给了我们做了一个演示,将很多张照片导入,然后根据设置,让软件帮你合成一张拼图,效果非常的棒。 期间,院长洪小文也进来参观了。另外,我们还碰到了来自北京航天航空大学和北京理工大学的MSTC朋友,最后三个学校的MSTCer们和MSRA的楷夫、湘雯这些高校关系Boss们合影留念,结束了这次Innovation之旅。 PS:拿了一本《Microsoft’s Dream Works》,回去看看。更多关于这次MSRA Innovation Day 2008的信息,大家可以看这个MSRA的链接。 November 03 A Windows Mobile GPS Application Sample – Using Fake GPSWindows Mobile 6.0 Emulator问世以前,很多和设备相关的功能在Emulator上就无法进行调试和验证,比如Phone、GPS和Bluetooth等等。Windows Mobile 6.0 Professional SDK中加入了不少亮点,其中就有Fake GPS和Cellular Emulator。今天我们就来学习一下如何利用Fake GPS以及Windows Mobile 6.0 Professional SDK自带的GPS Sample代码,在Windows Mobile 6.0 Professional Emulator上实现GPS接收功能。 1. Fake GPS的安装和设置 在”%Program Files%\Windows Mobile 6 SDK\Tools\GPS”下,有一个叫做FakeGPS.cab的文件,这个就是FakeGPS的安装文件。然后我们就把Emulator的share folder设置为该目录,然后在Emulator上打开”File Explore”,选择”Storage Card”,单击其中的FakeGPS.cab文件,进行安装。安装完成以后,我们打开”Programs”,里面就有”Fake GPS”这一项,单击它,将”Disable”改为”Enable”,点击”Done”。如下图1所示:这样就完成Fake GPS的安装和设置。
2.用托管代码实现GPS的接收 打开Windows Mobile 6 SDK Refresh – Samples目录,大家可以发现,里面有好多实例代码。其中GPS的代码包括native code和maneged code两种。具体如下图2所示: 在”%Program Files%\Windows Mobile 6 SDK\Samples\PocketPC\CS \GPS”下,然后打开工程” Gps.sln”。选择” Windows Mobile 6.0 Professional Emulator”进行调试。如下图3所示: 程序运行界面如下图4所示: 3. GPS数据文件 我们可以在”My Device\Programs\FakeGPS\GPSFiles”下,找到”FakeGPSData.txt”和”dixies.txt”文件,这些文件中所记录的数据,就是我们刚才在程序中GPS接收界面上显示的数据。
4.NEMA协议 ”FakeGPSData.txt”和”dixies.txt”中的数据所遵循的就是NEMA协议,这里我就不啰嗦了,大家google吧。
Good Luck! October 31 VS2008下使用托管代码控制Windows Mobile Device Emulators 在听黎波老师的Webcast-Visual Studio 2008 移动开发新体验时,听他提到过可以使用代码来控制Device Emulator。今天在msdn上看到了Jim Wilson写的” How To: Programmatically Control the Windows Mobile Device Emulators from .NET”一文,觉得很有必要和大家分享一下。
大家知道,device emulator在调试windows mobile应用程序的时候非常有用。Device Emulator Manager可以执行包括启动device emulator、保存device emulator状态、cradle(和Activesync进行同步)、关闭device emulator等功能。现在我们面临的challenge就是:必须通过Device Emulator Manager的UI,手动控制device emulator。这样就给测试自动化带来了困难。 Device Emulator Manager 和 Device Emulator 3.0是VS2008默认安装的部分,它们引入了Device Emulator Manager API,从而在一定程度上解决了上面的问题。Device Emulator Manager API提供了访问Device Emulator的编程接口,我们可以在desktop应用中调用Device Emulator Manager API,来执行和Device Emulator Manager同样的功能。 l The Device Emulator Manager API Device Emulator Manager API是通过组件对象模型(COM) In-Process库实现的,即在.NET托管代码中,使用Microsoft.DeviceEmulatorManager.Interop.9.0.dll提供接口。该dll文件位于”%Program Files%\Microsoft Device Emulator\1.0”下,使用API必须添加"Microsoft.DeviceEmulatorManager.Interop"命名空间。同时,为了使用P/F,我们最好加入"System.Runtime.InteropServices"。 l Controlling the Device Emulator 最常用的Device Emulator API就是IDeviceEmulatorManagerVMID接口。下表列出了该Interface的方法和描述。
l A Device Emulator Manager Wrapper 包装(Wrapper)这些API给.NET托管代码来用,可以为许多工程带来方便。示例工程提供的封装包括以下几个类,同时给出了描述:
恩,就啰嗦到这里吧。具体的代码大家可以直接去MSDN上下载,或者通过下面这个链接来获得:http://files.cnblogs.com/dearsj001/DEMAutomationWrapperExample.rar。 October 30 Bluehoo beta for Windows Mobilewindows mobile的MSDN Blog上,在PDC当天,发布了一个Bluehoo的应用程序。Bluehoo使用bluetooth来发现你附近的hoos,显示他们的信息,然后帮助你开始对话。在Bluehoo的下载中心,可以下载到Windows Mobile Phones和Java Phones的版本。 在网络和无线技术飞速发展的今天,network everything的目标在一天天地接近。 October 27 Power.org TodayOctober 13 Mouse Gestures on Windows Mobile
Windows Mobile设备屏幕比较小,设计合理的UI很重要。众所周知,在PC机上使用的软件,如遨游(Maxthon),是支持鼠标手势的。我觉得,这在很大程度上,丰富了用户的使用体验。可惜,在windows mobile设备上,我没有碰到过类似的体验。后来,Dopod S1出来了,它的touch flow让人眼前一亮,很炫很酷,很好很强大,我个人是这么认为的。再到后来,出来新的网页浏览器UCWEB,也支持鼠标手势,简化了很多触笔点击菜单的操作,极大地丰富了用户的使用感受。 说到这里,不得不说说Windows Mobile版本和触摸屏的关系。发展到Windows Mobile 6 以后,原来的Smartphone改为Windows Mobile 6 Standard,Pocket PC Phone改为Windows Mobile 6 Professional,Pocket PC改为Windows Mobile 6 Classic。这样,Windows Mobile 6细化了版本对终端的区分。从传统来看,Smartphone使用数字键盘操作、不具备触摸屏,而 Pocket PC Phone则是不具备键盘,依靠触摸屏来操作。但是,目前,越来越多的Pocket PC Phone开始具备了数字键盘甚至QWERTY键盘,摩托罗拉Q系列的Smartphone也开始配备QWERTY键盘。同时,很多厂商不仅生产 Pocket PC Phone手机,同时也生产Pocket PC,这也让很多用户难以区分两者之间的区别。 在Windows Mobile 6后,不具备触摸屏的Windows智能手机都会被称为“Standard”,而“Classic”则意味着这是不具备通话功能的掌上电脑,只有“Professional”版本的终端才是具备通话功能,并且支持触摸屏的智能手机。 扯远了,回归正题。那么,我们如何在Windows Mobile设备上实现鼠标手势(Mouse Gesture)呢?Fredrik Bornander在”Optimizing Screen Area using Mouse Gestures”中,给出了一个比较简单且容易实现的方法。 首先,在MouseDown事件中,建立一个空的List<Point>,用来存储以后的mouse path。然后,触笔的拖拽引发MouseMove事件,在这些事件中,记录mouse经过的每一个点,存到已经建立的List中。接下来就是检查List中的点,是否组成一个Gesture。当然,这些Gesture是预先定义好的。如果和其中的Gesture匹配,那么就发消息给listener,通知它已经找到。 具体的实例是一个jpg图片浏览器,显示某个文件夹下的jpg图片。由于Windows Mobile设备屏幕比较小,我们可以全屏显示图片,同时使用Mouse Gesture进行相应操作,如“显示下一张”、“显示上一张”、“显示preview”、“关闭preview”、“顺时针旋转”、“逆时针旋转”、“保存”和“退出”等等。 下载工程源代码的链接:http://files.cnblogs.com/dearsj001/MouseGestures.rar windows mobile professional 6.1模拟器上的演示视频: http://files.cnblogs.com/dearsj001/Video05.rar 使用visual studio 2008的朋友,可以直接打开工程。目前使用visual studio 2005的,可以找到Backup文件夹,里面是visual studio 2005的工程文件。 工程提供了.NET Compact Framework(Device) 和 .NET Framework(desktop)两个实例,Device下默认的图片文件夹是Storage Card,desktop下默认的图片文件夹是C:\Documents and Settings\Administrator\My Documents\My Pictures。 注意,使用中文版模拟器或者中文版机子的朋友,需要稍微修改一下代码,即需要将相关的路径名改为中文,如”Storage Card”改为”存储卡”。
参考文章:Fredrik Bornander-Optimizing Screen Area using Mouse Gestures 链接地址: http://www.codeproject.com/KB/mobile/MouseGestures.aspx October 11 Signature on Pocket PC
刷信用卡,需要签名;在银行交易,需要签名;领便当,需要签名;走在大街上,不小心碰上一个你的粉丝,拿着本子和笔,对了,你需要签名……签名是个人风格和特征的体现,同时,也可以起到安全的作用。 那么,在Pocket PC上,如何来实现签名呢?最简单的方法就是,将签名作为一个位图存放起来。要用的时候,再load进来。 参考RajeshNayak写的”Scratchpad/Signature Capture as BMP on Pocket PC”,我们可以发现,在Pocket PC上很容易实现最简单的签名。 首先,加入一个Signature panel;然后在Form的Load中,加入 cSignature = new Signature(); cSignature.Location = pnlSignature.Location; cSignature.Size = pnlSignature.Size; this.pnlSignature.Visible = false; this.Controls.Add(cSignature); 存储签名的图片可以使用:cSignature.Save(Path.Combine(AppPath, "CapturedPicture.bmp")); 改变画笔的颜色可以使用:cSignature.SetPenColor(Color.Blue); 加载保存的图片可以使用:cSignature.LoadImage(Path.Combine(AppPath,"PreviouslyCapturedPicture.bmp"));
提供的工程代码使用了windows mobile 6 professional SDK. 开发环境是Visual studio 2005 with SP1. 下载地址:http://files.cnblogs.com/dearsj001/SignatureCaptureWM6.rar
参考文章:RajeshNayak-”Scratchpad/Signature Capture as BMP on Pocket PC” 链接:http://www.codeproject.com/KB/mobile/Signature_Capture_PPC.aspx October 10 USB Storage启动EBox4300参考《eBox-4300 Windows Embedded CE 6.0 R2 JumpStart rev 3.5》中,EBox4300可以通过以下途径启动: • Internal IDE storage • CompactFlash • USB Floppy • USB storage • USB CD/DVD-ROM drive • Remote Network Boot using PXE EBox4300默认是从Internal IDE storage启动的。当然,我们也可以通过USB storage来启动。为什么要从USB storage来启动呢?我觉得吧,第一,优盘小巧方便。第二,优盘容量也大,我们可以将有些文件(如nk.bin)直接从优盘拷贝到EBox4300中。下面介绍从优盘启动的设置。 1. EBox4300启动后,按DEL按键,进入BIOS设置界面。 2. 在BIOS设置中,选择“Boot”选项。
3. 在“Boot”中选择“Boot Device Priority”。 4. 在“1st Boot Device”中,选择“USB: xxx”。“xxx”是根据你插入的USB设备而定的,我使用的是Kingston的data traveler,所以显示了“USB:Kingston DataT”
设置完成以后,在USB接口中插入准备好的优盘.
September 27 EBox4300 Dev StartEBOx4300是ICOP Technology Inc.出的一款针对WinCE学习的jumpstart kit, 同时也是imagine cup-embedded的指定硬件平台。下面简单介绍一下开发环境的安装和一个简单托管代码工程的调试。 一、开发环境安装和配置 1. Visual Studio 2005 2. Visual Studio 2005 SP1 3. Visual Studio 2005 SP1 update for Vista(如果是XP系统,就可以跳过这步) 4. Windows Embedded CE 6.0 Platform Builder 注意:由于EBox4300的CPU是x86结构的,所以安装Windows Embedded CE 6.0 Platform Builder时,必须选上x86。
5. Windows Embedded CE 6.0 SP1 6. Windows Embedded CE 6.0 R2 7. ICOP_eBox4300_60CS BSP 8. eBox4300_WINCE600_SDK 9. VS2005 CoreCon Component Installation CoreCon是VS2005和CE Devices建立连接的工具,用来下载程序进行调试,是非常重要的工具。 二、CE6.0 OS design 1. 新建一个platform builder for CE6.0类型的工程,在OS Design Wizard – Board Support Packages (BSPs) 中选择ICOP_eBox4300_60CS: x86
2. 在Design template中选择Industrial device模板
3. 在Design template Variant中选择internet application模板
4. 在Applications & Media里选中以下选项 l NET Compact Framework 2.0 l Internet Explorer 6.0 l Windows Media Audio/MP3 l Windows Media Player Application l Windows Media Player OCX l Windows Media Video/MPEG-4 Video
5. 在Networking & Communications 里使用默认设置
三、定制并且build OS 1. 在VS2005IDE中的View | Other Windows | Catalog Items 中, 添加或者删除相应的模块来完成OS定制. 确保以下选项: l Third Party | BSP | ICOP_eBox4300_60CS: x86 |Device Drivers |VIA CN/CX Display Driver l Third Party |BSP | ICOP_eBox4300_60CS: x86 |Device Drivers | VIA HD Audio Driver l Third Party |BSP | ICOP_eBox4300_60CS: x86 |Device Drivers | VIA UAM3059 Audio Driver l Third Party | ConMan_x86 Files Component l Core OS | CEBASE | Applications-End User | CAB File Installer/Uninstaller l Core OS | CEBASE | Core OS Services | USB Host Support | USB Storage Class Driver l Core OS | CEBASE | Applications and Services Development | .NET Compact Framework 2.0 l Core OS | CEBASE | Applications and Services Development | OS Dependencies for .NET Compact Framework 2.0 l Core OS | CEBASE | File Systems and Data Store | File System – Internal | RAM and ROM File System l Core OS | CEBASE | File Systems and Data Store | Registry Storage | Hive-based Registry
2. build配置. 打开Configuration Manager ,选择ICOP_eBox4300_60CS x86 Release (release版本占用比较小的空间).在Configure OS Design Project Properties – Build Options 中,确保选中Enable eboot space in memory 和Enable KITL. 由于开始我没有选择KTIL,结果在进行application写完,想要调试的时候,连接不上device了.
3. 在Configure OS Design Project Property – Environment Variables 中,加入环境变量如下: l IMGRAM512 =1; l PRJ_ENABLE_FSREGHIVE = 1; l PRJ_BOOTDEVICE_ATAPI=1; l PRJ_ENABLE_FSMOUNTASROOT = 1
4. 如果想要配置静态的IP地址,可以通过写注册表来实现. [HKEY_LOCAL_MACHINE"Comm"PCI"RTL81391"Parms"TcpIp] "EnableDHCP"=dword:0 "DefaultGateway"=multi_sz:"192.168.2.1" "UseZeroBroadcast"=dword:0 "IpAddress"=multi_sz:"192.168.2.232" "Subnetmask"=multi_sz:"255.255.255.0" OK,最后选择build solution.等待一段时间以后,可以在相应的路径下找到NK.bin的系统镜像文件.
四、连接EBox4300并运行OS 1. 在Target | Connectivity Options | Target Device Connectivity Options 中, 添加新设备EBox4300, 并且选择Ethernet方式下载和调试.
2. 启动EBox4300,可以看到如下启动选项: 1. Load nk.bin OS image from local storage 2. Load OS image from development station with DHCP service 3. Load OS image from development station with Static IP 192.168.2.232 4. Clean Boot (no commands) 由于我的电脑和EBox4300都在DHCP服务的同一个网段内,于是选择第二项开始. 3. 点击Target | Attach Device. 将OS镜像下载到EBox4300的RAM中运行.
4. 耐心等待一会儿, 就可以看到OS启动.
五、生成并安装Windows Embedded CE6.0 SDK 1. 在VS2005中, 选择Project | Add New SDK… ,输入SDK名字和生成路径, 例如eBox4300_WinCE600_SDK.msi.
2. 如果要用C#进行托管代码开发,就同时选中Development Languages 中的Native and Managed development support.
3. Build SDK. 然后安装生成的SDK.
六、简单的C# hello world实例工程 1. 在VS2005中,创建一个新的基于WinCE的Device application工程, 往Form中添加一个textbox和button控件. 2. 在button的点击事件中添加代码,使得textbox显示”hello world”.
3. Build solution.
七、连接EBox4300和VS2005 1. 在第一个OS的VS2005工程IDE中,点击Target | Target Control,在弹出的命令行中输入”gi proc”来查看EBox4300中运行的process.
2. 然后再输入”s ConmanClient2.exe” 和”s CMaccept.exe”来启动ConCore. 当然也可以在EBox4300中直接双击相应的.exe文件来启动这两个可执行程序.
3. 在第二个device application的VS2005工程IDE中,点击Tools | Options… ,在Device Tools下的Devices中,对eBox4300_WinCE600_SDK x86 Device 进行配置.在Configure TCP/IP Transport 中,输入EBox4300的IP地址.
查看IP可以用s ipconfig /d命令。
4. 点击Target | connect to device,选择eBox4300_WinCE600_SDK x86 Device,然后connect.如果配置没有问题的话,会提示连接成功.
八、Deploy application 在VS2005中,选择Debug | Start Debugging 来Deploy eBox2300_Demo.可以看到程序被下载到EBox2300上,并显示在界面上.
同时,在shell中可以看到demo的进程。
另外,还有一些remote tools可用,具体如下: Remote tools-File viewer
Remote tools-process viewer
Remote kernel tracker
September 09 Chrome sucks?Google Chrome前些天发布了试用版。下过来用了,觉得界面等挺舒服的。所以也就一直在用,不过今天看到cnblog上的一篇文章,着实流了一大堆汗。原文如下:
最近发现硬盘读写很频繁,用任务管理器仔细检查了一下进程,发现Chrome的磁盘I/O高的惊人,怀疑有什么猫腻,于是专门做了一下测试:用Chrome和IE分别打开百度,然后放置不动,任务管理器监视大约10分钟后结果如下:
Chrome的读写居然都达到了两三百兆字节,这时候仅仅是打开了一个百度静态页,资源和缓存应该都已读写完毕,但I/O还在不断增加,可以确定的是Chrome一定在做与浏览器无关的事情,干什么会占用这么高的I/O使用率呢, 这让人不得不联想到Chorme正在扫描硬盘,分析数据。 那么偷了东西,肯定得想办法运送回家吧。于是立即打开连接管理工具,事实证明了我的猜测是对的。
可以看到除了220.181.37.55为百度的Host,其他几个连接都连到了Google的主机上,尤其可疑的是最下面一个,使用了SSL加密,Google到底想要干什么,只是按照一贯风格收集用户隐私资料,还是另有企图,欢迎大家讨论。
September 03 凡人跟他的朋友们昨晚的Blue Beijing介绍了这张《凡人跟他的朋友们》,两个中年男人的音乐梦想。凡人还邀请了齐秦、刘若英、游鸿明、张宇和S.H.E.加入其作品当中。
凡人=莫凡+袁惟仁。本人对莫凡不熟,对于袁惟仁还谈得上有些了解,大学的时候,他写给那英的《征服》入选了亚洲十佳音乐创作人专辑,当然,个人认为,他本人唱得更加有味道一点。 或许是本人偏爱民谣的缘故,一把吉他,淡淡的歌声,真挚的情感,以至于对这样的音乐形式不离不弃。 专辑曲目:
01.凡人 - 赶路 02.凡人/齐秦 - 上海爱情故事 03.凡人 - 爱情信仰 04.凡人/刘若英 - 北京爱情故事 (12月3日 北京) 05.凡人 - 只为再见你一面 06.凡人/张宇 - 朋友别哭 07.凡人 - 勇敢一点 08.凡人/游鸿明 - 征服 09.凡人 - 杜鹃鸟的黄昏 10.凡人/S.H.E. - 离开我 August 28 人立方、Photosynth想必各位都知道水立方,“人立方”是个啥?MSRA做了这么一个关系搜索,估计对于八卦发烧友非常有用。
有兴趣的可以访问http://renlifang.msra.cn/,看看具体情况。 Microsoft Live Labs推出了一个Photosynth的网站,http://photosynth.net/about.aspx。 顾名思意,它与图像合成相关。可以将上传的照片按照一定的相似性来合成,一种类似于3D试体验,很酷! "Photosynth is a potent mixture of two independent breakthroughs: the ability to reconstruct the scene or object from a bunch of flat photographs, and the technology to bring that experience to virtually anyone over the Internet. "
August 18 Dream Spark你的mobile phone能做啥?
充气筒,烤面包机,刮胡刀,取暖器,心跳起搏器,抑或是自爆炸弹?有这么厉害?看看Jason Langridge的Blog上搞笑的SUMSING TURBO 3000 Demo吧,绝对让你喷饭!http://blogs.msdn.com/jasonlan/
如火如荼的VS 2008出来了许久,今天找到了面向学生的Expression Studio,教育网可以下。登陆注册的界面挺酷!
August 06 Summer Outing周末,作为外员,持绿卡和老茉所在的Nortel组一起,去了内蒙古outing。主要地点是希拉穆仁草原、昭君博物馆和绥远将军衙曙。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|