Hu’s Blog

Just a blog

Archive for January, 2008

Windows CE 程序设计(3rd)-第10章 模块、进程和线程-10.0 概述

Monday, January 14th, 2008

//————————————————————————-
// 标题:Windows CE 程序设计(3rd)-第10章 模块、进程和线程-10.0 概述
// 作者:Douglas Boling
// 译者:Zhanghu.org
// 更新时间:2008/01/14
//————————————————————————-

第10章 模块、进程和线程

10.0 概述

与 Windows XP类似,Windows CE 是一个完全的多任务和多线程的操作系统。这是什么意思呢?在本章中我将先讲解几个定义,然后再给出一些解释来回答这个问题。

包含可执行代码的Win32文件被称作“模块”(modules)。Windows CE 支持两种类型的模块:以EXE为后缀的应用程序,和以DLL为后缀的动态链接库。当Windows CE 加载了一个应用程序模块,那么它就创建了一个进程。

“进程”(process)是应用程序的单个实例。如果 Microsoft Pocket Word 的两个副本都在运行,那么就是两个独立的进程在运行。正如我在第七章中所讲的,每个进程都有自己的受保护的32MB地址空间。Windows CE 强制规定在任意时刻运行的进程不能超过32个。

每个进程至少有一个“线程”,线程在进程中执行代码。一个进程能有多个线程“在同一时刻”运行。事实上,我把“在同一时刻”用引号引起来是因为在瞬时只有一个线程在执行,操作系统通过在线程之间快速切换(交替地停止一个线程并切换到另一个线程)来模拟线程的并行执行。

《Windows CE 程序设计》第三版的翻译

Monday, January 14th, 2008

《Windows CE 程序设计》由于国内没有引进第三版,只好看英文的电子版,边看边做笔记,以便使用,不过觉得也比较麻烦,还是完整翻译比较好

网上有牛人在翻译,贴到了第五章,不过最近停止更新了

我手头有第一版的中文pdf电子书和第三版的英文chm电子书,对照着来吧。我很自私,自己看到那一部分就贴哪部分,而且也没什么进度安排哦。

不确定的,就把整个英文段落贴上来好了,读者自己判断好坏

哎,听说第四版都已经出来了

Windows CE 的多语言支持 MUI(Multilingual User Interface)

Tuesday, January 8th, 2008

Windows CE 提供了 MUI(Multilingual User Interface),用于开发多语言系统和程序

详细见 Wince帮助
Windows CE Features\International\Multilingual User Interface(MUI)

系统方面
———
PB 中创建一个工程后,菜单 Platform -> Settings,选择需要的 Locale 和 语言,
并设置默认语言,要注意的是,如果选择了东亚语言,需要把东亚语言设置为默认。

在 Catalog 窗口添加MUI、相关字体、输入法等等

sysgen 后,Open Release Directory,执行 createmui 0409 (创建英语语言的资源文
件,默认不是英语的情况下)。打开文件生成目录Emulator_X86Release,复制 multiui.bib 中的所有内容到 common.bib 的最后。然后,Make Run-Time Image

最后下载到模拟器中,记得在 Target Device Connectivity Options  中取消选中
Clear memory on soft reset。这样语言才能切换。

模拟器中wince起来以后,在控制面板的区域设置中设置语言和Locale,也可以自己调
用API,如下:

1
2
3
4
5
unsigned short SLANGID = MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED);
SetUserDefaultLCID(SLANGID);
SetSystemDefaultLCID(SLANGID);
SetUserDefaultUILanguage(SLANGID);
PostMessage(HWND_BROADCAST, WM_WININICHANGE,0, INI_INTL);
1
// EnumUILanguages 列出系统支持的语言

最后 Soft reset,系统界面的语言就改变了

应用程序方面
————
创建一个应用程序工程,把自带的资源改成中文,生成 Myapp.exe

创建一个dll工程,纯资源的。setting里link 选项加上 /NOENTRY,编译出dll文件,
改名为 Myapp.exe.0409.mui(以美国英语为例),放在myapp.exe同目录下。

这样就OK了,假设系统默认语言是中文,按前面的方法切换系统Locale和语言为英语
,soft reset后,Myapp.exe会变成英语界面,如果 Myapp.exe.0409.mui不存在,依然为中
文界面。

其他
—-
MUI的缺点是要重启程序才能改变界面,因为要重新加载资源

Soft reset 模拟器是可以,具体设备不知是否支持

Windows Mobile 开发相关资源的两篇文章

Tuesday, January 8th, 2008

菜鸟就是特喜欢这些总结性的文章啊

Windows Mobile 开发工具和资源

http://www.cnblogs.com/upto/archive/2007/03/13/mobile-development-tools.html

Windows Mobile开发资源介绍

http://blog.csdn.net/aawolf/archive/2008/01/07/2029246.aspx

2007 过去了

Saturday, January 5th, 2008

fqyy翻翻 去年的总结

2006年,完成大学最后几门课程,结束我的大学生活
2006年,找到一份还算满意的工作
2006年,住在一个草窝,期望中的独居生活并没有到来
2006年,去了几趟上海,第一次去有乡下人进城的感觉
2006年,自己没有多大的改变,只是尽量表现得成熟一点
2006年,经常性的迷茫,却搞不清思考的是些什么,是价值观么?

2007年,调整工作状态,别碌碌无为
2007年,既然决定搞开发,就得多看书,多学东西
2007年,找个好住处,搬家,吃好喝好睡好 

07的目标基本实现,工作开始渐渐上手,学习也在跟进、住处么,已经改善很多

2007 都做了什么

搬了一次家

买了一个黑莓手机,捣鼓了一段时间

出去旅游了几次,四明山、桃花岛

九月开始购买基金,因为太晚,07年度收益率为 -0.46%,汗

认识了MM

2008 年要做什么

工作

老哥说我需要一个飞跃,是的,我一直都需要一个飞跃

不过还是先静下心来积累点实力吧

生活

MM是个好姑娘, 要学着好好生活,学会照顾人

身体

07年的锻炼没坚持下来,导致平时精力不够充沛。坚持!

CBitmap 与 HBITMAP 之间的转换

Thursday, January 3rd, 2008

HBITMAP   —>   CBitmap:  
  CBitmap   FromHandle(   HBITMAP   hBitmap   )     
    

CBitmap   —>   HBITMAP  
  HBITMAP(   CBitmap   )