代码改变世界

随笔分类 - Windows CE

Windows Embedded CE 6.0 Internals (5) The Mechanism of API

2010-06-13 23:16 by 王克伟, 2462 阅读, 收藏, 编辑
摘要:引言一般的,我们在编写用户态程序(包括普通的应用程序、服务程序、用户态驱动、一些扩展插件)时,每当我们遇到一个不熟悉的API,我们就会打开开发文档,或者MSDN,查查每个参数是怎么填的。(我想你应该没把这些API给背下来了吧^^)我们在调试时发现执行到这些API时是跟不进去的,那么你想过它们是如何进入操作系统里面工作的吗?它们又是如何在操作系统里面工作的?比如文件系统的一个API:那么这系列文章就... 阅读全文

如何调查Windows Embedded CE上的Exception“凶手”(1)

2010-06-04 22:55 by 王克伟, 3910 阅读, 收藏, 编辑
摘要:傻了吧,又犯事了 不管是在Windows Desktop、Windows Embedded CE,还是Windows Mobile(Phone)上,不管你是开发人员、测试人员还是用户,相信对应用程序的Crash是相对熟悉了——那画面太美了。 如果你有Log输出窗口的话,跟这个画面一起你还会看到: 以及:现在要捉拿凶手,可是我是“傻瓜警探”(菜鸟程序员)啊,我不懂高级技巧啊,咋办啊? 操作系统技... 阅读全文

Silverlight 4/5以及Silverlight for Embedded的学习资源

2010-06-04 11:27 by 王克伟, 1746 阅读, 收藏, 编辑
摘要:Windows Embedded CE 6.0 R3上面的Silverlight for Embedded UI framework(我们使用C++在其下面开发)采用的是Silverlight 2的引擎,而Windows Embedded Compact 7上面的已经是Silverlight 3引擎了,不光增加了很多不错的Feature(比如我们就支持3D加速啦),其Performance也有进一... 阅读全文

An Introduction to ARM Assembly Language

2010-06-01 15:26 by 王克伟, 1320 阅读, 收藏, 编辑
摘要:Author: Jason Fuller Who is this document for? This document is intended for anyone who occasionally needs to debug compiled ARM code at the assembly language level.    Why would I want t... 阅读全文

记一次Windows Embedded CE应用程序崩溃的摸索

2010-05-17 18:55 by 王克伟, 2030 阅读, 收藏, 编辑
摘要:一次很难忘的Bug Fix,记录一下以便以后归纳总结一下。对于应用程序、系统关键进程Crash等Bug相信会比较让人头痛,这次就让我头疼了1个星期, 一方面因为代码规模较大,另一方面对这样的Bug没有什么经验。 Bug Description 打开一个Word文档,“另存为”操作时弹出“没有足够的内存保存文档”,并抛出异常:  解决过程初步定位到问题代码是: 传递到private\w... 阅读全文

推荐一本深入Windows Embedded CE的入门书

2010-05-07 21:51 by 王克伟, 2194 阅读, 收藏, 编辑
摘要:貌似标题有点矛盾,看完介绍应该发现并不矛盾了。 这本书叫《Windows Embedded CE 6.0 Fundamentals》,你也可以从这里看在线的。刚来微软时,马宁推荐了这本书给我,之前看... 阅读全文

Windows Embedded CE 6.0 Internals (4) The Mechanism of API

2010-03-23 16:55 by 王克伟, 2434 阅读, 收藏, 编辑
摘要:引言 在调用系统提供的(System call)或者自己实现的DLL文件(有导出函数)中的API时,我很好奇其中的机制,也就是:我们为什么能调用这些API? 另外,安全和效率总是矛盾的,那么CE如何保证这两者? 现在的CE是不是不堪一击,用户态进程无意的操作是否就能让系统Crash,或者几行Shellcode就能瓦解它的安全体系? 这个问题让我想起来前几天看到的新闻,关于Windows桌面操作... 阅读全文

iToday开源项目介绍

2010-03-15 11:50 by 王克伟, 5236 阅读, 收藏, 编辑
摘要:1.iToday是什么? 一个基于Windows Mobile的桌面程序。未来考虑是否主要基于Windows Embedded CE平台,因为Windows Phone 7不支持Native的C++开发(通过最近频繁的新闻得知)。 以下是目前实现了的效果图,你可以从http://itoday.codeplex.com/SourceControl/list/changesets下载36100版本... 阅读全文

关于iToday/UXLib开源项目的构思和设计

2010-02-08 21:59 by 王克伟, 3005 阅读, 收藏, 编辑
摘要:引言 最近iPad、iPhone等炒得沸沸扬扬,不知道你是否也心动了呢?我的意思不是买一台,而是从事嵌入式设备的界面开发!关注UX开发的新技术、新思想,并拿来实现自己的UX开发库。 好吧,我知道你有疑问,嵌入式界面开发是个好方向吗?它适合作为自己的发展方向吗?我建议你参考一下我的上一篇文章《谈谈嵌入式设备用户界面的未来》   这个开源项目的目的是什么? iToday以及UXLi... 阅读全文

如何开发绚丽、高效率的界面(Windows嵌入式系统)(四)

2009-12-24 21:14 by 王克伟, 5043 阅读, 收藏, 编辑
摘要:上一篇文章:如何开发绚丽、高效率的界面(Windows嵌入式系统)(三) 3.DirectDraw介绍 这一部分是对DirectDraw更深入一点的介绍,但是仍然是你做DirectDraw开发所必需知道的知识。 Device-Independent Bitmaps(设备无关位图) Windows Embedded CE and DirectX use the device-independe... 阅读全文

使用Silverlight for Embedded开发绚丽的界面(4)

2009-12-24 20:02 by 王克伟, 5726 阅读, 收藏, 编辑
摘要:在文章使用Silverlight for Embedded开发绚丽的界面(2)我介绍了如何通过subproject的方式开发SE应用程序,并在文章使用Silverlight for Embedded开发绚丽的界面(3)提供了AlchemySDK,让开发SE变的更方便。 这篇文章我继续翻译:http://geekswithblogs.net/WindowsEmbeddedCookbook/archi... 阅读全文

使用Silverlight for Embedded开发绚丽的界面(3)

2009-12-24 11:09 by 王克伟, 5481 阅读, 收藏, 编辑
摘要:上一篇文章在这里:使用Silverlight for Embedded开发绚丽的界面(2) 上一篇文章是介绍通过subproject的方式来开发SE应用程序,开发起来太麻烦。这篇文章我提供AlchemySDK作为上一篇文章的补充,该SDK是我基于CE 6.0试用版自己定制的,你可以用于学习和研究之目的,任何商业行为导致的责任自行承担。 从这里下载(2010.5.26注:因为博客空间不够,已经删... 阅读全文

使用Silverlight for Embedded开发绚丽的界面(2)

2009-12-23 13:42 by 王克伟, 6493 阅读, 收藏, 编辑
摘要:上一篇文章在这里:使用Silverlight for Embedded开发绚丽的界面(1) 5.Step by Step 为了偷懒,我只是简单翻译一下一个国外朋友的博客文章,文章不错,我只是在此基础上做一点补充,并提供带Embedded XAML Runtime引擎的SDK(下一篇文章),让你可以在这个SDK提供的模拟器上测试你编写的SE Application,这样你不需要每次都编译一下CE O... 阅读全文

使用Silverlight for Embedded开发绚丽的界面(1)

2009-12-22 16:18 by 王克伟, 9316 阅读, 收藏, 编辑
摘要:本文目标读者 这系列文章写给对使用Silverlight for Embedded(SE)在Windows嵌入式系统上开发绚丽界面感兴趣的朋友。要求读者有一定的Win32基础,C++基础,虽然SE是基于COM的,但是不需要你了解太多有关COM的知识,但是知道COM的原理会帮助你更好的理解SE,另外如果有接触过Silverlight/WPF会更好。 这里有一篇文章帮你从全局来了解SE:微软最新嵌... 阅读全文

如何开发绚丽、高效率的界面(Windows嵌入式系统)(三)

2009-11-30 22:12 by 王克伟, 6463 阅读, 收藏, 编辑
摘要:声明 上一篇文章:如何开发绚丽、高效率的界面(Windows嵌入式系统)(二) 我从硬件的基础知识介绍起,面较广,但是这些知识有助于更深入的掌握Graphics programming。下一篇文章介绍DirectDraw。   2.Windows系统下图形编程的相关基础知识 做Windows下的Graphics programming有哪些知识需要知道的呢?请看MSDN的说明: ... 阅读全文

我在Windows嵌入式系统上的一个绚丽用户界面开源项目(iToday)

2009-11-27 19:32 by 王克伟, 7175 阅读, 收藏, 编辑
摘要:前言 很少能看到国内手机开发商能够拿出一个优秀的手机用户界面,有也不是开源的。前一段时间朋友等待我的DirectDraw文章,我迟迟没有发布的原因其实是因为这个开源项目iToday。 iToday我会继续实现并改进,等到时机成熟我就把它正式发布为开源项目。 我的初衷是希望iToday的代码能够很好的运行在Windows Mobile和Windows Embedded CE平台上,编译过后只需... 阅读全文

我的Windows Embedded CE/Windows Mobile文章索引(不断更新)

2009-10-15 11:14 by 王克伟, 7728 阅读, 收藏, 编辑
摘要:嵌入式设备的用户界面是我的主要方向,如果你也感兴趣,一起研究吧。我的QQ:3423 67 776。基础入门系列从0开始Windows Mobile 开发 2009-05-20 一起来学习Windows Mobile 6.5 2009-06-07 Windows Mobile应用程序开发问题集锦 2009-06-14 Windows Mobile上的服务程序 2009-06-20 手机开发中Visual Studio以及相关工具的使用 2009-06-21 Windows Mobile控制面板程序 2009-06-22 Windows Mobile安装包制作 2009-06-22 你喜欢智能手机 阅读全文

如何开发绚丽、高效率的界面(Windows嵌入式系统)(二)

2009-10-11 17:07 by 王克伟, 9573 阅读, 收藏, 编辑
摘要:上篇文章中提到用户体验(UE),并且说到国内有专门去做UE的团队也很少。据我了解Microsoft、Nokia、Google等,还有国内的Baidu是有比较专业的UE团队。对于我们这样的普通团队、普通开发者来说,这样的经验实在太少了。而且普遍更认为UE是UI Designer的事情,与我们这样的Developer没有太多关系。 当然不是,UE远超过UI。很多因素造成了UE差,比如一份不正确的数据... 阅读全文

如何开发绚丽、高效率的界面(Windows嵌入式系统)(一)

2009-10-05 17:01 by 王克伟, 6816 阅读, 收藏, 编辑
摘要:这篇文章介绍在Windows Embedded CE/Windows Mobile等系统上开发高效的2D应用的技术。文章分为如下几个部分: 1.相关商用产品一览 2.Windows系统下图形编程的相关基础知识 3.DirectDraw简介 4.DirectDraw驱动开发 5.DirectDraw应用开发 6.一个推荐的入门Sample   1.相关商用产品一览 因为嵌... 阅读全文

Windows Embedded CE 6.0 Internals (3) Memory Continued

2009-08-31 22:44 by 王克伟, 3327 阅读, 收藏, 编辑
摘要:对我来说写一篇博客真的不容易,我是个十足的完美主义者,但是水平很一般,所以我会花上很多时间去修补文章。也许文章并不能让你满意,如果你有任何的建议,任何的,我都非常期待你能告诉我。这篇文章仍然是继续Windows Embedded CE Internals (2)内存部分。   从硬件视角看内存 从硬件上看,可作为内存的大体分为RAM、ROM、Nand/Nor Flash(兼具RAM... 阅读全文

微软最新嵌入式界面开发技术(Silverlight for Embedded)

2009-08-20 00:13 by 王克伟, 10611 阅读, 收藏, 编辑
摘要:前言 从微软的嵌入式 Roadmap 图可以看到,Cashmere 代号很可能是微软即将发布的 Windows Embedded CE (08年又被改名为 Windows Embedded Compact )的R3版本的代号,Chelan 代号很可能是2010年发布的Windows Embedded CE 7.0版本的代号。 自从前年R2版本的发布到现在,Windows Embedded CE... 阅读全文

Windows Embedded CE 6.0 Internals (2) Memory

2009-07-22 22:17 by 王克伟, 3329 阅读, 收藏, 编辑
摘要:这篇文章是继文章Windows Embedded CE 6.0 Internals (1)的。内存这块一直是让人头痛的东西,因为比较复杂,但是我们却需要经常与其打交道——内存泄漏、异常定位、程序优化等等。这篇文章以及后续的文章我试着能够刨根问底。 5.内存构架 内存的种类 1.Random Access Memory (RAM) Random access memory can be re... 阅读全文

Windows Embedded CE 6.0 Internals (1) Kernel Overview

2009-07-18 23:49 by 王克伟, 3449 阅读, 收藏, 编辑
摘要:最近在学习Windows Embedd CE 6.0和Windows桌面系统内部一些知识,这篇文章是对部分内核知识的整理和总结,跟各位博客园的朋友分享。Windows Embedded CE 6.0是非常优秀的嵌入式系统(不是做广告哦^^),对其内核的学习对我们开发、移植驱动和应用程序,对开发、移植嵌入式系统都非常有好处。最好的学习方式就是看源码啦,直接看源码有点困难,所以这篇文章就是帮你更好的看... 阅读全文

Windows Mobile上的服务程序

2009-06-20 12:33 by 王克伟, 4967 阅读, 收藏, 编辑
摘要:服务简介 几乎每一个操作系统都有一种在系统启动时刻启动进程的机制,这些进程提供了一些不依赖于任何用户交互式的服务。在Windows中,这样的进程称为服务。在桌面Windows系统中,服务程序由三个组件构成的:服务应用、服务控制程序(SCP)和服务控制管理器(SCM)。(以上参见《深入解析Windows操作系统》第四版第四章第二节。) 桌面系统的服务机制是非常复杂的,至少看的我现在还在晕。在嵌入... 阅读全文

从0开始Windows Mobile 开发

2009-05-20 22:09 by 王克伟, 34404 阅读, 收藏, 编辑
摘要:我从事Windows Mobile开发半年多了,这半年很努力,收获也很多。对于当初连Windows是基于消息机制都不知道的我来说,起点可以说是0。之所以写这篇文章,是想和大家分享我的经验,能够为那些初学者提供一些儿帮助。未来我工作和学习的重点将放在用户界面和多媒体开发上。欢迎和我交流,我的QQ是:3423 67 776。言归正传,先来看看微软在操作系统方面的产品,桌面操作系统大体的历程: MS-D... 阅读全文